1.3.6 粒子系统各项参数详细说明

本节将讲解粒子系统各项参数的详细说明。

1.3.6.1 Particle System(粒子系统初始化模块)

Particle System(粒子系统初始化模块)如图1-199所示。

图1-199

01 Duration(持续时间):粒子发射器发射粒子的持续时长(单位为秒)。

02 Looping(循环):粒子循环选项。

03 Prewarm(预热):开启预热后,粒子系统将会直接播放一个周期后的状态(不再显示粒子逐渐产生的过程)。

04 Start Delay(初始延迟):发射粒子前,等待的延迟时间(单位为秒,例如设置为1,即表示粒子系统延迟1秒后播放)。

注意

如果开启了Prewarm(预热)就不能同时开启Start Delay(延迟)选项了。

05 Start Lifetime(初始生命时长):每个粒子的存活时间,单位为秒。

06 Start Speed(初始速度):粒子发射时的初始速度。

07 Start Size(初始大小):粒子发射时的初始大小。

08 3D Start Rotation(3D坐标旋转):默认为“取消选择状态”,下方参数为Start Rotation(初始旋转角度),通过该选项来设置粒子发射时的初始旋转角度,如图1-200所示。

图1-200

如果勾选了3D Start Rotation(3D坐标旋转)选项,后面会出现X、Y、Z三个轴向,可以分别对粒子的不同轴向进行3D旋转数值设定,如图1-201所示。

图1-201

09 Randomize Rotation Direction(随机旋转方向):该参数会导致一些粒子反方向旋转(数值设置在0和1之间,数值越大会导致更多的翻转。“0”表示每个粒子旋转反向不变,“1”表示所有粒子反方向旋转,“0.5”表示一半数量的粒子反方向旋转),如图1-202所示。

图1-202

注意

该参数针对于Rotation over Lifetime(生命周期旋转)生效,所以需先设置粒子系统的Rotation over Lifetime(生命周期旋转),然后再调节Randomize Rotation Direction(随机旋转方向)数值才能看到粒子反向旋转的效果。

10 Start Color(初始颜色):粒子发射时的颜色。

11 Gravity Modifier(重力修改器):粒子在存活期间受到的重力影响。

12 Simulation Space(模拟空间):模拟Local(局部坐标系)或World(世界坐标系)。

13 Scaling Mode(缩放模式):Scaling Mode(缩放模式)为Unity 5.3.0中新加入的功能,通过该选项可以对粒子系统进行精确的缩放控制,如图1-203所示。

图1-203

控制项如下:

(1)Hierarchy(层级模式):缩放特效根级别,同时也会影响其子级别所有粒子系统。(需要统一缩放模式为Hierarchy。)

在Hierarchy(层级模式)下:

①对单个粒子系统进行缩放操作时,“发射器形状和粒子大小”同步缩放,特效比例保持不变。

②当特效中含有多个粒子系统,将所有粒子系统的Scaling Mode(缩放模式)设置为Hierarchy(层级模式),缩放特效根级别的同时也会影响其内部级别所有粒子系统,特效比例同样保持不变。

(2)Local(局部坐标缩放):只对选中的单一粒子系统生效,不影响其他层级。

在Local(局部坐标)缩放模式下:

①对单个粒子系统进行缩放操作时,“发射器形状和粒子大小”同步缩放、特效比例保持不变。

②当特效中含有多个粒子系统,缩放其根级别并不会影响到其他层级。

(3)Shape(根据发射器形状缩放):只对粒子系统的Shape(发射器形状)生效。

在Shape(发射器形状)缩放模式下:

①对单个粒子系统进行缩放操作时,同步缩放其“发射器形状”,但每个粒子大小保持不变。

②当特效中含有多个粒子系统,将所有粒子系统的Scaling Mode(缩放模式)设置为Shape(根据发射器形状缩放),缩放特效根级别的同时也会影响其内部级别所有粒子系统的Shape(发射器形状)。

