所谓粒子系统能够想象为一堆粒子由一个点或一个面按照必定的规律进行喷射。线程
粒子系统大体分为2类:一类为“点喷式”,一类为“面喷式”。能够想象前者由一个点进行喷射,相似于焰火;后者在一个平面上有多个点喷射粒子,相似于雨或雪的产生。对象
首先粒子系统是由粒子组成,要描述粒子系统就必须先描述单个粒子的组成。对于单个的粒子对象,它的属性我将其分为2种:1为固有属性,2为相对属性。对于世界坐标系中的粒子来讲固有属性为绝对的:例如粒子的大小,颜色等等,而相对属性是相对与空间中的坐标系来讲,例如粒子的飞行速度,位移,粒子在坐标系中的X,Y,Z坐标等等。生成
接下来得说说“点喷式”和“面喷式”的区别。对于前者来讲,全部的粒子为在一个固定的点发射,因此组成系统的全部粒子的坐标的固定的,而须要随机生成的是喷射瞬间粒子的在X,Y,Z的分速度。对于后者来讲能够看作随机生成喷射点喷射相同速度的粒子,因此此时粒子在飞行是的速度是能够知道的,而不知道的是生成该粒子的坐标,因此此时的粒子的相对属性发生了改变不是初速度而是初始坐标。颜色
注意不能认为每一个粒子喷射点用一个线程去搞定,这种想法是不正确的。正确的想法是把整个面看成一个喷射点(有点抽象)而后随机生成坐标就能够在不一样的坐标喷射粒子。若是按照每一个喷射点一个线程那么当喷射点过多时系统会瘫掉的系统