一、旧版粒子系统添加方法

1.新建GameObject Empty,引擎自动命名为GameObject,在这里重命名为Myparticle、

unity UI显示粒子 unity添加粒子系统_图片

2.选中Myparticle,将鼠标移动到场景中,点击F键,可以找到该空物体的位置

unity UI显示粒子 unity添加粒子系统_unity3d_02

3.在Myparticle的监视面板上单击Add Component按钮-->Effect-->Legacy Particles-->Ellipsoid Particle Emitter

unity UI显示粒子 unity添加粒子系统_unity UI显示粒子_03

unity UI显示粒子 unity添加粒子系统_unity UI显示粒子_04

4.然后添加Particle Renderer 和Particle Animator

5.此时观察Scene面板中的Myparticle,此时是一堆没有小点,其实是没有贴图的图片;

unity UI显示粒子 unity添加粒子系统_测试_05

6.这样一个粒子系统就已经被添加到场景中了,接下来要做的就是对该粒子系统进行设置;

7.可以在project面板中找一张合适的图片赋给它,方法是点击目标图片直接拖到Myparticle上面即可;我使用的是这一张,是我自己拿PS画的。

unity UI显示粒子 unity添加粒子系统_图片_06

8.此时粒子系统变为了这个模样:

unity UI显示粒子 unity添加粒子系统_unity UI显示粒子_07

9:OK,接下来就可以开始试验了,让我们看看监视面板上的各个选项都是做什么的;


本人也是Unity初学者,自学过程中看的网上的教学视频使用的是新版的粒子系统,在使用起来非常方便,但是后来发现旧版粒子系统还是有好多地方比新版要好,所以就立志要把旧版粒子系统搞一搞,这里做这些实验目的就是能让自己对粒子系统这部分有更深刻的认识,也希望能对他人有所帮助;

二、粒子系统监视面板:

unity UI显示粒子 unity添加粒子系统_图片_08

unity UI显示粒子 unity添加粒子系统_unity3d_09


三、粒子系统实验:

1.Ellipsoid Particle Emitter:椭圆粒子发射器

unity UI显示粒子 unity添加粒子系统_图片_10

把勾取消掉,会发现场景中的Myparticle停止闪动,但是并没有消失,为了实验继续进行,我们把勾再选上;



2.Emit:发射

unity UI显示粒子 unity添加粒子系统_unity_11

把勾取消掉,会发现粒子缓缓消失,直至全部消失,前后对比如下:

unity UI显示粒子 unity添加粒子系统_unity_12

unity UI显示粒子 unity添加粒子系统_unity_13

unity UI显示粒子 unity添加粒子系统_unity3d_14

为保证后续实验进行,我们把它勾选上。




3.Size:大小

unity UI显示粒子 unity添加粒子系统_unity UI显示粒子_15

从字面上看此项使用来调整粒子的大小的,min最小,max最大,粒子的大小范围在二者之间随机产生:

例如当min size设置为0.1,max size设为0.5:效果如下:

unity UI显示粒子 unity添加粒子系统_unity3d_16

max size设置为1:

unity UI显示粒子 unity添加粒子系统_unity3d_17

4.Energy:能量

unity UI显示粒子 unity添加粒子系统_unity UI显示粒子_18

能量值越高,粒子存活的时间越长,等同于新版粒子系统中的life time。

实验中我把min设置为2,max设置为3。意味着我的粒子发射器发射出来的粒子最多只能存活3秒。

为了看得更清楚,我们给粒子相对世界坐标添加一个Y轴的速度,大小为20。速度方面的实验见6。

仰视截图如下:

unity UI显示粒子 unity添加粒子系统_测试_19

接下来缩短min值为1,max的值为2:

unity UI显示粒子 unity添加粒子系统_unity UI显示粒子_20

可以发现粒子束的长度明显缩短。


5.Emission:每秒钟发射的粒子数

unity UI显示粒子 unity添加粒子系统_图片_21

默认值为50,如4中的第二幅图,如果缩小这个值会有什么现象发生呢?

相对于4中的第二幅图,min缩小至20,max缩小至30,看看效果:

unity UI显示粒子 unity添加粒子系统_测试_22

发现粒子的密度降低了许多

放大一下看看:

min放大至100,max放大至150,效果如下:

unity UI显示粒子 unity添加粒子系统_unity UI显示粒子_23

可以发现粒子密度剧增

原因就是因为在1s内发射了100~150个粒子,堆叠在一起产生了上面的效果。



6.Velocity:速度

可以调节粒子在空间中的速度,分为:World Velocity(世界坐标轴各轴向的速度)、Local Velocity(自身坐标系各轴向的速度)、Rnd Velocity(随机速度);我们逐一来看:

1)World Velocity:

为了看着方便我们把粒子的一般参数设为:

unity UI显示粒子 unity添加粒子系统_测试_24

没有施加速度时,粒子堆在中心点:

unity UI显示粒子 unity添加粒子系统_unity_25

蓝轴为Z轴,红轴为X轴,绿色为Y轴;

我们增大world Velocity中的x的值,发现粒子开始沿X轴正向移动:

unity UI显示粒子 unity添加粒子系统_测试_26