如图1-204所示为粒子系统父子层级示例。

图1-204

14 Play On Awake(唤醒时播放):如果启用该项,在运行状态下粒子系统在创建时会自动播放。

15 Max Particles(最大粒子数):粒子系统发射的最大粒子数量。可以把它理解为对粒子最大数量的限制。即使无限增加粒子发生速率,粒子数量也不会超过所设定的Max Particles(最大粒子数)。

1.3.6.2 Emission(粒子发射器设置)

Emission(粒子发射器设置)面板如图1-205所示。

图1-205

注意

图1-205中粒子系统发射类型为Time(时间),Rate(发生速率)为10,表示当前粒子系统每秒发射10个粒子。

1.Rate(粒子发生速率)

(1)Time表示通过单位时间发射(单位是秒)。

(2)Distance表示通过单位距离发射(单位是米)。

以如图1-206所示为例,将发射速率Time切换为Distance,然后把Rate设置为10,则粒子系统每移动1米发射10个粒子,如果粒子发射器不移动则不会发射粒子。

图1-206

注意

(1)利用Distance(根据距离发射)可以实现一些特殊的效果,例如,人物移动距离后脚底出现的烟尘等效果。

(2)使用Distance(根据距离发射)前,需要先将粒子系统的Simulation space(解算空间)切换为World(世界坐标)模式。

2.Bursts(爆发)

通过该选项可以控制粒子系统在某个“固定时间点”同时生成大量粒子(时间单位为秒),如图1-207所示。

图1-207

通过单击“加号”(图1-207中红框位置)增加一个粒子爆发时间点,单击“减号”去除一个时间点。

Min:产生粒子最小数量。

Max:产生粒子最大数量。

例如,当Min为5、Max为20时,产生粒子数为5~20(取随机值)。

当Min为30、Max为30时,则产生粒子数为常量30。

以图1-208为例,表示当前粒子系统在第0秒(初始时间)产生30个粒子,第1秒时再次产生30个粒子。

图1-208

1.3.6.3 Shape(发射器形状设置)

Shape(发射器形状设置)面板如图1-209所示。

图1-209

01 Sphere(球形发射器):用来设置球形发射器。

02 Radius(发射器半径):用来设置发射器半径。

03 Emit from Shell(从外壳发射):粒子从外壳发射。如果禁用此项,粒子将从发射器内部发射。

04 Random Direction(随机发射方向):用来设置随机发射方向。

选择Shape(形状)为Hemisphere(半球形发射器),如图1-210所示。

图1-210

01 Hemisphere(半球形发射器):用来设置半球形发射器。

02 Radius(发射器半径设置):用来设置发射器半径。

03 Emit from Shell(粒子从外壳发射):粒子从外壳发射。如果禁用此项,粒子将从发射器内部发射。

04 Random Direction(随机发射方向):用来设置随机发射方向。

选择Shape(形状)为Cone(圆锥体发射器),如图1-211所示。

图1-211

01 Cone(圆锥体发射器):用来设置圆锥体发射器。

02 Angle(圆锥体角度):用来设置圆锥体角度。

03 Radius(发射器半径):用来设置发射器半径。

04 Length(发射器长度):用来设置发射器长度。

注意

需要先启用Emit from(发射位置)为Volume(由体积内部发射)或者Emit from(发射位置)为Volume shell(体积外壳发射)才可以修改发射器长度。

05 Emit from(发射位置)。

(1)Emit from Base:由发射器底部发射。

(2)Emit from Base shell:由发射器底部外壳发射。

(3)Emit from Volume:由发射器的体积内部发射。

(4)Emit from Volume shell:由发射器的体积外壳发射。

06 Ramdom Direction(随机发射方向):用来设置随机发射方向。

选择Shape(形状)为Box(方盒体发射器),如图1-212所示。

图1-212

01 Box(方盒体):方盒体发射器。

02 Box X/Y/Z:设置方盒体三个方向的边长。

