Unity粒子系统ParticleSystem各模块及其参数学习

粒子系统控制面板默认有4个模块:Particle System(主模块),Emission(发射模块),

Shape(形状模块),Renderer(渲染器模块)

1.Particle System模块包含了影响整个粒子系统的全局设置,主要用来初始化粒子系统,例如设置例子初始化时间、循环方式、初始速度、颜色、大小等基本参数

Duration 系统运行时长
Looping 循环播放
Prewarm 启用后,系统会初始化至已经完成一个完整周期时的状态
Start Delay

系统运行前的延迟时间

Start Lifetime 粒子的存活时间
Start Speed

粒子的初始速度

3D Start Size 启用后可以单独控制每个轴的大小(对粒子进行单独方向上的拉伸)
Start Size

粒子初始大小

3D Start Rotation 启用后可以单独控制每个轴的旋转
Start Rotation

粒子初始旋转角度

Flip Rotation 使一些粒子以相反的方向旋转
Start Color

粒子的初始颜色

Gravity Modifier 设置重力值(值为零会关闭重力)
Simulation Space 控制粒子是在父对象的局部空间移动(会与父物体一起移动),或是在世界空间中,还是相对于自定义对象(使用自己选择的自定义对象移动)
Simulation Speed

调整整个粒子系统产生的速度(类似动画快放速度)

Delta Time 在Scaled和Unscaled之间选择,其中Scaled使用Time Manager中的Time Scale值,而Unscaled会忽略它
Scaling Mode 选择使用变换比例,可设置为Hierarchy、Local或Shape模式。Local模式仅应用粒子系统变换比例,忽略任何父对象。Shape模式将按一定比例应用于粒子的其实位置,但不影响其大小
Play On Awake

启用后,粒子系统会在创建对象时自动启用(自动播放粒子系统)

Emitter Velocity Mode 选择粒子系统如何计算Inherit Velocity和Emission模块使用的速度。系统可以使用Rigidbody组件或通过跟踪Transform组件的移动来计算速度
Max Particles

系统中一次性产生的最大粒子数

Auto Random Seed

启用后,每次播放粒子系统显示形态都不同。否则每次播放时系统都完全相同

Stop Action

当属于系统的所有粒子都已完成时,可以时系统执行动作。对于循环系统,只有在通过脚本停止系统时才会发生这种情况

Disable---禁用该物体

Destory---销毁该物体

Callback---附加在该物体的任何脚本都会执行OnParticleSystemStopped函数

Culling Mode 裁剪模式,粒子在屏幕外面时的处理,Automatic(循环粒子-停止更新,非循环-不停止更新)、Pause And Catch-up(停止更新,当返回屏幕时,补齐这段时间的更新,这回产生性能问题)、Pause(停止)、Always Simulate(在不在屏幕外都一直更新)
Ring Buffer Mode 粒子循环利用方式,Disabled(不循环利用)、Pause Until Replaced(当数量达到最大上限时,老的粒子停止,去用于产生新的)、Loop Until Replaced(当粒子生命结束时,加入新利用循环)

2.Emission模块中的属性会影响粒子系统发射的速率和时间

Rate over Time 单位时间发出的粒子数
Rate over Distance 单位时间发射粒子的移动状态
Bursts

该设置允许在指定时间发射粒子,效果类似粒子的爆发状态

Time---设置发射脉冲串的时间(以粒子系统开始播                           放后的秒数)

Count---设置发射的粒子数的约数

Cycles---设置播放爆发次数的值

Interval---设置触发每个脉冲周期之间的时间间隔

Probability---设置每个脉冲触发的可能性(1为100%触发)

3.Shape模块定义了发射粒子区域(几何体或平面)的形状,以及起始速度的方向,其余模块属性也会根据选择的Shape而变化。

Sphere                                  球体-向各个方向发射粒子

Hemisphere                         半球体-向半球体内各个方向发射粒子

Cone                                      锥体-向锥体内各个方向发射粒子

…….等

具体参数以Cone Shape锥体为例

Angle

