很多的现象都可以用粒子系统精确的或者近似的模拟,火焰,喷泉,爆炸,鱼群,星空等等.他们都运行在一个近似的情况下.
一个粒子系统由拥有各种属性的对象组成,它们必须遵循一定的行为规范.具体的这些属性和行为规范取决于你向要模拟什么.一些粒子系统可能需要很多属性和复杂的规则,而有的则可能极为简单.
烟的粒子模拟 1024个反走样粒子
在本文中我将解释一些粒子系统背后的基本概念,接下来的几篇文章中将进一步探讨属性和行为的细节.
属性:每个粒子的需要的东西
每个粒子都需要一些属性来使它区别于其他的粒子.一般的,一个系统中的所有粒子拥有一个相同的属性集合.
下面是一些典型的粒子的属性:
位置:粒子在什么地方 每个要处理移动粒子的系统都需要记录所有粒子的运动轨迹.在2D系统中需要二个坐标(X,Y),3D系统中需要三个(X,Y,Z)
速度:速率和方向
伴随位置的往往是速度.速度是一个矢量,它告诉系统粒子以多快的速率向哪个方向移动.在每一步,速度于位置相加来移动粒子.
加速度:
向速度影响位置一样,加速度影响速度.一个粒子的加速度通常是由于有一个力施加于它.这个力通常是重力,或者其他粒子的引力或者斥力.
生命期:
通常由于计算动力的限制,粒子被限定到一个有限的生命期,老的粒子在一定长的时间后被清除以放入新的粒子.你也许需要一个象火星儿那样的粒子,在爆炸之后的几秒后燃尽,在这种情况下它们的亮度和颜色也应该随时间而改变. |