03 Random Direction(随机发射方向):用来设置随机发射方向。

选择Shape(形状)为Mesh(网格),如图1-213所示。

图1-213

01 Mesh(网格体发射):通过自定义网格体发射。

(1)Vertex(顶点发射):由模型顶点发射。

(2)Edge(边线发射):由模型边线发射。

(3)Triangle(三角面发射):由模型三角面发射。

注意

当启用了Mesh(网格体发射)属性后,粒子初始速度方向将由网格体法线方向决定。

通过单击后面的圆点(红色箭头位置)来选择Mesh(网格体)形状,如图1-214所示。

图1-214

02 Single Material(单独材质球):启用一个单独的材质球。

03 Use Mesh Color(使用网格体颜色):可以设置使用网格体颜色。

04 Normal Offset(法线偏移):用来设置法线偏移。

05 Random Direction(随机发射方向):用来设置随机发射方向。

选择Mesh(网格)为None(Mesh Renderer),无(网格渲染器),如图1-215所示。

图1-215

使用这个形状属性,需要事先创建或者导入一个网格体。确保在其组件之中含有Mesh Render(网格体渲染组件),如果模型体没有该组件则需要手动添加。最后在Hierarchy(层级视图)中选择该物体拖曳到Mesh(网格体)选项栏中即可。

注意

启用Mesh Renderer(网格渲染)发射属性后,粒子发射方向将由网格体的法线方向决定。

01 Single Material(单独材质球):启用一个单独的材质球。

02 Use Mesh Color(使用网格体颜色):可以设置使用网格体颜色。

03 Normal Offset(法线偏移):用来设置法线偏移。

04 Random Direction(随机发射方向):用来设置随机发射方向。

选择Mesh(网格)为None(Skinned Mesh Renderer),无(蒙皮网格渲染器),如图1-216所示。

图1-216

Skinned Mesh Renderer(蒙皮网格渲染器):通过使用该选项可以实现由一个带有骨骼动画的模型体发射粒子。

操作方法:首先将模型拖入Hierarchy(层级视图),然后指定骨骼动画,最后将文件中的网格体拖曳到粒子系统Shape→Skinned Mesh Renderer→Mesh(形状→蒙皮网格渲染器→网格体),即图1-216红框位置。

注意

Skinned Mesh Renderer(蒙皮网格渲染器)是Unity 5.3.0版本新增的功能,通过该功能可以实现在含有骨骼动画的角色模型上动态生成粒子。

01 Single Material(单独的材质球):启用一个单独的材质球。

02 Use Mesh Color(使用网格体颜色):可以设置使用网格体颜色。

03 Normal Offset(法线偏移):用来设置法线偏移。

04 Random Direction(随机发射方向):用来设置随机发射方向。

选择Shape(形状)为Circle(圆环形发射器),如图1-217所示。

图1-217

01 Circle(圆环):圆环形发射器。

02 Radius(圆环半径):设置圆环半径。

03 Arc(伞形角度面积):数值范围为0~360,设定值为0时发射器是一条直线,设定值为360时发射器是一个完整的圆环形状。

04 Edit from Edge(由圆环外边发射):可以设置由圆环外边发射。

05 Random Direction(随机发射方向):可设置随机发射方向。

选择Shape(形状)为Edge(直线发射器),如图1-218所示。

图1-218

01 Edge(直线):用来设置直线发射器。

02 Radius(直线长度):用来设定直线长度。

03 Random Direction(随机发射方向):用来设置随机发射方向。

粒子系统各类发射器形状与发射方向的关系,如图1-219所示。

图1-219

1.3.6.4 Velocity over Lifetime(生命周期速度)

Velocity over Lifetime(生命周期速度)面板如图1-220所示。

图1-220

01 X/Y/Z三个轴向速度的控制:可以使用常量值或曲线间的随机值来控制粒子的运动。

02 Space(解算空间):Local(局部坐标)/ World(世界坐标)。

(1)Local(局部坐标):根据自身轴向受速度的影响变化。