锥体在其顶点处的角度,角度为0时呈圆柱体发散粒子,角度为90时呈圆盘形状发散粒子(此时粒子在平面内发射)

Radius 该形状的圆形部分的半径
Radius Thickness 发射粒子的区域体积比例。值为0时,从形状的外表面发射粒子;值为1时从整个锥体区域中发射粒子,介于两者之间的值将按照一定比例划分粒子数量
Arc 形成发射器形状的整圆部分的角度偏移,将影响粒子发射角度
Length 锥体的长度,仅当Emit from属性设置为Volume时适用
Emit from 锥体部分从以下部位发射粒子:基部或体积
Texture 用于着色和丢弃粒子的纹理
Clip Channel 纹理中用于丢弃粒子的通道
Clip Threshold 将例子映射到纹理上的位置时,丢弃任何像素颜色低于此阈值的像素
Color affects Particles 通过纹理颜色乘以粒子颜色
Alpha affects Particles 通过纹理Alpha乘以粒子Alpha
Bilinear Filtering 在读取纹理时,无论纹理尺寸如何,组合4个相邻样本以获得更平滑的粒子颜色变化
Position 将偏移应用于生成粒子的发射器形状
Rotation 旋转用于产生粒子的发射器形状
Scale 更改用于生成粒子的发射器大小
Align to Direction

根据粒子的初始行进方向定向粒子。如果客户想要模拟汽车油漆块在碰撞过程中飞出汽车车身,这将非常有用。如果方向不满意,用户还可以通过在主模块中应用“开始旋转”值来覆盖它

Randomize Direction 将粒子方向朝随机方向发射。设置为0时,此设置无效,设置为1时,粒子方向完全随机
Spherize Direction 将粒子方向朝球面方向发射,从它们的变换中心向外传播。设置为0时,此设置无效,设置为1时,粒子方向与当Shape设置为Sphere时的发射方向相同
Randomize Position 将粒子位置移动随机量,直至达到指定值。设置为0时,此设置无效。任何其他值都会对粒子的产生位置应用一些随机性

4.Renderer模块将确定粒子渲染的图像或网格,以及粒子被其他粒子替换、着色和穿透的属性设置

Render Mode

从图形图像(或网格)生成渲染图像

Billboard---粒子始终面向摄像机

Stretched Billboard---粒子面向摄像机,但应用                                      了各种缩放

Horizontal Billboard---粒子平面平行于X、Z轴组  成的平面

Vertical Billboard---粒子在世界坐标Y轴上直 立,并面向摄像机

Mesh---粒子是通过3D网格而不是纹理进行渲染None隐藏默认渲染

Normal Direction

用于粒子图形的照明法线的偏差。值为1指向摄像机的法线,值为0指向屏幕中心(仅限Billboard模式)

Material 用于渲染粒子的材质
Sort Mode 绘制粒子(因此重叠)的顺序。可能的值是距离(来自摄像机),前面最旧,前面最新,深度。系统中的每个粒子将根据此设置进行排序
Sorting Fudge 粒子系统排序的偏差。较低的值会增加粒子系统在其他透明GameObject(包括其他粒子系统)上绘制的相对几率。此设置仅影响整个系统在场景中的显示位置-它不对系统中的单个粒子执行排序
Min Particle Size 最小粒径(无论其他设置如何),表示为视口大小的一小部分。此设置仅在“渲染模式”为“广告牌”时应用
Max Particle Size

最大粒径(无论其他设置如何),表示为视口大小的一小部分。此设置仅在“渲染模式”为“广告牌”时应用

Render Alignment 使用下拉列表选择粒子广告牌面向的方向
Flip 在指定的轴上镜像一定比例的粒子。值越高,翻转的粒子越多
Allow Roll 控制面向摄影机的粒子是否可以围绕摄影机的Z轴旋转。禁用此功能对VR特别有用应用,其中HMD(头戴式显示器)滚动可能导致粒子系统不希望的粒子旋转
Pivot 修改用作旋转粒子中心的轴心点
Visualize Pivot 在Scene视图中预览粒子轴心
Masking

