一、旧版粒子系统添加方法
1.新建GameObject Empty,引擎自动命名为GameObject,在这里重命名为Myparticle、
2.选中Myparticle,将鼠标移动到场景中,点击F键,可以找到该空物体的位置
3.在Myparticle的监视面板上单击Add Component按钮-->Effect-->Legacy Particles-->Ellipsoid Particle Emitter
4.然后添加Particle Renderer 和Particle Animator
5.此时观察Scene面板中的Myparticle,此时是一堆没有小点,其实是没有贴图的图片;
6.这样一个粒子系统就已经被添加到场景中了,接下来要做的就是对该粒子系统进行设置;
7.可以在project面板中找一张合适的图片赋给它,方法是点击目标图片直接拖到Myparticle上面即可;我使用的是这一张,是我自己拿PS画的。
8.此时粒子系统变为了这个模样:
9:OK,接下来就可以开始试验了,让我们看看监视面板上的各个选项都是做什么的;
本人也是Unity初学者,自学过程中看的网上的教学视频使用的是新版的粒子系统,在使用起来非常方便,但是后来发现旧版粒子系统还是有好多地方比新版要好,所以就立志要把旧版粒子系统搞一搞,这里做这些实验目的就是能让自己对粒子系统这部分有更深刻的认识,也希望能对他人有所帮助;
二、粒子系统监视面板:
三、粒子系统实验:
1.Ellipsoid Particle Emitter:椭圆粒子发射器
把勾取消掉,会发现场景中的Myparticle停止闪动,但是并没有消失,为了实验继续进行,我们把勾再选上;
2.Emit:发射
把勾取消掉,会发现粒子缓缓消失,直至全部消失,前后对比如下:
为保证后续实验进行,我们把它勾选上。
3.Size:大小
从字面上看此项使用来调整粒子的大小的,min最小,max最大,粒子的大小范围在二者之间随机产生:
例如当min size设置为0.1,max size设为0.5:效果如下:
max size设置为1:
4.Energy:能量
能量值越高,粒子存活的时间越长,等同于新版粒子系统中的life time。
实验中我把min设置为2,max设置为3。意味着我的粒子发射器发射出来的粒子最多只能存活3秒。
为了看得更清楚,我们给粒子相对世界坐标添加一个Y轴的速度,大小为20。速度方面的实验见6。
仰视截图如下:
接下来缩短min值为1,max的值为2:
可以发现粒子束的长度明显缩短。
5.Emission:每秒钟发射的粒子数
默认值为50,如4中的第二幅图,如果缩小这个值会有什么现象发生呢?
相对于4中的第二幅图,min缩小至20,max缩小至30,看看效果:
发现粒子的密度降低了许多
放大一下看看:
min放大至100,max放大至150,效果如下:
可以发现粒子密度剧增
原因就是因为在1s内发射了100~150个粒子,堆叠在一起产生了上面的效果。
6.Velocity:速度
可以调节粒子在空间中的速度,分为:World Velocity(世界坐标轴各轴向的速度)、Local Velocity(自身坐标系各轴向的速度)、Rnd Velocity(随机速度);我们逐一来看:
1)World Velocity:
为了看着方便我们把粒子的一般参数设为:
没有施加速度时,粒子堆在中心点:
蓝轴为Z轴,红轴为X轴,绿色为Y轴;
我们增大world Velocity中的x的值,发现粒子开始沿X轴正向移动:
增大其他各轴的值意义和此一样。如果把值设为负值,会发现,粒子开始沿X轴的负方向移动;
2)Local Velocity
原理和1)中的一样,只是他的轴不是世界坐标而是自身的轴向;
3)Rnd Velocity
把x值设为20,发射器将会在生成速度0~20之间的粒子,在x轴移动,移动的方向可能是正方向也可能是负方向,随机决定,为了看着更壮观,我把粒子发射器的Emission调大,如下图:
其他各轴向同理;
7.Emitter Velocity Scale:粒子发射器的速度比例:
默认值为0.05,也使用来调节粒子的速度;
此属性将只适用于模拟世界空间被启用时。如果此属性设置为1,粒子将在它们产生时精确继承发射器的变换(速度)。如果设置为2,粒子将继承双倍的发射器变换(速度)。设置为3则是三倍等等。(来自unity圣典)
8.Tangent Velocity:正切速度
粒子沿X,Y和Z跨越发射器表面的初始速度
9.Angular Velocity:粒子旋转速度
加旋转前
加旋转后
发现粒子开始旋转,数值等于每秒钟旋转的角度。即数越大,粒子旋转的速度越快,这是经实验证实的。
由于各粒子的生成时间不同,先生成的粒子先旋转,后生成的粒子后旋转,因此画面上的旋转图像显得有些杂乱,但是其旋转速度都是相同的。如果把旋转速度调快,用肉眼也能感觉出来这一点。
10.Rnd Angular Velocity:粒子随机旋转速度
这里将数值调为15,观察效果变化如下:
加旋转前
加旋转后
乍看上去似乎和Angular Velocity的图是一样的,二者的功能都是事先旋转,这里用照片截图不能反映出二者差异,但是在实验的时候肉眼可以明显看出,Rnd Angular Velocity下的粒子间的宣传速度是不同的,数值表示的是一个范围,以本实验为例,即粒子旋转速度在0~15度之间。
11.Rnd Rotation:随机固定角度
选项截图见第13;
粒子产生的时候拥有一个随机速度的旋转;
12.simulate In Workspace:模拟世界坐标
选项截图见第13;
如果启用,发射器移动时粒子不动;如果禁用,发射器移动时,粒子则跟随在周围;
如果启用:当移动发射器时,已经被发射出去的粒子不会随着发射器移动,模拟出了真是的世界坐标效果,等同于新版粒子发射器中的world和local之间的切换;
如果禁用:当移动粒子发射器时,粒子将会跟随发射器移动,就如同当忽视极其微小的偏角时的激光射线一样。
13.one shot:一次发射
单次发射器将一次性创建Emission属性中(指定的数目)的所有的粒子,然后停止发射粒子。
**参考unity圣典组件参考手册
**其实在实验的时候表现是,一次发射后,等第一次发射的粒子全部消失之后在进行第二次发射,不知道上面的解释中停止发射粒子是针对什么来说的。
14.Ellipsoid:调节发射源的大小
发射源可以看做是一个椭球体,当XYZ中某个值为零的时候可以看做是一个椭圆,加入我们把x的值设为0,把y设为10,把z设为20,把粒子的速度均调整为0,会发现粒子在空中静止,总体上仿佛是一个平面,但究竟是怎样一个平面呢?调整视角为正对着YOZ平面,庐山真面目显示如下:
可以发现,其实这里调节的就是椭圆的a和b
15.Min Emitter Range:最小发射器范围
在球形的中心确定一个空白区域——用此来使粒子出现在该球形的边缘;
最小发射器范围决定了可以产生粒子的椭球的内部深度。将其设置为0将允许从椭球中心到最外层的范围内任何地方产生粒子。将其设置为1将限制产生地点为椭球最外层。
**参考unity圣典组件参考手册
hint提示:
1)、使用大量粒子时要小心,这会严重妨碍低配置机器的性能。始终尝试用最小的粒子数目达到效果。
2)、Emit属性要与粒子动画的AutoDestruct(自动销毁)属性结合使用。通过脚本,你可以停止发射器,然后AutoDestruct会自动销毁粒子系统和它所附属的游戏对象。