【Unity 3D】学习笔记 - 粒子系统初探
Particle System是Unity内用于制作特效的系统,相对比较复杂。粒子系统可以用来制作烟雾、蒸汽、火焰和其他雾化效果。
添加粒子系统
[GameObject -> Effect -> Particle System]添加一个粒子系统,重命名为test。
test初始显示效果如下:
查看Inspector视窗,test中的组件有Transform和Particle System。其中Transform属性用来描述粒子系统的空间位置,在此略过;重点研究Particle System中的属性。
Duration & Looping
Duration是产生粒子的持续时间。下面是将其设置为5和1的效果对比:
可以看到,在Duration为1的情况下,1秒后粒子不再产生,后者Duration为5,产生粒子的时间也较长。
Looping属性是用来设置粒子发射器来持续发射粒子的。在勾选此项之后,粒子将会源源不断被发射出来。这种情况下,当一个长度为Duration的粒子发射效果结束,就将进入到下一个Duration,如此循环,参见test初始效果。
Prewarm
Prewarm用来预热粒子发射,在勾选Looping属性的情况下才能使用。
在test初始效果中,粒子在被创造的时候就被发射;而在勾选Prewarm后,粒子在被创造后还需要经过一段时间的预热才会被发射,在这种情况下的效果就是,某个粒子初次出现时看起来就像已经经过了一段发射时间。
Start Delay & Start Lifetime
Start Delay属性用来设置开始仿真后发射粒子的延迟时间,只有在Prewarm未勾选的情况下设置。
如下图,将Start Delay设置为2,则在仿真开始2秒后发射粒子。
还可以将delay值设为两个常量之间的随机数:
Start Lifetime用来设置粒子的生命周期。
如下图,分别将Start Lifetime设置为1和0.1:
以上是将该属性设置为常量的效果,实际上,还可以将Start Lifetime设置为Curve类型、常量间随机数以及Curve间随机数:
例如,将该属性设置为如下的Curve类型:
这表明随着时间增加,粒子的生命周期呈线性缩短,效果如下:
可以观察到,越后发射出的粒子消亡越快。
Start Speed & Start Size & Start Rotation & Start Color
Start Speed表示粒子的开始速度,Start Size表示粒子开始的大小,Start Rotation表示粒子开始的旋转方向,Start Color表示粒子开始的颜色值。前三种属性不难理解,这里略过。
Start Color有几种类型如下:
其中Gradient是渐变模式,可以使粒子系统在Duration中按照设置的颜色顺序改变发射粒子的颜色。
将渐变颜色顺序调整如下:
效果如下:
可以看到,发射出的粒子颜色在时间维度上按照颜色顺序渐变。
3D Start Size & 3D Start Rotation
勾选这两项,就能在修改Start Size和Start Rotation时改变单个粒子的大小和角度。
例如,将粒子Y方向的大小设置为0.3,Z方向角度设为45度,效果如下:
Max Particles
此参数用来设置一个周期内粒子系统能够发出的最大粒子数。如果周期内发射粒子数达到这个上限,就不会有新粒子产生。
例如,Duration为3s,将Max Particles设为10,则发射10个粒子之后,系统将停止发射。
Gravity Modifier
用来设置粒子的重力。
将重力设置为2,效果如下:
Color over Lifetime
此项用来设置单个粒子在其生命周期中的颜色变化。
例如,将颜色渐变设置如下:
仿真效果如下:
Simulation Space
此属性用来设置发射出的粒子坐标相对于那个系统。若选择local,则发射的粒子坐标相对于粒子系统,移动test,粒子也会随之移动;选择world,粒子坐标为绝对坐标,不会随粒子系统移动。
在制作汽车尾气等粒子系统时,通常要使仿真相对坐标系选为world,才符合生活经验。
Rate & Bursts
Rate为发射粒子的速率,Bursts用来在某时刻发射一定数量的粒子。
将Rate改为100,可见发射粒子群变得稠密起来:
设置Bursts,添加时间点,在2s时发射100个粒子,效果如下:
Shape
Shape用来设置粒子系统的形状。以上的效果图中Shape都为Cone锥形,下面改变几个形状。
可以看到下面将形状设为球体时,发射的粒子会向各个方向运动。
以上就是对粒子系统的一些简单了解,接下来会依据这些完成一个简单的粒子系统,见