设定粒子系统渲染的粒子与精灵遮罩交互时的行为方式

No Masking---粒子系统不会与场景中的任何精灵遮罩交互

Visible Inside Mask---粒子在精灵遮罩覆盖它们的位置可见,但不在其外部

Visible Outside Mask---粒子在精灵遮罩外可见,  但在精灵遮罩内不可见。精灵遮罩隐藏其覆盖的粒子部分

Apply Active Color Space 在“线性颜色空间”(Linear Color Space)中渲染时,系统在将粒                                                   子颜色上载到GPU之前,先从Gamma空间转换粒子颜色
Custom Vertex Streams 配置材质的“顶点着色器”中可用的粒子属性
Cast Shadows

如果启用,粒子系统会在阴影投射光 照射到它上时创建阴影

On---启用阴影

Off---禁用阴影

Two Sided----允许从网格的任一侧投射阴影

Shadows Only---使阴影可见,但“网格”本身不可见

Receive Shadows 决定阴影是否可以投射到粒子上。只用不透明材质才能接受阴影
Shadows Bias 沿着灯光的方向移动阴影。这将删除由于使用广告牌近似体积而导致的阴影伪影
Motion Vectors

设置是否使用运动矢量来跟踪此粒子系统的“变换”组件从一帧到下一帧的每像素屏幕空间运动

Camera Motion Only---仅使用相机移动来跟踪运动

Per Object Motion---使用特定过程来跟踪此渲染器的运动

Force No Motion---不跟踪运动

Sorting Layer ID 渲染器的排序图层的名称
Oeder in Layer 此渲染器在排序图层中的顺序
Light Probes 基于探头的光照插值模式
Reflection Probes 如果启用并且场景中存在反射探头,则会为此GameObject拾取反射纹理并将粒子纹理设置为内置的着色器对应变量
Anchor Override 使用“光探测器”或“反射探测器”系统时确定插值位置的变换

5.Velocity over Lifetime模块允许用户控制粒子在其生命周期内的速度

Linear X,Y,Z  X、Y和Z轴上的粒子线速度
Space  指定线性X、Y、Z轴是指本地空间还是世界空间
Orbital X,Y,Z  X、Y和Z轴周围的粒子轨道速度
Offset X,Y,Z 轨道中心的位置,作用于轨道运行的粒子
Radial 粒子的径向速度远离或朝向中心位置
Speed Modifier 在当前行进方向上或周围,应用乘数到粒子的速度

6.Limit Velocity over Lifetime模块控制粒子在其生命周期内的速度降低情况。

Separate Axes 启用后,将坐标轴拆分为单独的X、Y和Z,即分离坐标轴
Speed  设置粒子的速度限制
Dampen  当粒子速度超过速度限制时,粒子速度降低的数值
Drag  对粒子速度应用线性拖动
Multiply by Size 启用后,较大的粒子会受到阻力系数的影响
Multiply by Velocity 启用后,较快的粒子会受到阻力系数的影响

7.Inherit Velocity模块控制粒子的速度如何影响其父对象随时间的移动

Mode

指定发射器速度应用于粒子的不同模式

Current---发射器的当前速度将应用于每一帧上的所有粒子

Initial---当每个粒子生成时,发射器的速度将被施加一次。粒子产生后,发射器速度的任何改变都不会影响该粒子

Multiplier 粒子需要继承的发射器速度的比例

8.Lifetime by Emitter Speed模块根据粒子生成时发射器的速度控制每个粒子的初始寿命。它将粒子的开始寿命乘以一个值,该值取决于生成粒子的对象的速度对于大多数粒子系统,这是游戏对象速度,但对于子发射器,速度来自子发射器粒子源自的父粒子

Multiplier 应用于粒子初始寿命的乘数。模块使用此值的方式不同,具体取决于用户设置的曲线模式
Speed Range 最小和最大发射器将粒子系统贴图的速度设置为沿“倍增”曲线的值。如果发射器的速度等于第一个值,则乘数为曲线起点处的值。如果发射器的速度等于第二个值,则乘数为曲线末端的值。仅当“倍增”的曲线模式设置为“曲线”或“两条曲线之间随机”时,此属性可用

