Unity粒子系统学习记录4-Renderer模块和Custom Data模块

Renderer 模块的设置决定了粒子的图像或网格如何被其他粒子变换、着色和过度绘制。

Renderer Mode

渲染模式,决定了粒子如何被图像或网格渲染

  • Billboard:片面一直正对朝向摄像机(一种二维的效果)
  • Strectched Billboard:片面一直正对朝向摄像机,并附带各种拉伸效果
    • Camera Scale:根据摄像机的移动拉伸粒子
    • Velocity Scale:根据粒子的速度拉伸粒子
    • Length Scale:沿粒子的速度方向按比例拉伸粒子大小
    • Freeform Stretching:粒子是否应使用自由形式拉伸。通过这种拉伸行为在正面观察粒子时,粒子不会变薄。
    • Rotate With Stretch:根据粒子的拉伸方向旋转粒子。这是在其他粒子旋转的基础上添加的。仅当启用Freeform Stretching时,此特性才有效果
  • Horizontal Billboard:水平设置粒子(粒子平铺在地面上的效果,类似魔法阵)
  • Vertical Billboard:垂直设置粒子
  • Mesh
  • None

Billboard模式中的属性

Normal Direction

Unity对粒子的光照法线偏移,为1时,发现指向摄像机,为0时,法线指向屏幕中心

Min Particle Size

最小的粒子所占屏幕视口的比例(忽略其他设置)

Max Particle Size

最大的粒子所占屏幕视口的比例(忽略其他设置)

Allow Roll

控制面向摄影机的粒子是否可以围绕摄影机的Z轴旋转。禁用此功能对于VR应用尤其有用

Mesh模式中的属性

Enable Mesh GPU Instancing

控制Unity是否使用GPU实例化渲染粒子系统

Material 材质

Unity用于渲染粒子的材质

Trail Material 拖尾材质

仅在启用了Trails模式后才有效,设置拖尾的材质

Sort Mode排序模式

粒子渲染的排序模式

  • None
  • By Distance:根据离摄像机的距离来排序,距离摄像机近的渲染在前面
  • Oldest in Front:生命周期老的渲染在前
  • Youngest in Front:生命周期新的渲染在前
  • By Depth:根据粒子和摄像机的近剪裁平面的距离渲染粒子

Sorting Fudge

粒子系统与粒子系统之间的渲染次序。值越小,优先级越高。

Render Alignment

决定粒子平面(Billboard)的朝向

  • View:面向摄像机平面
  • World:朝向世界的绝对坐标(法线与z轴平行)
  • Local:朝向局部坐标
  • Facing:面向由活动摄像机的游戏对象的tansform组件定义的直接位置
  • Velocity:朝向和速度的方向相同

Flip

在指定轴上镜像一定比例的粒子,较高的值会翻转更多的粒子。

Pivot

修改旋转粒子的中心轴心点。

Visualize Pivot

单个粒子轴心点的显示和隐藏

Masking

设置粒子与遮罩的交互

  • No Masking:粒子系统不与场景中的任何精灵遮罩交互。这是默认选项。
  • Visible Inside Mask:粒子在由精灵遮罩覆盖的地方是可见的,而在遮罩外部不可见。
  • Visible Outside Mask:粒子在精灵遮罩外部是可见的,而在遮罩内部不可见。

Apply Active Color Space

应用活动色彩空间,在线性色彩空间中渲染时,系统会在将粒子颜色上传到 GPU 之前,先从伽马空间转换粒子颜色。

Custom Vertex Streams

自定义顶点流

Cast Shadows

是否启用阴影

  • On:启动
  • Off:不启动
  • Two-Sided:双面投射阴影,允许从粒子任意一侧投射阴影
  • Shadows Only:只显示阴影

Motion Vectors(不是所有的平台都支持)

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

Sorting Layer ID

此渲染器排序图层的名称

Order In Layer

此渲染器在排序图层中的顺序

Light Probes

基于探针的光照插值模式。

Custom Data模块

允许您在 Editor 中定义要附加到粒子的自定义数据格式。

自定义数据可以有两种形式:Vector和Color