我正在设计我自己的粒子系统引擎,这是为了学习的目的,我真的不想使用现有的引擎。粒子系统设计?
现在我产生了美丽的粒子,但我想布置引擎,使它更容易与他们合作。
我一直在思考一个类“粒子系统”,
该类将包含以下引用:
particlesList:组成该系统的粒子列表。
systemEmitter:系统发射器,用于将颗粒,所述辐射源类应该能够执行若干粒子排放的技术,如例如,来自线,点发光,从多边形随机发射。同样,这个班级应该做排放控制,就像向一个点发射,远离一个点,在一个方向和时间发射。
particleController:管理用于围绕点例如旋转,可变的粒径,可变粒子的颜色,所述系统周围的区域,以将颗粒以不同的方式,碰撞检测,如果变necesary反应(与其它物体或颗粒内)。
粒子渲染:负责本系统,可变混合型,颗粒纹理,粒子类型,如三角形,圆形,自定义...
这四个项目中,将组成粒子系统类。某些FX可能需要多个粒子系统,例如Fire FX,可以使用一个系统进行火灾,一个系统用于烟雾,一个系统用于火花。
这是我在我的脑海,但我真的很想知道,如果这种设计方式是好的,或者如果你看到我失去了一些东西还是可以/应该做不同的事情。我没有想过一些简单的方法来“拯救”FX,比如说什么是告诉我的引擎的最佳方式,“画火”,“画爆炸”,“绘画喷泉”等等,也许存储FX信息在XML文件将是一个不错的主意,等等。
意见是真正欢迎,正如我前面所说,我真的要构建这个,而不是使用其他引擎,学习的原因。
感谢您的回应!是的,我正在考虑使用OpenGL进行渲染。此外,非线性插值的想法非常好,应该能够创建一些相当不错的视觉效果。 – Goles 2009-09-23 21:50:47