9.Force over Lifetime模块可以指定一个方向的力(如风、吸引力等)为粒子加速

X、Y、Z 给每个粒子施加到X、Y和Z轴上的力,下拉菜单中包含用于Randomize模式的添加力选项
Space 选择是在局部空间还是世界空间中施加力
Randomize 使用“两个常数”或“两个曲线”模式时,会导致在定义的范围内的每帧上选择新的力方向。该选项会造成不稳定的粒子运动

10.Color over Lifetime模块指定粒子的颜色和透明度在其生命周期中的变化情况

Color 粒子在其生命周期内的颜色梯度。渐变条的左侧点表示粒子寿命的开始,渐变条的右侧表示粒子寿命的终点

11.Color by Speed模块根据粒子的速度来设置粒子的颜色

Color 在速度范围内定义的粒子的颜色梯度
Speed Range 颜色梯度映射到的速度范围的低端和高端(超出范围的速度将映射到渐变的终点)

12.Size over Lifetime模块用来设置那些涉及根据曲线改变粒子大小的特殊效果

Separate Axes 在每个坐标轴上独立控制粒子路径
Size 定义粒子尺寸在其生命周期内变化的曲线

13.Size by Speed模块根据速度改变粒子的大小

Separate Axes 在每个坐标轴独立控制粒子路径
Size 定义粒子在速度范围内的大小的曲线
Speed Range 粒子尺寸曲线映射到的速度范围的低端和高端(超出范围的速度将映射到曲线的终点)

 

14.Rotation over Lifetime模块用来配置粒子在移动时的旋转情况

Separate Axes 启用后,可以为X、Y、Z轴单独设置旋转
Angular Velocity

旋转速度,以度/秒为单位

15.Rotation by Speed模块根据粒子的移动速度改变来设置粒子的旋转速度

Separate Axes 启用后,可以为X、Y、Z轴单独设置旋转
Angular Velocity

旋转速度,以度/秒为单位

Speed Range 粒子尺寸曲线映射到的速度范围的低端和高端(超出范围的速度将映射到曲线的终点)

16.External Forces模块用于修改风区的效果和粒子系统系统发射的粒子上的力场

Multiplier 应用于风区力的比例值
Influence Filter 选择是否包括基于层遮罩的力场或通过显式列表
Influence Mask 使用层遮罩可以确定哪些力场会影响此粒子系统。当“影响过滤器”(Influence Filter)设置为“层遮罩”(Layer Mask)时可用

17.Noise模块用来给粒子添加湍流,它采用噪声算法来改变粒子的运动轨迹

Separate Axes 控制强度并在每个坐标轴上进行独立映射
Strength 一条曲线,用于定义粒子在其生命周期内的噪声影响有多强。值越高,粒子移动越快
Frequency 低值会产生柔和,平滑的噪声,而高值会产生快速变化的噪声。这可以控制粒子改变行进方向的噪声场,以及方向变化的突然程度
Scroll Speed 随着时间的推移,该设置会导致不可预测和不稳定的粒子运动
Damping 启用后,强度与噪声成正比
Octaves 指定组合多少层重叠噪声场以产生最终频率值。越复杂,性能成本越高
Octave Multiplier 对于每个额外的噪声层,按比例降低强度
Octave Scale 对于每个噪声附加层,通过乘数调节频率
Quality 虽然较低的质量设置会显著降低性能成本,但也会影响噪声的有趣程度
Remap 将最终噪声值重新映射到不同的范围
Remap Curve 描述最终噪声值如何变化的曲线。例如,用户可以使用此选项来选择噪声场的较低范围,并通过创建从高处开始并以零结束的曲线来忽略较高的范围
Position Amount 用于控制噪声对粒子位置影响程度的乘数
Rotation Amount 用于控制噪声影响粒子旋转的乘数,以度/秒为单位
Size Amount 用于控制噪声对粒子路径影响程度的乘数