(2)World(世界坐标):根据世界坐标受速度的影响变化。

1.3.6.5 Limit Velocity over Lifetime(生命周期限速)

Limit Velocity over Lifetime(生命周期限速)面板如图1-221所示。

图1-221

该控制项通常用于模拟阻力,如果超过某些阈值,就会抑制或固定速率。可以按每个轴或每个向量长度来配置。

01 Separate Axis(分离轴):开启后可以分别设置X、Y、Z三个轴向的数值。

02 Speed(速度):粒子速度受到限制的阈值,通常为常数或曲线。

例如,当把Speed(速度)设置为1、Dampen(阻尼值)设置为0.1时,表示当粒子速度大于1时会受到阻力为0.1的影响,粒子速度将会逐渐减慢,最终速度将会变为1。

03 Dampen(阻尼值):数值设置范围为0~1。当粒子速度超过设定的Speed(速度)数值时,速度将会受到抑制。阻尼值越大,速度减慢越快,也越明显。

1.3.6.6 Inherit Velocity(继承速度)

Inherit Velocity(继承速度)面板如图1-222所示。

图1-222

Inherit Velocity Mode(继承速度模式)有两种,分别如下。

(1)Intial(初始值)。

(2)Current(当前值)。

该数值表示粒子继承发射器运动速度的程度。设置为1时,指粒子继承发射器的100%速度;设置为2时,继承200%速度,以此类推。

注意

可以将粒子系统的Simulation Space(模拟空间)修改为World(世界坐标),继承速度模式改为Initial(初始值)并设置Initial(初始值)数值为1。然后在Scene(操作视图)中快速移动粒子发射器,就可以看到粒子受到发射器速度影响的效果了。

1.3.6.7 Force over Lifetime(在生命周期内受到力场的影响)

Force over Lifetime(在生命周期内受到力场的影响)面板如图1-223所示。

图1-223

01 X/Y/Z:三个轴向受到力场的影响,可以使用常量值或曲线间的随机值控制粒子的运动。

02 Space(解算空间):Local(局部坐标)/ World(世界坐标)。

(1)Local(局部坐标):根据自身轴向受力场的影响变化。

(2)World(世界坐标):根据世界坐标受力场的影响变化。

03 Randomize(取随机值):需要启用Random Between Two Constants(随机常数)或者Random Between Two Curves(两曲线间随机)才可以使用这个选项。

1.3.6.8 Color over Lifetime(生命周期内粒子颜色的变化控制)

Color over Lifetime(生命周期内粒子颜色的变化控制)面板如图1-224所示。

图1-224

控制每个粒子在其存活期间内的动态颜色变化。如果有些粒子的存活时间短于其他粒子,它们将变化得更快。可采用固定色、两色随机、渐变过渡色或使用两个渐变选取一个随机颜色。

注意

当粒子材质为亮度叠加模式,如Particles/Additive(粒子/附加),设置粒子为黑色时,则实际颜色为透明色。

1.3.6.9 Color by Speed(粒子颜色根据其速度变化)

Color by Speed(粒子颜色根据其速度变化)面板如图1-225所示。

图1-225

01 Color(颜色):用于重新映射速度与颜色的关系,使用渐变改变颜色。

02 Speed Range(速度范围):界定速度范围的最小值和最大值,该范围用于将速度重新映射到颜色上。

1.3.6.10 Size over Lifetime(生命周期内粒子大小的变化控制)

Size over Lifetime(生命周期内粒子大小的变化控制)面板如图1-226所示。

图1-226

Size(粒子大小):控制每个粒子在其存活期间的大小。可以采用固定大小,使用曲线将大小动画化,或者使用两条曲线指定随机大小。

1.3.6.11 Size by Speed(粒子大小根据其速度变化)

Size by Speed(粒子大小根据其速度变化)面板如图1-227所示。

图1-227

01 Size(粒子大小):用于重新映射粒子速度与粒子大小的关系,可以通过曲线,设置不同速度下粒子的大小。