增大其他各轴的值意义和此一样。如果把值设为负值,会发现,粒子开始沿X轴的负方向移动;

2)Local Velocity

原理和1)中的一样,只是他的轴不是世界坐标而是自身的轴向;


3)Rnd Velocity

把x值设为20,发射器将会在生成速度0~20之间的粒子,在x轴移动,移动的方向可能是正方向也可能是负方向,随机决定,为了看着更壮观,我把粒子发射器的Emission调大,如下图:

unity UI显示粒子 unity添加粒子系统_unity UI显示粒子_27

其他各轴向同理;

7.Emitter Velocity Scale:粒子发射器的速度比例:

unity UI显示粒子 unity添加粒子系统_unity3d_28

默认值为0.05,也使用来调节粒子的速度;

此属性将只适用于模拟世界空间被启用时。如果此属性设置为1,粒子将在它们产生时精确继承发射器的变换(速度)。如果设置为2,粒子将继承双倍的发射器变换(速度)。设置为3则是三倍等等。(来自unity圣典)


8.Tangent Velocity:正切速度

粒子沿X,Y和Z跨越发射器表面的初始速度

unity UI显示粒子 unity添加粒子系统_测试_29



9.Angular Velocity:粒子旋转速度

unity UI显示粒子 unity添加粒子系统_unity_30

unity UI显示粒子 unity添加粒子系统_图片_31

加旋转前

unity UI显示粒子 unity添加粒子系统_unity UI显示粒子_32

加旋转后

发现粒子开始旋转,数值等于每秒钟旋转的角度。即数越大,粒子旋转的速度越快,这是经实验证实的。

由于各粒子的生成时间不同,先生成的粒子先旋转,后生成的粒子后旋转,因此画面上的旋转图像显得有些杂乱,但是其旋转速度都是相同的。如果把旋转速度调快,用肉眼也能感觉出来这一点。


10.Rnd Angular Velocity:粒子随机旋转速度

unity UI显示粒子 unity添加粒子系统_unity UI显示粒子_33

这里将数值调为15,观察效果变化如下:

unity UI显示粒子 unity添加粒子系统_unity3d_34

加旋转前

unity UI显示粒子 unity添加粒子系统_unity3d_35

加旋转后

乍看上去似乎和Angular Velocity的图是一样的,二者的功能都是事先旋转,这里用照片截图不能反映出二者差异,但是在实验的时候肉眼可以明显看出,Rnd Angular Velocity下的粒子间的宣传速度是不同的,数值表示的是一个范围,以本实验为例,即粒子旋转速度在0~15度之间。

11.Rnd Rotation:随机固定角度

选项截图见第13;

unity UI显示粒子 unity添加粒子系统_unity3d_36

粒子产生的时候拥有一个随机速度的旋转;


12.simulate In Workspace:模拟世界坐标

选项截图见第13;

如果启用,发射器移动时粒子不动;如果禁用,发射器移动时,粒子则跟随在周围;

unity UI显示粒子 unity添加粒子系统_测试_37

如果启用:当移动发射器时,已经被发射出去的粒子不会随着发射器移动,模拟出了真是的世界坐标效果,等同于新版粒子发射器中的world和local之间的切换;

unity UI显示粒子 unity添加粒子系统_测试_38

如果禁用:当移动粒子发射器时,粒子将会跟随发射器移动,就如同当忽视极其微小的偏角时的激光射线一样。


13.one shot:一次发射

unity UI显示粒子 unity添加粒子系统_unity_39

单次发射器将一次性创建Emission属性中(指定的数目)的所有的粒子,然后停止发射粒子。

**参考unity圣典组件参考手册

**其实在实验的时候表现是,一次发射后,等第一次发射的粒子全部消失之后在进行第二次发射,不知道上面的解释中停止发射粒子是针对什么来说的。


14.Ellipsoid:调节发射源的大小

unity UI显示粒子 unity添加粒子系统_测试_40

发射源可以看做是一个椭球体,当XYZ中某个值为零的时候可以看做是一个椭圆,加入我们把x的值设为0,把y设为10,把z设为20,把粒子的速度均调整为0,会发现粒子在空中静止,总体上仿佛是一个平面,但究竟是怎样一个平面呢?调整视角为正对着YOZ平面,庐山真面目显示如下:

unity UI显示粒子 unity添加粒子系统_图片_41

可以发现,其实这里调节的就是椭圆的a和b




15.Min Emitter Range:最小发射器范围

unity UI显示粒子 unity添加粒子系统_测试_42

在球形的中心确定一个空白区域——用此来使粒子出现在该球形的边缘;

最小发射器范围决定了可以产生粒子的椭球的内部深度。将其设置为0将允许从椭球中心到最外层的范围内任何地方产生粒子。将其设置为1将限制产生地点为椭球最外层。

**参考unity圣典组件参考手册



hint提示:

1)、使用大量粒子时要小心,这会严重妨碍低配置机器的性能。始终尝试用最小的粒子数目达到效果。

2)、Emit属性要与粒子动画的AutoDestruct(自动销毁)属性结合使用。通过脚本,你可以停止发射器,然后AutoDestruct会自动销毁粒子系统和它所附属的游戏对象。