【Unity 3D】学习笔记 - 粒子系统初探

Particle System是Unity内用于制作特效的系统,相对比较复杂。粒子系统可以用来制作烟雾、蒸汽、火焰和其他雾化效果。

 

添加粒子系统


[GameObject -> Effect -> Particle System]添加一个粒子系统,重命名为test。

test初始显示效果如下:

【Unity 3D】学习笔记 - 粒子系统初探

查看Inspector视窗,test中的组件有Transform和Particle System。其中Transform属性用来描述粒子系统的空间位置,在此略过;重点研究Particle System中的属性。

 

Duration & Looping


Duration是产生粒子的持续时间。下面是将其设置为5和1的效果对比:

【Unity 3D】学习笔记 - 粒子系统初探

【Unity 3D】学习笔记 - 粒子系统初探

可以看到,在Duration为1的情况下,1秒后粒子不再产生,后者Duration为5,产生粒子的时间也较长。

Looping属性是用来设置粒子发射器来持续发射粒子的。在勾选此项之后,粒子将会源源不断被发射出来。这种情况下,当一个长度为Duration的粒子发射效果结束,就将进入到下一个Duration,如此循环,参见test初始效果。

 

Prewarm


Prewarm用来预热粒子发射,在勾选Looping属性的情况下才能使用。

在test初始效果中,粒子在被创造的时候就被发射;而在勾选Prewarm后,粒子在被创造后还需要经过一段时间的预热才会被发射,在这种情况下的效果就是,某个粒子初次出现时看起来就像已经经过了一段发射时间。

【Unity 3D】学习笔记 - 粒子系统初探

 

Start Delay & Start Lifetime


Start Delay属性用来设置开始仿真后发射粒子的延迟时间,只有在Prewarm未勾选的情况下设置。

如下图,将Start Delay设置为2,则在仿真开始2秒后发射粒子。

【Unity 3D】学习笔记 - 粒子系统初探

还可以将delay值设为两个常量之间的随机数:

【Unity 3D】学习笔记 - 粒子系统初探

Start Lifetime用来设置粒子的生命周期。

如下图,分别将Start Lifetime设置为1和0.1:

【Unity 3D】学习笔记 - 粒子系统初探

【Unity 3D】学习笔记 - 粒子系统初探

以上是将该属性设置为常量的效果,实际上,还可以将Start Lifetime设置为Curve类型、常量间随机数以及Curve间随机数:

【Unity 3D】学习笔记 - 粒子系统初探

例如,将该属性设置为如下的Curve类型:

【Unity 3D】学习笔记 - 粒子系统初探

这表明随着时间增加,粒子的生命周期呈线性缩短,效果如下:

【Unity 3D】学习笔记 - 粒子系统初探

可以观察到,越后发射出的粒子消亡越快。

 

Start Speed & Start Size & Start Rotation & Start Color


Start Speed表示粒子的开始速度,Start Size表示粒子开始的大小,Start Rotation表示粒子开始的旋转方向,Start Color表示粒子开始的颜色值。前三种属性不难理解,这里略过。

Start Color有几种类型如下:

【Unity 3D】学习笔记 - 粒子系统初探

其中Gradient是渐变模式,可以使粒子系统在Duration中按照设置的颜色顺序改变发射粒子的颜色。

将渐变颜色顺序调整如下:

【Unity 3D】学习笔记 - 粒子系统初探

效果如下:

【Unity 3D】学习笔记 - 粒子系统初探

可以看到,发射出的粒子颜色在时间维度上按照颜色顺序渐变。

 

3D Start Size & 3D Start Rotation


勾选这两项,就能在修改Start Size和Start Rotation时改变单个粒子的大小和角度。

例如,将粒子Y方向的大小设置为0.3,Z方向角度设为45度,效果如下:

【Unity 3D】学习笔记 - 粒子系统初探

 

Max Particles


此参数用来设置一个周期内粒子系统能够发出的最大粒子数。如果周期内发射粒子数达到这个上限,就不会有新粒子产生。

例如,Duration为3s,将Max Particles设为10,则发射10个粒子之后,系统将停止发射。

【Unity 3D】学习笔记 - 粒子系统初探

 

Gravity Modifier


用来设置粒子的重力。

将重力设置为2,效果如下:

【Unity 3D】学习笔记 - 粒子系统初探

 

Color over Lifetime


此项用来设置单个粒子在其生命周期中的颜色变化。

例如,将颜色渐变设置如下:

【Unity 3D】学习笔记 - 粒子系统初探

仿真效果如下:

【Unity 3D】学习笔记 - 粒子系统初探

 

Simulation Space


此属性用来设置发射出的粒子坐标相对于那个系统。若选择local,则发射的粒子坐标相对于粒子系统,移动test,粒子也会随之移动;选择world,粒子坐标为绝对坐标,不会随粒子系统移动。

【Unity 3D】学习笔记 - 粒子系统初探

【Unity 3D】学习笔记 - 粒子系统初探

在制作汽车尾气等粒子系统时,通常要使仿真相对坐标系选为world,才符合生活经验。

 

Rate & Bursts


Rate为发射粒子的速率,Bursts用来在某时刻发射一定数量的粒子。

将Rate改为100,可见发射粒子群变得稠密起来:

【Unity 3D】学习笔记 - 粒子系统初探

设置Bursts,添加时间点,在2s时发射100个粒子,效果如下:

【Unity 3D】学习笔记 - 粒子系统初探

 

Shape


Shape用来设置粒子系统的形状。以上的效果图中Shape都为Cone锥形,下面改变几个形状。

【Unity 3D】学习笔记 - 粒子系统初探

【Unity 3D】学习笔记 - 粒子系统初探

可以看到下面将形状设为球体时,发射的粒子会向各个方向运动。

 

以上就是对粒子系统的一些简单了解,接下来会依据这些完成一个简单的粒子系统,见