02 Speed Range(速度范围):界定速度范围的最小值和最大值,该范围用于将速度重新映射到大小上。

1.3.6.12 Rotation over Lifetime(生命周期内粒子旋转的变化控制)

Rotation over Lifetime(生命周期内粒子旋转的变化控制)面板如图1-228所示。

图1-228

01 Separate Axes(分离轴):启用分离轴后可以分别控制X、Y、Z三个轴向。

02 Angular Velocity(粒子角度旋转):控制每个粒子在其存活期间内的旋转速度。采用固定旋转速度,曲线编辑器控制,或使用两条曲线指定随机旋转速度。

1.3.6.13 Rotation by Speed(粒子旋转根据其速度变化)

Rotation by Speed(粒子旋转根据其速度变化)面板如图1-229所示。

图1-229

01 Separate Axes(分离轴):启用分离轴后可以分别控制X、Y、Z三个轴向。

02 Angular Velocity(角速度):用于重新映射粒子速度与旋转速度的关系。可以使用常量或者曲线来改变旋转速度。

03 Speed Range(速度范围):界定速度范围的最小值和最大值,该范围用于将速度重新映射到旋转速度上。

1.3.6.14 External Forces(外部力场)

External Forces(外部力场)面板如图1-230所示。

图1-230

Multiplier(乘数):粒子受外部力场(如风场)影响程度的缩放比例(即风力向量乘以该值)。

1.3.6.15 Collision(碰撞模块)

粒子的Collision(碰撞模块)支持世界碰撞和平面碰撞。平面碰撞对简单的碰撞检测而言十分有效。可以设置任意平面体作为粒子的碰撞对象,使用平面碰撞足够应对大部分效果要求。

而世界碰撞采用光线投射原理。相比平面碰撞,世界碰撞的性能损耗更大。所以必须谨慎使用,以确保良好的性能。在碰撞结果近似相同的情况下,建议将Collision Quality(碰撞质量)设置为Low(低)或Medium(中)。

Planes/World(平面/世界):切换碰撞类型。

Planes(平面)指平面碰撞,World(世界)指世界碰撞。

以下为平面碰撞模式下的参数设置,如图1-231所示。

图1-231

01 Planes(平面):设置碰撞平面。可以通过单击选项后的圆点图标选取一个平面对象,或者也可以直接将平面对象拖曳到Planes(平面)后的None(Transform)即“无(变化)”位置处。

02 Visualization(可视化):用于将碰撞平面可视化,显示为Grid(网格)或Solid(实体),帮助确认碰撞平面的位置与方向。

(1)Grid(网格):将碰撞平面渲染为网格显示。

(2)Solid(实体):将碰撞平面渲染为实体模型显示。

(3)Scale Plane(缩放平面):调整可视化平面大小。

03 Visualize Bounds(可视化边界):勾选后可以显示每个粒子碰撞体的外壳半径。

04 Dampen(阻尼):数值设置范围为0~1,可以理解为粒子与平面碰撞时摩擦力的大小。阻尼值越大,粒子碰撞后速度越慢。当设置Dampen(阻尼)为1时,粒子与平面碰撞后速度为零。

05 Bounce(弹力):粒子与平面碰撞时的反弹属性。设置为1时,粒子碰撞后速度不损耗。设置Bounce(弹力)小于1时粒子在碰撞后速度将会按比例衰减。设置Bounce(弹力)大于1时,粒子碰撞后速度将会成倍数增加。

06 Lifetime Loss(生命衰减):数值设置范围为0~1,表示粒子每次碰撞后Start Lifetime(粒子初始寿命)的衰减比例。当把Lifetime Loss(生命衰减)设置为1时,粒子在碰撞后会直接死亡。

07 Min Kill Speed(最小杀死速度):当粒子发生碰撞后,所有速度低于设定数值的粒子都会被杀死。

08 Radius Scale(半径缩放):设置每个粒子的碰撞半径。

