粒子系统原理 粒子系统几乎是每个引擎中比不可少的部分,它主要用来解决由大量按一定规则运动(变化)的微小物质组成的大物质,在计算机上的生成与显示的问题
经常使用粒子系统模拟的现象有火、爆炸、烟、 水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发光轨迹这样的抽象视觉 效果等等
如图8-1,8-2他们都是由粒子系统来完成的
图 8-1 SimplePhy sicsParticles1
0中的截图 图 8-2 由粒子系统完成的爆炸等效果 通过上面的两幅图我们可以看出,其实粒子系统是一种特效发生器,它可以制造大量的小粒子来达到某种特殊的效果,比如烟雾、火焰或者爆炸
好的粒子效果甚至比渲染好的动画都出色,正因为如此,当前几乎所有的游戏中都使用了粒子系统
为了制造真实的粒子效果,粒子发生器必须在不影响帧率的情况下控制成千上万的粒子运动
简单的粒子系统只允许设置粒子的一些属性,比如生存时间、重力或者颜色;复杂的粒子系统允许为每个粒子的运动函数编写代码
一些粒子系统也包含了光线生成器来创建光线或者轨迹
粒子系统基本原理 粒子系统是采用大量的、具有一定生命和属性的微小粒子图元作为基本元素来描述不规则的模糊物体
在粒子系统中,每一个粒子图元均具有:形状、大小、颜色、透明度、运动速度和运动方向、生命周期等属性
而一个粒子究竟有什么样的属性,主要取决于粒子系统用来模拟什么
粒子系统是动态变化的,粒子系统的所有属性都是时间t 的函数,随着时间的推移,系统中不断有新粒子的加入,旧的粒子死亡,系统中“存活”的粒子其位置及生命值亦随时间变化而变化
随着虚拟世界时间的流逝,每个粒子都要在虚拟世界经历“产生”、“活动”和“消亡”三个阶段
一般而言,粒子系统的绘制基本可按照以下步骤进行
①产生新的粒子加入系统中; ②赋予每个粒子一定的属性; ③删除超过生命值上限的粒子; ④根据粒子属性的动态变化对粒子进行