1. 粒子系统基础参数:控制粒子初始状态,全局状态
¤ Duration:粒子系统运行的时间长度(秒)
¤ Looping:循环开关,若启用此属性,系统将重复播放粒子
¤ Prewarm:预加载开关,启用粒子系统会在播放前预加载,一旦播放就会达到预设置的Max Particles, 比如漫天星河有3000颗粒子,但按照粒子发射速率,估计要好多秒
¤ Start Delay:延迟播放,启用料子将会在设定时间后才开始发射
♦ Constant:数值,单位秒
♦ Random Between Two Contants:在设定的两个数值之间随机
¤ Start Lifetime:每个粒子的初始生命周期(秒),粒子被创建出来到自动销毁的时间
¤ Start Speed :每个粒子的初始速度
¤ 3D Start Size:三个轴向控制粒子的初始大小,与Start Size互斥,只能启用其中一个
¤ Start Size:同比控制粒子的初始大小,与3D Start Size互斥,只能启用其中一个
¤ 3D Start Rotation :三个轴向控制粒子的初始旋转,与Start Rotation互斥,只能启用其中一个
¤ Start Rotation:同角度控制粒子的初始旋转,与3D Start Rotation互斥,只能启用其中一个
¤ Filp Rotation:按比例控制粒子反向旋转,取值范围0-1;
¤ Start Color:设置粒子的初始颜色
♦ Color:颜色值控制
♦ Gradient:渐变色控制
♦ Random Between Two Colors:两个颜色之间随机
♦ Random Between Two Gradients:两个渐变之间随机
♦ Random Color:随机颜色
¤ Gravity Modefier:控制重力对料子影响程度,取值范围0-1;
¤ Simulation Space:粒子发射后的运动坐标参照
♦ Local:局部
♦ World:世界
♦ Custom:自定义
¤ Simulation Speed:粒子的播放速度
¤ Delta Time:粒子的更新模式,控制粒子受不受Time Scale的影响
♦ Scaled:启用Time Scale
♦ Unscaled:不启用Time Scale
¤ Scaling Mode:缩放模式
♦ Hierarchy:粒子跟随父级进行缩放
♦ Local:忽略父级缩放
♦ Shape:按照当前粒子的发射Shape来缩放
¤ Play On Awake:粒子创建后是否立即播放的开关
¤ Emitter Velocity:发射器速率
♦ Transform:使用Transform计算速率
♦ Rigidbody:使用刚体计算速率
¤ Max Particies:最大粒子数,粒子数量到阀值就销毁按创建时间顺序销毁
¤ Auto Random Seed:自动粒子随机种子,每次播放效果不一样,禁用则会启动手动随机种子,可播放出重复粒子效果
¤ Stop Action:所有粒子生命线束时的操作,当设置了Looping时,此设置无效
♦ None:什么都不做
♦ Disable:禁用
♦ Destroy:销毁
♦ Callback:调用附加到粒子游戏对象脚本里的OnParticleSystemStopped回调方法
¤ Culling Mode:裁剪模式 控制粒子系统不在摄像机范围内时运行状态
♦ Automatic:自动模式 注:如果是单次播放则不暂停,如果是循环(Looping)播放则暂停运行
♦ Pause And Catch-up:暂停但是没有完全暂停 注:暂停模拟,但当再次进入摄像机时则计算出它应该在的位置
♦ Pause:暂停运行
♦ Always Simulate:一直运行
¤ Ring Buffer Mode:粒子在生命周期结束时不会销毁,而是一直存活到最大粒子缓冲区(Max Particles)满,届时新的粒子将取代旧的粒子
♦ Disabled:禁用该模式
♦ Pause Until Replaced:暂停直到替换
♦ Loop Until Replaced:循环直到替换 在设定的两个值之间
2. Emission:控制粒子的发射速率、时间、波次
¤ Rate over Time:每个时间单位发射的粒子数量(秒) 注:这两个值不相互冲突,假如10秒内汽车(粒子系统)移动了20米,那么就要发射(10×参数1) + (20×参数2)个粒子数,也就是各自计算各自所发射的粒子数
¤ Rate over Distance:每个移动距离单位发射的粒子数量(米)
¤ Bursts:该参数主要用于粒子爆发的参数设置、比如爆炸、或间歇性的粒子喷射之类的效果 注:该参数和上述两个参数依旧相互不冲突,各管各的
♦ Time:设置爆发粒子的时间
♦ Count:设置发射的粒子数
♦ Cycles:设置发射波次,可自定义波次,也可选择无限波次
♦ Interval:设置每个爆发周期的间隔时间
♦ Probability:设置每个爆发周期生成粒子的可能性
3. Shape:定义发射粒子体积的形状
¤ Shape:
♦ Sphere:球体
♦ Hemisphere:半球 注:球和半球属性一样
• Radius:球体或半球的半径
• Radius Thickness:球体或半球的内壁半径,1实心,0空心
• Arc:设置球体的弧度,默认360是一个球体,如果设置为180,就成了半球了
› Mode:产生粒子的顺序模式
» Random:随机
» Loop:循环
» Ping-Pong:往返循环
→ Speed:速度
» Burst Spread:爆发
› Spread:只在弧线特定角度产生粒子,0则禁用
♦ Cone:锥体
• Angle:锥体顶部开合角度,0-90范围
• Radius:锥体的半径
• Radius Thickness:内壁半径,1实心,0空心
• Arc:设置锥体的弧度
› Mode:产生粒子的顺序模式
» Random:随机
» Loop:循环
» Ping-Pong:往返循环
→ Speed:速度
» Burst Spread:爆发
› Spread:只在弧线特定角度产生粒子,0则禁用
• Length:锥体长度,当Emit from设置为Volume时生效
• Emit from:从哪里开始发射粒子
› Base:产生粒子的顺序模式
› Volume:产生粒子的顺序模式
♦ Donut:圆环体
• Radius:圆环体的半径
• Donut Radius:圆环体的粗细
• Radius Thickness:内壁半径,1实心,0空心
• Arc:设置弧度
› Mode:产生粒子的顺序模式
» Random:随机
» Loop:循环
» Ping-Pong:往返循环
→ Speed:速度
» Burst Spread:爆发
› Spread:只在弧线特定角度产生粒子,0则禁用
♦ Box:正方体
• Emit from:发射粒子位置
› Volume:体积
› Shell:外边缘
› Edge:边 注:外边缘和边属性一样
» Box Thickness:控制体积厚度,取值范围0-1
♦ Mesh:网格
• Type:发射粒子类型
› Vertex:顶点
» Mode:产生粒子的顺序模式
→ Random:随机
→ Loop:循环
→ Ping-Pong:往返循环
↓ Speed:速度
› Edge:边
» Mode:产生粒子的顺序模式
→ Random:随机
→ Loop:循环
→ Ping-Pong:往返循环
↓ Speed:速度
» Spread:扩散
› Triangle:三角面
• Mesh:网格资源
• Single Material:指定是否从特定子网格(由材质索引号标识)发射粒子
• Use Mesh Colors:使用网格顶点颜色调整粒子颜色,如果顶点颜色不存在,则使用材质中颜色属性“Color“或”TintColor”
• Normal Offset:在网格表面法线方向偏移距离处发射粒子
♦ Mesh Renderer:网格渲染器 注:属性同上
♦ Skinned Mesh Renderer:蒙皮网格渲染器 注:属性同上
♦ Sprite:精灵
• Type:发射粒子类型
› Vertex:顶点
› Edge:边
› Triangle:三角面
• Sprite:精灵资源
• Normal Offset:在精灵表面法线方向偏移距离处发射粒子
♦ Sprite Renderer:精灵渲染器 注:属性同精灵
♦ Circle:圆圈 注:2D
• Radius:圆圈半径
• Radius Thickness:厚度,1实心,0空心
• Arc:设置圆圈的角度
› Mode:产生粒子的顺序模式
» Random:随机
» Loop:循环
» Ping-Pong:往返循环
→ Speed:速度
» Burst Spread:爆发
› Spread:只在弧线特定角度产生粒子,0则禁用
♦ Edge:边 注: 2D
• Radius:长度
• Mode:产生粒子的顺序模式
› Random:随机
› Loop:循环
› Ping-Pong:往返循环
» Speed:速度
› Burst Spread:爆发
› Spread:只在弧线特定角度产生粒子,0则禁用
♦ Rectangle:矩形 注:2D
¤ Texture:在发射粒子形状表面贴上纹理,如果这里没有设置,就不会出现属性。主要用于设置纹理对粒子的影响,比如通过纹理贴图的颜色信息来影响粒子的发射,粒子本身的颜色等等
♦ Clip Channel:裁剪通道,选择
• Red:红色通道
• Green:绿色通道
• Blue:蓝色通道
• Alpha:透明通道
♦ Clip Threshold:裁剪阈值,取值0-1,0代表全通过
♦ Color affects Particles:粒子受到纹理颜色影响而改变颜色
♦ Alpha affects Particles:粒子受到纹理透明度的影响而改变透明度
♦ Bilinear Filtering:双线过滤,对像素比较少的纹理进行优化
注:举例说明
我们假设粒子形状现在是一个锥桶,粒子要从桶底生成,这个纹理贴图就是一块五颜六色的湿抹布,贴在了桶底上,严丝合缝,滴水不漏。
Color affects Particles属性用于,哪一滴水(粒子)通过了湿抹布的哪一个位置,这滴水就要被湿抹布上面的颜色所沾染,从而变色。
Alpha affects Particles属性同理,只不过变化的是透明度。
Clip Channel属性是和Clip Threshold密切相关的,假设湿抹布有三种颜色红绿蓝,对应RGB,如果我们选择R也就是红色,那么只有红色水滴(预先设置为红色的粒子)才能通过,通过的概率由Clip Threshold控制。
¤ Position:设置粒子发射器的位置
¤ Rotation:设置粒子发射器的旋转
¤ Scale:设置粒子发射器的缩放
注:说明上面三属性一些问题
如果主模块的Scaling Mode属性设置为了Local,那么通过Transform组件来缩放粒子系统会导致粒子本身被缩放,如果用Shape模块内的Scale属性就完全不会出现这种情况。
或者说把Scaling Mode属性设置为Shape也行。所以是通过transform组件还是通过Shape模块来调整当前粒子系统的位置大小旋转,就看自己的心情了,需注意,两个不要一起调节,会乱套
¤ Align To Direction:根据初始行进方向定向粒子,也就是粒子固定朝着初始方向行进。无干扰情况下
¤ Randomize Direction:将粒子方向随机朝向某处,设置为0,无效,为1,粒子方向完全随机
¤ Spherize Direction:将粒子方向朝球面方向混合,从它们的变换中心向外行进。设置为 0 时,此设置不起作用。设置为 1 时,粒子方向从中心向外(与 Shape 设置为 Sphere 时的行为相同)
¤ Randomize Position:距离原有发射点的位置进行随机化,0无效,1完全生效
¤ 四个可视化按钮:通过这四个按钮操作的数据,会修改上面Position Rotation Scale的值
4. Velocity over Lifetime:控制粒子在生命周期内的速度
¤ Linear:粒子在X、Y和Z轴的线性速度
¤ Space:指定线性速度参照的坐标空间
♦ Local:局部
♦ World:世界 仅对Linear生效
¤ Orbital:粒子绕某个轴旋转的轨道速度
¤ Offset:粒子所绕旋转轴的偏移量
¤ Radial:粒子远离/朝向中心位置的径向速度
¤ Speed Modifier:对上述参数乘以一个量值
注:模块说明:
对于上述参数的合理应用可以做出很炫的效果,比如漩涡,轮回圈,螺纹,螺旋攻击波等,主要是修改Linear用以指定方向,修改Orbital用于使粒子绕着某轴向旋转。
记得在主模块把初始速度设为0,这样更加方便参数计算修改
5. Limt Velocity over Lifetime:限制粒子在生命周期内的速度 控制粒子的速度在其生命周期内如何降低
¤ Separate Axes:按照XYZ轴来分别设置限速值 注:与Speed互斥
¤ Space:参照空间 注:启用Separate Axes时,此选项生效
♦ Local:局部
♦ World:世界
¤ Speed:粒子在其生命周期内的最大速度限制,若超过该值,则通过Dampen对速度降低
¤ Dampen:当粒子速度超过速度限制时,会通过Dampen以一定比例衰减速度直到达到Speed设定的值
¤ Drag:对粒子速度施加线性阻力(模拟空气阻力),作用于全局的,不受上面参数影响
¤ Multiply by Size:启用此属性后,较大的粒子会更大程度上受到阻力系数的影响
¤ Multiply by Velocity:启用此属性后,较快的粒子会更大程度上受到阻力系数的影响
注:模块说明:
该模块本质上和Velocity over Lifetime是相对的,一个是控制速度,一个是限制速度。
很少有在一起使用的场景。该模块的主要使用场景是爆炸(粒子初始速度很高,然后逐渐减弱到一个均值下落速度)、子弹、炮弹等等
6. Inherit Velocity:控制粒子的速度如何随时间推移而受到其父对象移动的影响
¤ Mode:指定如何将发射器速度应用于粒子
♦ Initial:每个粒子出生时将施加一次发射器的速度。粒子出生后对发射器速度的任何改变都不会影响该粒子
♦ Current:发射器的当前速度将应用于每一帧上的所有粒子。例如,如果发射器减速,所有粒子也将减速
¤ Multiplier:粒子应该继承速度的比例
7. Force over Lifetime:力来对粒子生命周期内的影响
¤ xyz:按照XYZ轴施加力到每个粒子上
¤ Space:参照空间
♦ Local:局部
♦ World:世界
¤ Randomize:使用 Two Constants 或 Two Curves 模式时生效;此属性会导致在每个帧上在定义的范围内选择新的作用力方向,因此会产生更动荡、更不稳定的运动
8. Color over Lifetime:控制粒子在生命周期内的颜色变化
¤ Color:用于设置粒子在其生命周期内的颜色变化
9. Color by Speed:控制粒子颜色根据速度变化
¤ Color:颜色渐变
¤ Speed Range:将颜色渐变映射到速度范围的上限和下限 第一个值代表初始色的速度阀值,第二个值代表目标色的速度阀值
10. Size over Lifetime:控制粒子在生命周期内的大小
¤ Separate Axes:是否在每个轴向独立控制
¤ Size:通过一条曲线来定义粒子在其生命周期内的大小
注:粒子的大小会按照曲线在其生命周期内的变化而变化,比如粒子从出生到消亡,Size是越来越小
11. Size by Speed:控制粒子大小根据速度变化
¤ Separate Axes:是否在每个轴向独立控制
¤ Size:通过一条曲线来定义粒子大小如何随着速度变化而变化
¤ Speed Range:速度范围的上限和下限
12. Rotation over Lifetime:控制粒子在生命周期内的旋转
¤ Separate Axes:是否在每个轴向独立控制
¤ Angular Velocity:旋转角速度 注:与Separate Axes互斥
13. Rotation by Speed:控制粒子旋转根据速度变化
¤ Separate Axes:是否在每个轴向独立控制
¤ Angular Velocity:旋转角速度,根据速度区间设置 注:与Separate Axes互斥
¤ Speed Range:速度范围的上限和下限,只有在Angular Velocity选择了曲线或双曲线时该参数才能使用,因为角速度要是动态的该模块才有意义
14. External Forces:控制粒子系统力场 Force Field对系统发射的粒子的影响
¤ Multiplier:施加到该粒子系统上的力的乘数,1全施加,0不施加
¤ Influence Filter 选择通过何种方式控制力场对粒子的影响
♦ Layer Mask:通过层的方式选择力场对哪一层生效
♦ List:通过力场List来确定,哪些力场对当前粒子系统生效
♦ Layer Mask And List:结合层和力场列表一起过滤
¤ 插一个粒子系统力场的内容:Particle System Force Field
♦ Shape:形状
• Shape:力场区域的形状
› Sphere:球形
› Hemisphere:半球
› Cylinder:圆柱体
› Box:立方体
• Start Range:设置力场形状内部从何处开始 单位米
• End Range:设置力场形状外部从何处结束 单位米
♦ Direction:设置线性力以应用于沿着各轴向的料子,值越高力越大
♦ Gravity:引力
• Strength:设置引力中心点对粒子的吸引力,值越高,强度越大
• Focus:设置引力中心点,值为0则是形状中心处,值为1则是形状外边缘
♦ Rotation:力场的旋转涡流
• Speed:设置粒子围绕涡流的速度,值越高,速度越快
• Attraction:设置粒子被拖入涡流的强度,值为1则是最大吸引力,值为0则是不应用任何吸引力
• Randomness:设置形状的随机轴以推动粒子四处移动。值为1表示最大随机性,值为0则不应用随机性
♦ Drag:力场拖拽
• Strength:设置拖曳效果的强度,以减慢粒子的速度。值越高,强度越大
• Multiply by Size:是否根据粒子的大小调整拖拽的强度
• Multiply by Velocity:是否根据粒子的速度调整拖拽的强度
♦ Vertor Field:矢量场 注:矢量场是预先计算好的力场,Unity无法直接制作,需要用到插件或去其他软件制作
• Volume Texture:矢量场资源
• Speed:设置乘数的速度以应用于通过矢量场的粒子。值越高,速度越快
• Attraction:设置 Unity 将粒子拖动到矢量场运动中的强度。值越高,吸引力越大
15. Noise:为粒子添加噪波影响
¤ Separate Axes:分轴控制强度,在每个轴向上独立控制 注:关于Separate Axes,如果你想让粒子不局限于原地打转,而是朝着某方向跌跌撞撞,建议打开此设置,并把其中某个轴设置的比其他轴大一点
¤ Strength:整体控制粒子的波动强度,值越高粒子波动起伏程度越大 注:关于强度与频率,如果想做类似于吹泡泡的运动轨迹,可以将强度拉高,频率降低,产生更加柔和飘飘的感觉,同时配合主模块的Simulation Speed属性,将整体速度降低
¤ Frequency:频率,控制粒子改变行进方向的频率以及方向变化的突然程度,值越低越平稳柔和,值越高越尖锐快速
¤ Scroll Speed:噪声图的滚动速度,值越高粒子越不稳定(位移、缩放、角度)
¤ Damping:阻尼,若启用,则强度与频率成正比
¤ Octaves:通过重叠噪声图来产生最终噪声,默认值为1,即仅一层噪声图,若大于1则下列两个属性生效
¤ Octave Multiplier:每个附加的噪声层,按此比例降低强度,默认0.5
¤ Octave Scale:每个附加的噪声层,按此乘数调整频率。默认2
¤ Quality:低质量可显著降低性能成本,但也失去了丰富度。Low(1D),Medium(2D),High(3D)三个选项。默认High(3D)
¤ Remap:将最终噪声值重新映射到不同的范围
¤ Remap Curve:映射曲线,Remap启用时生效
¤ Position Amount:控制噪声对粒子位置影响程度的乘数
¤ Rotation Amount:控制噪声对粒子旋转影响程度的乘数(度/秒)
¤ Size Amount:控制噪声对粒子大小影响程度的乘数
16. Collision:控制粒子如何与场景内物体发生碰撞
¤ Type:
♦ Planes:平面模式
• Planes:游戏对象资源,通过该对象的Transform来沿着XZ轴生成一个无限大的平面,Y轴为其平面法向
• Visualization:控制平面的可视化是网格还是平面
• Scale Plane:控制平面的可视化的大小 注:实际碰撞平面是无限大的,该选项仅供开发者在Scene窗口参考使用
• Dampen:粒子碰撞后损失的速度比例
• Bounce:粒子碰撞后从表面反弹的速度比例
• Lifetime Loss:粒子碰撞后损失的总生命周期比例
• Min Kill Speed:碰撞后运动速度低于此速度的粒子将从系统中予以移除
• Max Kill Speed:碰撞后运动速度高于此速度的粒子将从系统中予以移除
• Radius Scale:允许调整粒子碰撞球体的半径,使其更贴近粒子图形的可视边缘
• Send Collision Messages:如果启用此属性,则可从脚本中通过OnParticleCollision函数检测粒子碰撞
• Visualize Bounds:在Scene视图中将每个粒子的碰撞边界渲染为线框形状
♦ World:世界模式
• Mode:碰撞模式
› 2D:
› 3D:
• Dampen:粒子碰撞后损失的速度比例
• Bounce:粒子碰撞后从表面反弹的速度比例
• Lifetime Loss:粒子碰撞后损失的总生命周期比例
• Min Kill Speed:碰撞后运动速度低于此速度的粒子将从系统中予以移除
• Max Kill Speed:碰撞后运动速度高于此速度的粒子将从系统中予以移除
• Radius Scale:允许调整粒子碰撞球体的半径,使其更贴近粒子图形的可视边缘
• Collision Quality:碰撞质量
› High:碰撞始终使用物理系统来检测碰撞结果。此设置是最耗费资源但也是最准确的选项
› Medium:对先前碰撞进行缓存,之后如果有重复则调用此部分缓存,没有再查询物理系统,此设置仅适用于从不移动的静态碰撞体
› Low:对先前碰撞进行缓存,之后如果有重复则调用此部分缓存,没有再查询物理系统,比Medium查询物理系统次数更低,此设置仅适用于从不移动的静态碰撞体
› Collides With:选择粒子与之碰撞的层
› Max Collision Shapes:粒子碰撞可包括的碰撞形状(Mesh)的个数,且地形优先;默认为256,也就是说粒子可与256个不同的Mesh碰撞,再多一个就不生效了
› Enable Dynamic Collider:粒子是否响应与刚体碰撞体的碰撞 注:Collision Quality为High时可设置此选项
› Voxel Size:体积大小。 注:Collision Quality为Medium或Low时可设置此选项
• Collider Force:粒子碰撞后,对刚体碰撞体施加作用力
› Multiply By Collision Angle:向碰撞体施力时,根据粒子与碰撞体之间的碰撞角度来缩放力的强度。掠射角将比正面碰撞产生更小的力
› Multiply By Particle Speed:向碰撞体施力时,根据粒子的速度来缩放力的强度。快速移动的粒子会比较慢的粒子产生更大的力
› Multiply By Particle Size:向碰撞体施力时,根据粒子的大小来缩放力的强度。较大的粒子会比较小的粒子产生更大的力
• Send Collision Messages:如果启用此属性,则可从脚本中通过OnParticleCollision函数检测粒子碰撞
• Visualize Bounds:在 Scene 视图中将每个粒子的碰撞边界渲染为线框形状
17. Triggers:控制粒子与场景中碰撞体的触发
¤ Colliders:指定能够与粒子发生碰撞体触发事件的碰撞器列表
¤ Inside:粒子在碰撞体的边界内事件
¤ Outside:粒子在碰撞体的边界外事件
¤ Enter:粒子进入碰撞体的边界事件
¤ Exit:粒子退出碰撞体的边界事件
注:上述四个事件都有Ignore忽略,Kill销毁,Callback回调三种处理方式,Callback允许在OnParticleTrigger()回调函数中访问粒子。可以使用ParticlePhysics.GetTriggerParticles(触发事件类型,返回粒子列表List)函数来获取触发事件的粒子列表
¤ Radius Scale:调整粒子碰撞体边界,默认为1。
¤ Visualize Bounds:在Scene视图中将每个粒子的碰撞边界渲染为线框形状
18. Sub Emitters:控制粒子的子发射器
¤ 触发时机
♦ Birth:粒子被创建时触发
♦ Collision:粒子与对象发生碰撞时触发
♦ Death:粒子销毁时触发
♦ Trigger:粒子与触发碰撞体相互作用时触发
♦ Manual:仅在通过脚本进行请求时触发 通过调用ParticleSystem.TriggerSubEmitter触发
¤ Inherit:控制子发射器可继承的属性
♦ Nothing:不继承任何属性
♦ Everything 继承下述的一切
♦ Color:继承颜色
♦ Size:大小
♦ Rotation:旋转
♦ Lifetime:生命周期
♦ Duration:持续时间
¤ Emit Probability:发射概率,取值范围0-1
19. Texture Sheet Animation:将一组纹理视为动画进行控制播放
¤ Mode:
♦ Grid:网格模式
• Tiles:控制纹理切割成小块
• Animation:指定动画帧如何被播放
› Whole Sheet:整页是一个动画序列,从左到右,从上到下对整张图片进行动画处理
› Sign Row:每一行代表一个单独的动画序列,单行从左到右产生动画效果
» Row Mode:行模式
→ Custom:选指定的一行播放
↓ Row:行号
→ Random:随机选取一行播放
→ Mesh Index:根据分配给粒子的网格索引 (Mesh Index) 选择某行,当你想确保特定网格的粒子也使用相同的纹理时,这个选项比较有用
♦ Sprites:精灵模式。将渐变效果的纹理图转为精灵图并分割成多份,然后添加到当前模块,粒子系统便会根据这些精灵图来控制播放动画效果
¤ Time Mode:选择粒子系统对动画中的帧进行采样的方式
♦ Lifetime:在粒子的整个生命周期内使用动画曲线对帧进行采样
• Frame Over Time:横轴是粒子生命周期,纵轴是精灵图索引(随着生命周期依次播放)
♦ Speed:基于粒子速度的采样帧。速度范围指定帧选择的最小和最大速度范围
• Speed Range:通过动画将定义范围内的速度重新映射为0-1值
♦ FPS:根据指定的每秒帧数值对帧进行采样
• FPS:指定每秒帧数
¤ Start Frame:从第几帧开始
¤ Cycles:帧动画序列在粒子生命周期内重复的次数 注:Time Mode选择Lifetime或Speed此属性才可设置
¤ Affected UV Channels:指定哪些UV通道将被动画化
20. Lights:给粒子添加实时光照 注:Lights模块主要用于为粒子效果快速添加实时光照,粒子本身使用了自发光材质,但粒子对环境的照亮,则是使用Lights模块添加的实时光照效果
¤ Light:获取一个光照Prefab来描述单个粒子的光照
¤ Ratio:粒子是否接受光照的比率,介于0-1之间
¤ Random Distribution:true则按Ratio值随机分配光照(0.5代表一半的概率),false则按Ratio值定期分配光照(0.5代表隔一个粒子才被分配光照)
¤ Use Particle Color:光照颜色(Color)是否受到粒子本身颜色的影响
¤ Size Affects Range:光照范围(Range)是否受到粒子本身大小的影响
¤ Alpha Affects Intensity:光照强度(Intensity)是否受到粒子本身Alpha值的影响
¤ Range Multiplier:使用曲线在粒子的生命周期内将一个自定义乘数应用于光照范围,光照范围随着时间变化
¤ Intensity Multiplier:使用曲线在粒子的生命周期内将一个自定义乘数应用于光照强度,光照强度随着时间变化
¤ Maximum Lights:最大光照限制,防止突然创建了大量光照而死机
21. Trails:控制粒子的尾迹效果
¤ Mode-Particle:根据粒子自身路径渲染尾迹
♦ Ratio:被渲染尾迹粒子的概率,一个介于0-1的值
♦ Lifetime:粒子尾迹的生命周期
♦ Minimum Vertex Distance:添加两个顶点之间的最小距离(这么解释不太准确,但可以这样理解,值越小,尾迹顶点越多,越丝滑)
♦ World Space:ture则尾迹顶点忽略粒子系统的任何移动,false则尾迹顶点跟随粒子移动,详情看下面例图演示
♦ Die With Particles:尾迹是否随着粒子的死亡而消失,若不是,则剩余尾迹会根据自身剩余的生命周期自然消失
¤ Mode-Ribbon:将所有粒子相连接
♦ Ribbon Count:选择几条线段来连接所有粒子(默认一条线连接所有粒子)
♦ Split Sub Emitter Ribbons:子发射器上使用时,父粒子将连接所有相关的子粒子
♦ Attach Ribbons to Transform:当粒子系统使用世界坐标空间时,勾选此选项,线段会自动连接到世界原点
¤ Texture Mode:纹理模式(就是设置尾迹材质纹理如何映射到尾迹上)
♦ Stretch:沿线的整个长度映射纹理一次
♦ Tile:基于线长度(采用世界单位)沿线重复纹理
♦ DistributePerSegment:沿线的整个长度映射纹理一次(假设所有顶点均匀分布)
♦ RepeatPerSegment:沿线重复纹理(按每个线细分段一次的比率重复)
¤ Size Affects Width:尾迹宽度是否受到粒子大小的影响
¤ Size Affects Lifetime:尾迹生命周期是否受到粒子大小的影响
¤ Inherit Particle Color:尾迹颜色是否受到粒子颜色的影响
¤ Color over Lifetime:控制尾迹颜色随着生命周期的变化而变化
¤ Width over Trail:控制尾迹宽度相对于其长度的曲线
¤ Color over Trail:控制尾迹颜色相对于其长度的颜色条
¤ Generate Lighting Data:如果启用此属性,Unity 在构建线几何体时包含法线和切线。这样,线几何体就可以使用采用了场景光照的材质
¤ Shadow Bias:阴影偏差
22. Custom Data:控制粒子的自定义数据,可以自定义两个数据Custom1和Custom2 注:该模块和Renderer模块的Custom Vertex Streams作用差不多
¤ Mode:
♦ Disabled:禁用
♦ Vector:矢量
• Number of Components:控制的变量个数
♦ Color:颜色
23. Renderer:该模块决定了粒子的图像或网格如何被其他粒子变换、着色和过度绘制
¤ Render Mode:
♦ Billboard:公告牌。粒子朝向渲染对齐方向(默认朝向摄像机),无论如何移动,粒子都是面向玩家摄像机的
♦ Strectched Billboard:拉伸公告牌。保证朝向的情况下(粒子依旧面对相机),对粒子进行特殊拉伸,但可以调节更多的参数。该选项更多用于营造速度感。比如下雨之类的
• Camera Scale:通过摄像机移动拉伸粒子
• Speed Scale:通过粒子速度来决定粒子拉伸程度
• Length Scale:通过速度方向比例拉伸粒子,一般调节这个和上一个参数
♦ Horizontal Billboard:水平公告牌。水平设置粒子。如魔法阵,水平于地面
♦ Vertical Billboard:垂直公告牌。垂直设置粒子
♦ Mesh:网格
• Mesh:网格资源
♦ None:无
¤ Normal Direction:法线方向,指定如何计算图片的照明,值1按照扁平四边形计算照明,值0按照球形进行照片 注:只在Billboard、Strectched Billboard、Horizontal Billboard、Vertical Billboard模式时生效
¤ Material:选择图片或Mesh的材质 注:None模式下没有这个选项
¤ Sort Mode:排序模式,Unity使用粒子系统绘制和叠加粒子的顺序
♦ None:无
♦ By Distance:按照粒子距活动摄像机的距离
♦ Oldest in Front:生命周期最长的先被渲染
♦ Youngest in Front:生命周期最短的先被渲染
¤ Sorting Fudge:粒子系统与粒子系统之间的渲染次序。值越小,优先级越高
¤ Min Particle Size:单个粒子的最小粒度,占据视口多少,Mesh渲染模式不可用
¤ Max Particle Size:单个粒子的最大粒度,占据视口多少,Mesh渲染模式不可用
¤ Render Alignment:渲染对齐方向 注:只有Billboard模式和Mesh模式可用
♦ View:面向摄像机
♦ World:与世界轴对齐
♦ Local:与挂载游戏对象的transform组件对齐
♦ Facing:面向由活动摄像机的游戏对象的tansform组件定义的直接位置
♦ Velocity:与其速度矢量方向相同
¤ Flip:使一些粒子水平/垂直翻转,值越大,翻转次数越多
¤ Enable Mesh GPU Instancing:是否启用GPU实例化 注:只有Mesh模式可用
¤ Allow Roll:控制面向摄像机的粒子是否可以围绕摄像机的Z轴旋转 注:只有Billboard模式可用
¤ Pivot:修改旋转粒子的中心轴心点,此值是粒子大小的乘数
¤ Visualize Pivot:在“Scene窗口”中预览每个粒子枢轴点
¤ Masking:设置粒子与Sprite遮罩交互时的行为方式
♦ No Masking:默认选项,粒子系统不与场景中任何Sprite遮罩交互
♦ Visible Inside Masking:粒子在Sprite遮罩内部可见
♦ Visible Outside Masking:粒子在Sprite遮罩外部可见
¤ Apply Active Color Space:应用活动色彩空间,在线性色彩空间中渲染时,系统会在将粒子颜色上传到 GPU 之前,先从伽马空间转换粒子颜色
¤ Custom Vertex Streams:自定义顶点流,涉及到东西太多,详情参阅:https://docs.unity3d.com/2022.2/Documentation/Manual/PartSysVertexStreams.html
¤ Cast Shadows:是否启用阴影
♦ Off:禁用此粒子系统的阴影
♦ On:启用
♦ Two Sided:双面投射阴影,允许从粒子任意一侧投射阴影
♦ Shadows Only:仅阴影可见,粒子不可见、
¤ Receive Shadows:规定阴影是否可以投射到粒子上,只有不透明材质才可以接受阴影
¤ Shadow Bias:阴影偏移
¤ Motion Vectors:设定是否使用运动矢量跟踪此粒子系统的变换组件从一帧到下一帧的每像素屏幕空间运动
♦ Camera Motion Only:仅使用相机移动来跟踪运动
♦ Per Object Motion:使用特定过程跟踪此渲染器的运动
♦ Force No Motion:不跟踪
¤ Sorting Layer ID:此渲染器排序图层的名称
¤ Order In Layer:此渲染器在排序图层中的顺序
¤ Light Probes:光照探针,基于探头的照明插值模式,光照探针属于光照系统,详情参阅:https://docs.unity3d.com/2022.2/Documentation/Manual/LightProbes.html
♦ Off:关闭
♦ Blend Probes:混合
• Anchor Override:
♦ Use Proxy Volume:
• Proxy Volume Override:
• Anchor Override:
♦ Custom Provided:
• Anchor Override:
¤ Reflection Probes:反射探针,详情参阅:https://docs.unity3d.com/2022.2/Documentation/Manual/ReflectionProbes.html
♦ Off:关闭
♦ Blend Probes:混合
• Anchor Override:
♦ Blend Probes And Skybox:
• Anchor Override:
♦ Simple:
• Anchor Override:
浙公网安备 33010602011771号