09 Send Collision Messages(发送碰撞信息):由是否要发送碰撞信息而确定是否触发游戏对象(GameObjects)和ParticleSystems(粒子系统)上的OnParticleCollision(粒子系碰撞)回调。

注意

碰撞类型为平面模式时,粒子将会与平面的法线正方向进行碰撞(默认状态下粒子只能与模型体的法线正方向发生碰撞)。

以下为世界碰撞模式下的参数设置,如图1-232所示。

图1-232

01 Collision Mode(碰撞模式):可以选择2D或者3D碰撞。

02 Visualize Bounds(可视化边界):勾选后可以显示每个粒子碰撞体的外壳半径形状。

03 Dampen(阻尼):数值设置范围为0~1,可以理解为粒子与平面碰撞时摩擦力的大小。阻尼值越大,粒子碰撞后速度越慢。当设置Dampen(阻尼)为1时,粒子与平面碰撞后速度为零。

04 Bounce(弹力):粒子与平面碰撞时的反弹属性。设置为1时,粒子碰撞后速度不损耗。设置Bounce(弹力)小于1时粒子在碰撞后速度将会按比例衰减。设置Bounce(弹力)大于1时,粒子碰撞后速度将会成倍数增加。

05 Lifetime Loss(生命衰减):数值设置范围为0~1,表示粒子每次碰撞后Start Lifetime(粒子初始寿命)的衰减比例。当把Lifetime Loss(生命衰减)设置为1时,粒子在碰撞后会直接死亡。

06 Min Kill Speed(最小杀死速度):当粒子发生碰撞后,所有速度低于设定数值的粒子都会被杀死。

07 Collides With(碰撞对象):用于指定碰撞器的筛选器。默认Everything(所有物体)指粒子系统与所有对象发生碰撞。

08 Enable Dynamic Colliders(动态碰撞):启用动态碰撞。

09 Interior Collisions(内部碰撞):启用内部碰撞。

10 Max Collision Shapes(最大碰撞外形):设置最大碰撞外形。

11 Collision Quality(碰撞质量):世界碰撞模式下的碰撞质量选择。质量越高,精确度越高,性能损耗也越大。

(1)High(高质量):所有粒子在每一帧都进行Particle Raycast Budget(粒子投射)计算。注意:这是CPU密集型应用,只能使用1000个场景宽度或更少的同步粒子。

(2)Medium(中等质量):在每帧中,接收一部分粒子进行全局Particle Raycast Budget(粒子投射)计算。粒子以循环方式更新,其中在给定帧中不接收光线投射的粒子将查找和使用高速缓存中存储的较旧碰撞物。注意:这类碰撞属于近似碰撞,会遗漏一些粒子,特别是在角落处。

(3)Low(低质量):粒子系统每四帧进行一次Particle Raycast Budget(粒子投射)计算,其他属性与中等质量(Medium)相同。

12 Send Collision Messages(发送碰撞信息):由是否要发送碰撞信息而确定是否触发游戏对象(GameObjects)和ParticleSystems(粒子系统)上的OnParticleCollision(粒子系碰撞)回调。

1.3.6.16 Sub Emitters(子发射器模块)

Sub Emitters(子发射器模块)面板如图1-233所示。

图1-233

在这个模块中,可以定义粒子Birth(出生)/Collision(碰撞)/Death(死亡)时产生一个新的粒子系统。

01 Birth(产生):每个粒子产生时生成另一个粒子系统。

通过单击Birth(产生)后的加号(图1-233红框位置)可以创建一个子发射器。

创建后,该粒子层级内部会多出一个Sub Emitter(子发射器),可以实现粒子拖尾效果,示例如图1-234所示。

图1-234

02 Collision(碰撞):每个粒子碰撞时生成另一个粒子系统。

启用粒子系统的Collision(碰撞)组件,是每个粒子碰撞后产生子发射器的前提条件。

