12. unity粒子特效--主模块和基本参数
1. 粒子系统
创建粒子系统:
创建完成后,在Scene视图中的粒子系统在预览时会默认显示每一个粒子的外框,视觉上不是很好,可以在Scene视图中选择Gizmos,在打开的窗口中将Selection OutLine前面的对勾取取消,即可去掉粒子外框。如下图所示:
在粒子系统中会有很多种属性提供设置,有一个主模块,默认自动启动的子模块有三种Emission(发射频率),Shape(粒子发生器形状),Renderer(粒子的显示),可以点击右上角的+号,取消显示Show All Modules,如下图所示:
基本操作:
1.1 粒子形状
粒子的初始形状是一个正方形的小纸片,其材质可以自由指定,在Renderer子模块中可以设置粒子的材质,新建一个材质并赋值到下图中的属性上,会发现粒子的形状发生了变化,原始形状就是一个正方形,其大小可以在主模块的Start Size属性中指定。
假设创建一个蓝色带贴图的材质,将材质拖入上图中的框框内,会发现粒子系统此时发射的粒子形状已经变成了小正方形:
粒子系统本质上是一个粒子发生器,每一个粒子都会定时发射出去。
1.2 广告牌模式(Billboard)
广告牌模式是在Renderer模块中进行设置的,一般情况下默认的模式就是广告牌模式,在这个模式下,当在场景视图中旋转视角时,粒子系统中的每一个小粒子也会跟着视角旋转,始终保持每一个粒子朝向摄像机,我们看到的永远都是粒子的正面。
1.3 添加贴图
如果是自己创建的材质赋予了粒子,那么在自建的材质当中,也可以自己指定材质的贴图,一般使用的贴图底色设置为黑色或者透明色,这样可以使用算法把背景给抠掉,让每一个粒子只显示贴图的形状。
先准备两种贴图:一个黑底,一个透明底
然后新建一个材质,将两种贴图分别赋予材质,以黑底为例,将贴图拖入到参数Albedo前的框框内,如下图所示:
添加完贴图后,还需要更改材质的渲染器,上图第一个红色箭头处,将渲染器更改Particles/Standadr Unlit,同时将参数Rendering Model改为Additive,参数Color Model修改为Multiply,即可抠除贴图的背景,如下图所示:
然后将这个材质按照1.1章节的方式添加到粒子系统中,即可看到效果:
2. 主模块参数
Start Size:控制粒子的初始大小
Start Speed:控制粒子的初始速度
Start Color:控制粒子的初始颜色
这些参数实在主模块当中设置的,其中每一个参数的右边都有一个下拉三角点开后可以选择Random Between Two Constants,这样可以将参数值设置在某一个区间内,更加符合常理,一般默认使用的是固定值Constant,如下图所示:
Duration:设定整个粒子系统的工作时长
Looping:设定粒子系统循环工作
Prewarm:设置粒子系统是否预热,如果预热,则启动后场景中会立刻出现很多粒子,如果不预热,则启动后,粒子会一个个的发射出来
Start Lifetime:设定每一个粒子在场景中的存活时间,超过此时间则自动销毁
2.1 模拟空间(Simulation Space)
在主模块下可以设定粒子系统的模拟空间,可以理解为是粒子的工作空间。
Local:本地空间,以粒子发生器的位置为参照,当移动粒子发生器的时候,已经发射出来的粒子的工作空间也会跟着移动,类似于火箭尾焰,尾焰始终是跟在火箭尾部发射的。
World:世界空间,以世界坐标为参照,当移动粒子发生器的时候,那些已经发射出来的粒子会保持未移动之前的位置移动,新发射的粒子会跟随粒子发生器的新位置重新发射,类似于泡泡枪,打出来的泡泡不会因为泡泡枪移动了位置而发生位置变化,而是继续自己的随机移动。