00.打造灵活高效的粒子系统——译序

好久没写博客了,好怀念!试用了下wordpress就决定从PJBlog换过去,因为wordpress用起来真心方便,虽然PJBlog曾经很牛逼,而且我从08年底就开始用它,至今已经6年了,有很多不舍,但是这几年PJBlog一直没什么动静,慢慢的就被woedpress超越了,现在两者相比就像是诺基亚和iphone的区别。还在使用PJBlog的朋友,不要犹豫了,果断换吧,谁用谁知道。

马上就30岁了,我觉得以后还是多写点东西,先从翻译开始吧。前阵子出于个人兴趣做了个cocod2dx的3D扩展,因为我觉得做2.5D游戏cocos比unity3d更合适。但是cocos缺少一个强大的特效系统,因此做完3D扩展我曾考虑做一套,其中很重要的一部分就是粒子系统。当时想的比较复杂,把效率放在了第一位,甚至加载解析只需要一次memcpy就完成了,接口几乎回归纯C,后来觉得有点过度设计,就没有实现出来。最近看了这个系列的文章,觉得设计的很好,有很多可以借鉴的地方,深有感触,忍不住就翻译过来了,当然是经过原作者同意的。

说起粒子系统我了解最深的是ParticleUniverse,火炬之光的效果那是有目共睹的。但是我觉得PU不是很好的选择,因为太庞大了,所有的组件(发射器,影响器,渲染器)加起来接近100个,对于美术人员来说很难上手。我发现国内的美术人员喜欢路径、关键帧和贴图动画这三样东西。对于粒子系统这种路径居然是计算出来的,实在太难理解了,他们希望粒子按指定的路径移动;同样,一个爆炸效果爆到什么程度,最好能有关键帧来控制;还有程序员最讨厌的贴图动画也是不能少的。因此让美术人员完全掌握PU太困难了,对于一般的美术人员,使用PU从0开始到可熟练制作各种特效,大概需要一年时间,这还是在指导充分的情况下。

其他的听说过但没仔细研究的,比如PopcornFX看起来很强大的粒子系统,支持很多平台,有Ogre,Unity3D的插件。Magic Particles也是用的比较广泛的粒子系统,2D/3D都支持,看官网的介绍2D游戏用的多些,编辑器自带的几个示例真心是程序员做的,毫无美感,但并不影响编辑器的逼格。

以我有限的视野来看,天龙那套粒子是比较合适的。因为所有的组件加起来也就十来个,学习成本很低,而且有现成的编辑器,另外有天龙、成吉思汗、鹿鼎记的资源可供使用,当然后面两个游戏又扩展了一些组件需要自己实现。用这套东西美术成本就很低了,想做的复杂点也可以把路径动画、变形动画什么的加上去,反正是开源的;)在手机上2.5D的游戏达到鹿鼎记的效果是完全可以接受的。这种做法看上去很低端,但是很实用,有兴趣的朋友可以考虑下。

扯远了,回到翻译的内容,本系列的文章目录如下,最后两篇作者还没有写完,这里先列出来。(原文可能需要翻•墙才能访问,感谢天朝)

09.SIMD优化
10.渲染优化

 

由于译者水平有限,翻译错漏缺点在所难免,欢迎批评指正。

No Responses

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

You must enable javascript to see captcha here!