例如,当前创建一个粒子系统,启用Collision(碰撞)组件,设置粒子与平面碰撞,然后设置Lifetime Loss为1(表示粒子发生碰撞后立即消亡),如图1-235所示。

图1-235

粒子与平面发生碰撞,碰撞时粒子消亡,效果如图1-236所示。

图1-236

接下来启用Sub Emitter(子发射器)选项,通过单击“加号”创建一个子发射器,如图1-237所示。

图1-237

创建后,适当调节Sub Emitter(子发射器)中的粒子寿命,效果如图1-238所示。

图1-238

利用这个功能可以模拟碰撞后爆炸的效果。

注意

粒子碰撞是需要实时解算的,所以会产生较大的性能损耗。通常在游戏项目中(尤其是移动平台)制作特效时并不推荐开启。

03 Death(死亡):每个粒子消亡时生成另一个粒子系统。

通过这个功能可以实现很多有趣的效果,例如烟花的爆炸效果等。

首先创建一个粒子系统,开启Sub Emitter(子发射器)模块,单击Birth(产生)和Death(死亡)同时创建两个子发射器,如图1-239所示。

图1-239

适当调节粒子寿命后,效果如图1-240所示。

图1-240

通过简单的两步操作就可以制作一个简易烟花效果,活用粒子系统会实现更多更丰富的效果。

1.3.6.17 Texture Sheet Animation(纹理动画模块)

Texture Sheet Animation(纹理动画模块)面板如图1-241所示。

图1-241

Texture Sheet Animation(纹理动画模块)原理是在粒子生命周期内通过动画化UV坐标从而实现动画序列效果。可以指定具体的动画切片数或者某一单独行数,也可以用曲线动画化或者是两条曲线之间的随机帧。

01 Tiles(平铺分布):定义纹理X、Y方向的平铺数量。

02 Animation(动画):指定动画类型为Whole Sheet(整层)或Single Row(单行)。

(1)Whole Sheet(整层):将所有平铺图片用于动画。

(2)Single Row(单行):将一行纹理层用于UV动画。

(3)Random Row(随机行):如果选中此项,起始行随机,如果取消选中,则可以指定行指数(第一行为0)。

03 Frame over Time(时间帧):每个粒子存活期间,粒子寿命与序列帧的关系。使用常量、动画曲线或者使用两条曲线指定随机帧。

04 Cycles(循环次数):每个粒子在生命周期内循环播放序列帧的次数。(默认为1,指在生命周期内循环播放一次。)

在特效中,很多动态效果都会使用到Texture Sheet Animation(纹理动画模块)功能。该功能不但减少了贴图数量,同时对提高工作效率、减小制作难度、提升动态表现及资源优化起到重要作用。

常见的一些特效序列图示例如图1-242所示。

图1-242

通过示意图可以帮助快速了解序列设置的规律,如图1-243所示。

图1-243

根据图片纹理排布数量、修改Tiles(平铺分布)中X、Y对应数值即可。例如,排布为5×2,则需设置Tiles(平铺分布)选项中X为5,Y为2。

1.3.6.18 Renderer(粒子渲染模块)

Renderer(粒子渲染模块)面板如图1-244所示。

图1-244

粒子渲染模块会直接影响每个粒子的渲染形态,但不会影响粒子的运动。

01 Render Mode(粒子渲染模式)有以下几种类型。

(1)Billboard(布告板类型):使粒子始终朝向摄像机,与Maya中的Sprite(精灵粒子)相同。

(2)Stretched Billboard(拉伸布告板):可以通过Camera Scale(摄像机缩放)、Speed Scale(速度缩放)、Length Scale(长度缩放)三个选项来修改布告板的拉伸形状。

①Camera Scale(摄像机缩放):摄像机速度影响粒子的拉伸程度,摄像机移动速度越快,粒子拉伸程度越大。

注意

设置Camera Scale(摄像机缩放)数值后,在Scene(场景视图)中快速移动摄像机,就可以在Game(游戏视图)中看到粒子的拉伸状态了(场景视图中粒子形态不发生变化)。

