Unity3D :Renderer 模块
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生
Renderer 模块
Renderer 模块的设置决定了粒子的图像或网格如何被其他粒子变换、着色和过度绘制。

使用渲染器模块
此模块是粒子系统组件的一部分。创建新的粒子系统游戏对象或将粒子系统组件添加到现有游戏对象时,Unity 会将渲染器模块添加到粒子系统。默认情况下,Unity 会启用此模块。
要创建新的粒子系统,请转到游戏对象>效果,然后单击粒子系统选项。然后,Unity 会创建一个新的粒子系统游戏对象,并在“层次结构”窗口中选择它。在“检查器”窗口中,粒子系统组件包含与粒子系统相关的所有设置和模块。选择“渲染器”模块以显示此模块的选项。
应用程序接口
由于此模块是粒子系统组件的一部分,因此可以通过粒子系统类访问它。有关如何在运行时访问此类和更改值的详细信息,请参阅 Renderer 模块。
属性
对于本节中的某些属性,可以使用不同的模式来设置其值。有关可以使用的模式的信息,请参阅随时间变化的属性。
属性: | 功能: | |||
---|---|---|---|---|
渲染模式 | Unity 如何从图形图像(或网格)生成渲染图像。有关详细信息,请参阅渲染模式和广告牌渲染模式。 | |||
广告牌 | Unity 将粒子渲染为广告牌,它们面向您在渲染对齐中指定的方向。 | |||
拉伸广告牌 | 粒子面向摄像机,并应用了各种可能的缩放选项。 | |||
摄像机比例尺 | 此设置仅在使用“拉伸广告牌渲染”模式时可用。 根据摄像机移动拉伸粒子。将其设置为零可禁用摄像机移动拉伸。 | |||
速度尺度 | 此设置仅在使用“拉伸广告牌渲染”模式时可用。 按粒子速度成比例拉伸粒子。将其设置为零以禁用基于速度的拉伸。 | |||
长度刻度 | 此设置仅在使用“拉伸广告牌渲染”模式时可用。 沿粒子的速度方向按其当前大小的比例拉伸粒子。将其设置为零会使粒子消失,实际上长度为零。 | |||
自由拉伸 | 此设置仅在使用“拉伸广告牌渲染”模式时可用。 指示粒子是否应使用自由形式拉伸。通过这种拉伸行为,当您正面观察粒子时,它们不会变薄。 | |||
拉伸旋转 | 此设置仅在使用“拉伸广告牌渲染”模式时可用。 指示是否根据粒子拉伸的方向旋转粒子。这是在其他粒子旋转之上添加的。仅当启用“自由形式拉伸”时,此属性才有效。如果禁用“自由形式拉伸”,则粒子始终根据其拉伸方向进行旋转,即使禁用了“随拉伸旋转”也是如此。 | |||
水平广告牌 | 粒子平面与 XZ“地板”平面平行。 | |||
垂直广告牌 | 粒子在世界 Y 轴上直立,但转向面向摄像机。 | |||
网孔 | Unity 从 3D 网格体而不是广告牌渲染粒子。有关网格渲染模式特定设置的更多信息,请参阅下面的“详细信息”部分。 | |||
网格分布 | 指定 Unity 用于将网格随机分配给粒子的方法。 此设置仅在使用网格渲染模式时可用。 | |||
统一随机 | Unity 将网格随机分配给权重均匀的粒子。粒子系统作为一个整体,在任何给定时刻都应该包含大致相等数量的每个可能的网格体。 此设置仅在使用网格渲染模式时可用。 | |||
非均匀随机 | Unity 将网格随机分配给具有用户定义每个网格权重的粒子。 启用此设置后,渲染器模块检查器窗口将显示列表中每个网格的网格列表和网格权重字段。您可以使用网格权重字段来控制 Unity 将每个网格分配给粒子的频率。 此设置仅在使用网格渲染模式时可用。 | |||
网格权重 | 控制 Unity 将此网格分配给粒子的可能性。权重彼此相对工作;Unity 分配权重是另一个网格的两倍的可能性是另一网格的两倍,无论其绝对值如何。有关详细信息,请参阅下面详细信息部分中的网格分布:非均匀随机。 仅当使用网格渲染模式且网格分布属性设置为“非均匀随机”时,此设置才可用。 | |||
没有 | Unity 不会渲染任何粒子。如果您只想渲染轨迹并隐藏任何默认粒子渲染,这与 Trails 模块一起使用非常有用。 | |||
法线方向 | Unity 用于粒子图形的光照法线偏差。值 1.0 表示摄像机处的法线,而值 0.0 表示法线指向屏幕中心。 此属性仅在使用广告牌呈现模式之一时可用:广告牌、拉伸广告牌、水平广告牌或垂直广告牌。 | |||
材料 | Unity 用于渲染粒子的材质。 | |||
步道材料 | Unity 用于渲染粒子轨迹的材质。 此选项仅在启用跟踪模块时可用。 | |||
排序模式 | Unity 使用粒子系统绘制和叠加粒子的顺序。 | |||
无 | 启用此设置后,Unity 不会对粒子进行排序。 | |||
按距离 | 根据到活动摄像机的距离对系统中的粒子进行排序。Unity 在距离较远的粒子之上渲染更靠近摄像机的粒子。使用设置旋转摄像机时,粒子的顺序不会更改。 | |||
前面最古老的 | Unity 渲染粒子系统前端存在时间最长的粒子。 | |||
最年轻的在前面 | Unity 渲染在粒子系统前面存在时间最短的粒子。 | |||
按深度 | Unity 根据粒子与摄像机近平面的距离来渲染粒子。使用此设置旋转摄像机时,粒子的顺序可能会更改。 | |||
分拣软糖 | 粒子系统排序顺序的偏差。较低的值会增加 Unity 将粒子系统绘制到其他透明游戏对象(包括其他粒子系统)上的相对几率。此设置仅影响场景中出现的整个粒子系统 - 它不会对系统中的单个粒子执行排序。 | |||
最小粒径 | 最小粒径(不考虑其他设置),表示为视口大小的一小部分。 此属性仅在使用广告牌呈现模式之一时可用:广告牌、拉伸广告牌、水平广告牌或垂直广告牌。 | |||
最大粒径 | 最大粒径(不考虑其他设置),表示为视口大小的一小部分。 此属性仅在使用广告牌呈现模式之一时可用:广告牌、拉伸广告牌、水平广告牌或垂直广告牌。 | |||
渲染对齐 | 此属性确定粒子广告牌面向的方向。 | |||
视图 | 粒子面向摄像机平面。 | |||
世界 | 粒子与世界轴对齐。 | |||
当地 | 粒子与其游戏对象的变换组件对齐。 | |||
面临 | 粒子面向活动摄像机的游戏对象中的变换组件定义的直接位置。 | |||
速度 | 粒子的朝向与其速度矢量的方向相同。 | |||
启用网状 GPU 实例化 | 此属性仅在使用网格渲染模式时可用。 此属性控制 Unity 是否使用 GPU 实例化渲染粒子系统。这需要使用兼容的着色器。有关更多信息,请参阅粒子网格体 GPU 实例化。 | |||
空翻 | 在指定轴上镜像一定比例的粒子。 较高的值会翻转更多的粒子。 | |||
允许滚动 | 控制面向相机的粒子是否可以绕相机的 Z 轴旋转。禁用此功能对于 VR 应用程序特别有用,其中 HMD(头戴式显示器)滚动可能会导致粒子系统出现不希望的粒子旋转。 | |||
支点 | 修改旋转粒子的中心轴心点。 此值是粒子大小的乘数。 | |||
可视化透视 | 在场景视图中预览粒子枢轴点。 | |||
掩蔽 | 设置粒子系统渲染的粒子与精灵蒙版交互时的行为。 | |||
无遮罩 | 粒子系统不与场景中的任何精灵遮罩交互。 这是默认选项。 | |||
可见内部面罩 | 粒子在由精灵遮罩覆盖的地方是可见的,而在遮罩外部不可见。 | |||
外遮罩可见 | 粒子在精灵遮罩外部是可见的,而在遮罩内部不可见。 精灵遮罩会隐藏其覆盖的粒子部分。 | |||
应用活动色彩空间 | 在线性色彩空间中渲染时,系统会先转换伽玛空间中的粒子颜色,然后再将其上传到 GPU。 | |||
自定义顶点流 | 配置材质的顶点着色器中可用的粒子属性。有关更多信息,请参阅粒子系统顶点流和标准着色器支持。 | |||
投射阴影 | 如果启用此属性,则当投射阴影的光源照射到粒子系统上时,粒子系统将创建阴影。 | |||
上 | 为此粒子系统启用阴影。 | |||
关闭 | 禁用此粒子系统的阴影。 | |||
双面 | 选择“双面”以允许从网格的任一侧投射阴影。启用此属性时,不考虑背面剔除。 | |||
仅阴影 | 选择“仅阴影”以使阴影可见,但网格本身不可见。 | |||
阴影偏差 | 沿光源方向移动阴影。这将消除因与广告牌近似体积而导致的阴影伪影。 | |||
运动矢量 | 设置是否使用运动矢量来跟踪此粒子系统的变换组件从一帧到下一帧的每像素屏幕空间运动。 注意:并非所有平台都支持运动矢量。有关详细信息,请参阅 SystemInfo.supportsMotionVectors。 | |||
仅摄像机运动 | 仅使用摄像机移动来跟踪运动。 | |||
每个对象运动 | 使用特定通道来跟踪此渲染器的运动。 | |||
强制不运动 | 不跟踪运动。 | |||
接收阴影 | 指示此系统中的粒子是否可以接收来自其他源的阴影。只有不透明的材质才能接收阴影。 | |||
排序图层标识 | 渲染器的排序图层的名称。 | |||
按图层排序 | 此渲染器在排序层中的顺序。 | |||
光探头 | 基于探针的光照插值模式。 | |||
反射探头 | 如果启用,并且场景中存在反射探针,Unity 会将最近的反射探针中的反射纹理分配给此游戏对象,并将纹理设置为内置着色器统一变量。 | |||
定位点覆盖 | 一种变换,用于确定使用光照探针或反射探针系统时的插值位置。 |
详
渲染模式
使用渲染模式在多种 2D 广告牌图形模式和网格模式之间进行选择。3D 网格体在表示实体游戏对象(如岩石)时为粒子提供了额外的真实性,还可以改善云、火球和液体的体积感。 网格必须启用读/写功能才能在粒子系统的网格渲染模式下工作。将网格分配给粒子系统(使用检查器窗口中的网格列表)时,Unity 会自动为这些网格启用读/写启用设置。
广告牌渲染模式
使用 2D 广告牌图形时,不同的渲染模式可以生成各种结果,使其适合特定用途:
- 广告牌模式对于表示从任何方向(如云)看起来相似的体积的粒子非常有用。
- 当粒子覆盖地面(例如目标指示器和魔法效果)或它们是平行于地面飞行或漂浮的平面物体时,水平广告牌模式很有用。
- 垂直广告牌模式使每个粒子保持直立并垂直于 XZ 平面,但允许它绕其 y 轴旋转。当您使用正交相机并希望颗粒大小保持一致时,这会很有帮助。
- 拉伸广告牌模式以类似于传统动画师使用的“拉伸和挤压”技术的方式强调粒子的表观速度。请注意,在拉伸广告牌模式下,粒子对齐以面向摄像机,并且还对齐其速度。无论速度尺度值如何,都会发生此对齐 - 即使速度尺度设置为 0,此模式下的粒子仍会与速度对齐。
使用广告牌渲染模式时,可以使用“法线方向”在平面矩形广告牌上创建球形着色。如果使用将光照应用于粒子的材质,这有助于创建 3D 粒子的错觉。
网格分布:非均匀随机

当网格分布设置为非均匀随机时,您可以自定义 Unity 将特定网格随机分配给粒子的频率。为此,请使用网格列表和网格权重字段。
在“网格”列表中,左侧的字段包含您希望粒子系统使用的网格,右侧的字段(在上图中突出显示)包含该网格的网格权重。使用每个网格的网格权重字段可以控制 Unity 将该网格分配给粒子的频率(相对于每个其他网格)。默认情况下设置为 1,这会导致 Unity 分配的网格相等的可能性。
要将网格添加到网格列表,请选择添加 (+) 图标。要从网格列表中删除网格,请选择该网格,然后选择移除 (-) 图标。