18.Collision模块控制粒子与场景中的物体是否会产生碰撞

Type

选择平面模式或世界空间模式

Planes           可拓展的转换列表,用于定义碰撞平面

Visualization 选择是否将Scene视图中的碰撞平面,Gizmo显示为线框网格或实体平面
Scale Plane 用于可视化的平面大小
Dampen 碰撞后失去的粒子速度的分值
Bounce 碰撞后从表面反弹的粒子速度的分值
Lifetime Loss 粒子在碰撞时失去的总生命周期的分值
Min Kill Speed 碰撞后行驶速度低于此速度的粒子将从系统中移除
Max Kill Speed

碰撞后行驶速度高于此速度的粒子将从系统中移除

Radius Scale 允许用户调整粒子碰撞球体的半径,使其更贴近粒子图形的可视边缘
Send Collision Messages

启用后,则可以通过OnParticleCollision函数从脚本中检测粒子碰撞

Visualize Bounds 在Scene视图中每个粒子的碰撞边缘渲染为线框形状

19.Triggers模块能够在于场景中的一个或多个碰撞器交互时触发回调。粒子进入或离开碰撞器时,或者粒子位于碰撞器内部或外部时,可以触发回调。用户可以使用回调作为一种简单的方式来在粒子进入碰撞器时消除它(例如防止雨滴穿透屋顶),或者此模块用来修改任何或所有粒子的属性。该模块还提供了Kill选项以自动删除粒子,而Ignore选项表示忽略碰撞事件

Inside 选择Callback,粒子位于碰撞器内部时触发事件。选择Ignore以便在粒子位于碰撞器内部时不触发事件。选择Kill以消除碰撞器内部的粒子
OutSide 选择Callback,粒子位于碰撞器外部时触发事件。选择Ignore以便在粒子位于碰撞器外部时不触发事件。选择Kill以消除碰撞器外部的粒子
Enter 选择Callback,粒子进入碰撞器时触发事件。选择Ignore以便在粒子进入碰撞器时不触发事件。选择Kill,当粒子进入碰撞器时消除它们
Exit

选择Callback,粒子离开碰撞器时触发事件。选择Ignore以便在粒子离开碰撞器时不触发事件。选择Kill,当粒子离开碰撞器时消除它们

Collider Query Mode

指定此粒子系统用于获取有关粒子与之交互的碰撞器的信息的方法。这会增加处理触发器模块的资源强度,因此,如果不需要任何额外的冲突信息,请将此属性设置为Disabled

Disabled---不获得任何关于每个粒子与哪个对撞机交互的信息

One---获取有关每个粒子交互的第一个碰撞器的信息。如果一个粒子与帧中的多个碰撞器交互,则会返回与该粒子交互的碰撞器列表中的第一个碰撞器

All---获取每个粒子与之交互的每个碰撞器的信息

Radius Scale 此参数设置粒子的碰撞器边界,允许事件在粒子接触碰撞器之前或之后出现。例如,用户可能希望粒子在弹回之前看起来稍微穿透碰撞对象的表面,在这种情况下,用户可以将“半径比例”设置略小于1,注意,当事件实际发生时,此设置不会更改触发器,但可以延迟或提高触发器的视觉效果。输入1表示事件在粒子碰到碰撞器时出现;输入一个小于1的值,触发器在粒子穿透碰撞器后出现;输入一个大于1的值,触发器在粒子穿透碰撞器前出现
Visualize Bounds 允许用户在编辑器窗口中显示粒子的碰撞器边界

20.Sub Emitters模块允许用户设置子发射器。这些是在粒子寿命的某些阶段在粒子的位置创建的附加粒子发射器

配置子发射器的列表,并选择它们的触发条件以及它们从父粒子继承的属性

21.Texture Sheet Animation模块将纹理视为动画帧播放的单独子图像的网格

Mode

选择网格或纹理图像