②Speed Scale(速度缩放):通过粒子速度来影响粒子长度。

③Length Scale(长度缩放):直接对粒子长度进行缩放设置。

(3)Horizontal Billboard(水平布告板):让粒子与水平面对齐。

(4)Vertical Billboard(垂直布告板):让粒子朝向摄像机的同时,保持粒子与Y轴对齐。

(5)Mesh(网格体):可以自定义一个网格体模型,由粒子系统发射。粒子系统发射的模型同样会受到粒子系统的相关参数影响(例如透明控制、大小的曲线控制等)。

注意

在Unity 5.3.0之后的版本中,粒子系统发射的模型体可以受到Texture Sheet Animation(纹理篇动画)的影响了,这代表用户可以通过这个方法,间接实现模型的序列动画。

02 Normal Direction(法线方向):设定值为0~1,确定法线与摄像机所成角度及偏离视图中心的角度。

03 Material(材质球):当前粒子所用的材质球。

04 Sort Mode(排序模式):通过距离、最先产生或最晚产生来决定粒子的绘制层级。可以理解为根据距离决定哪些粒子显示在上层,或根据出生时间决定哪些粒子显示在上层。

05 Sorting Fudge(排序矫正):使用该项影响绘制顺序,较小数值最先显示在上层。(如果两个粒子系统在同一位置,较小数值的粒子会显示在上层。例如,地面与裂痕都在同一位置,地面的Sorting Fudge为100,裂痕的Sorting Fudge为0,则裂痕会显示在地面上方。)

06 Cast Shadows(投射阴影):粒子是否投射阴影。

07 Receive Shadows(接受阴影):粒子是否接受阴影。

08 Min Particle Size(最小粒子大小):每个粒子相对于视窗大小的最小值。

09 Max Particle Size(最大粒子大小):每个粒子相对于视窗大小的最大值(一般建议设置为1~2)。

例如创建一个粒子系统,将它的Start Speed(初始速度)设置为0,取消Shape(发射器形状),设置Max Particles(最大粒子数量)为1,并将它的Max Particle Size(最大粒子大小)设置为0.5。

然后在Scene(场景视图)中滚动鼠标中键将观察距离拉近,根据“近大远小”透视原则,粒子会逐渐变大,但是最终发现粒子最大也只能占到当前操作视窗的一半大小左右便不再变大。

如果想让粒子随着视图距离拉近持续变大,需要将Max Particle Size(最大粒子大小)设置得更大,设置为1指的是粒子最大时可以占一个窗口的大小,设置为2指的是两倍窗口大小,以此类推。

10 Sorting Layer(排序层级选择):一般粒子是在Default(默认)层,也可以单击Add Sorting Layer(添加新的排序层级)添加一个新的排序层级。

11 Order in Layer(顺序层级):设置顺序层级。

12 Billboard Alignment(布告板对齐方式):可以设置为View(视图对齐)、World(世界坐标对齐)、Local(局部坐标对齐)。

注意

Billboard Alignment(布告板对齐方式)是在Unity 5.3.0f4版本之后新加入的功能。

13 Pivot(轴):可以分别修改粒子在X、Y、Z三个中心轴向的偏移数值。

注意

粒子的默认旋转轴心在粒子的正中心位置,可以通过修改Pivot(轴)来修改粒子的轴心偏移。该数值将会直接影响粒子旋转与缩放时的效果。

14 Reflection Probes(反射探测模式):默认为关闭状态Off,可以将它修改为Blend Probes(混合探测)、Blend Probes And Skybox(带有天空盒的混合探测)、Simple(简单计算模式),如图1-245所示。

图1-245

15 Resimulate(实时渲染):当粒子参数改变时,场景中的粒子效果立即更新(实时变化)。

16 Wireframe(开启粒子网格显示):开启选项时,将显示粒子的面片网格,方便观察粒子数量与粒子的真实大小。