Tiles 纹理在X和Y方向上划分的平铺数量
Animation 动画模式可以设置为整张或单行(即工作表的每一行代表一个单独的动画序列)
Time Mode 选择粒子系统在动画中对帧采样的方式
Frame over Time 一条曲线,指定动画帧随着时间的推移如何增加
Start Frame 允许用户指定粒子动画从哪一帧开始(对于在每个粒子上随机定向动画非常有用)
Cycles 动画序列在粒子生命周期内重复的次数
Affected UV Channels 允许用户准确指定受到粒子系统影响的UV流

22.Lights模块用来将实时灯光添加到一定比例的粒子中

Light 指定一个Light Prefab,描述粒子灯的外观
Ratio 介于0和1之间的值,描述将接收光的粒子的比例
Random Distribution 选择是随机分配还是定期分配灯光。启用后,每个粒子都有一个随机接收基于比例的光的机会。较高的值增加了粒子具有光的概率。设置为false时,Ratio控制新创建的粒子接收光的频率(例如每第N个粒子接收光)
Use Particle Color 启用后,Light的最终颜色将通过其附加的粒子的颜色进行调制。不启用时,则使用Light颜色而不进行任何修改
Size Affects Range 启用后,指定的灯光范围将乘以粒子的大小
Alpha Affects Intensity 启用后,光的强度乘以粒子Alpha值
Range Multiplier 使用此曲线在粒子的生命周期内将自定义倍增器应用于灯光范围
Intensity Multiplier 使用此曲线将自定义乘数应用于粒子生命周期内的光强度
Maximum Lights 此设置可以避免意外创建大量灯光,这有时会使编辑器无响应或使应用程序运行的非常慢

23.Trails模块用于给粒子添加运动轨迹,即粒子拖尾

Mode 选择生成粒子拖尾的模式。Particle mode产生一种效果,每个粒子在其路径中留下固定的痕迹,Ribbom mode创建一条根据年龄连接每个粒子的路径
Ratio 介于0和1之间的值,描述分配了Trail的粒子的比例。Unity随机分配Trail,因此该值表示概率
Lifetime

Trail中每个顶点的生命周期,表示为它所属粒子的生命周期的乘数。当每个新顶点添加到Trail时,它在存在的时间超过该粒子特效总生命周期后消失

Minimum Vertex Distance

定义粒子在接收新顶点之前必须经过的距离

World Space

启用后,即使使用本地空间,Trail顶点也不会相对与粒子系统的GameObject移动。相反,Trail顶点在世界空间中被丢弃,并忽略粒子系统的任何移动

Die With Particles

如果选中此项,Trail会在粒子死亡时立即消失。未选中则剩余的Trail会根据自己的剩余生命周期自然消失

Texture Mode 选择应用于Trail的纹理是沿其整个长度拉伸,还是重复N个距离单位。重复率基于材料的平铺参数进行控制
Size affects Width 启用后,Trail宽度将乘以粒子的大小
Size affects Lifetime 启用后,Trail寿命将乘以粒度
Inherit Particle Color 启用后,Trail颜色将由粒子颜色调制
Color over Lifetime 一条曲线,用于控制整个Trail在其附着的粒子的整个生命周期内的颜色
Width over Trail 用于控制Trail宽度的曲线
Color over Trail 用于控制Trail颜色的曲线
Generate Lighting Data 启用后可构建包含法线和切线的Trail几何体。这允许它们使用场景照明的材质,例如通过标准着色器或使用自定义着色器

24.Custom Data模块允许用户在编辑器中定义或在脚本中设置要附加到粒子的自定义数据格式。Custom Data的Mode属性可以是Vector的形式,最多4个MinMaxCurve组件,也可以是Color的形式,这是一个支持HDR的MinMAxGradient。Custom Data在脚本和着色器中驱动自定义逻辑。用户通过单击Custom Data模块面板中输入框后面倒三角按钮,可在下拉菜单中自定义每个曲线/渐变的情况。例如,曲线可以用于自定义Alpha测试,渐变可以用于向粒子添加辅助颜色。通过编辑标签,可以很方便的在UI中保留每个自定义数据条目的记录

你可能感兴趣的:(unity,学习,游戏引擎)