Unity3D :Trail Renderer component

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生
Trail Renderer component
Trail Renderer 组件在移动的游戏对象后面随着时间的推移渲染一条多边形轨迹。此组件可用于强调移动对象的运动感,或突出移动对象的路径或位置。
Trail Renderer 使用与 Line Renderer 相同的轨迹渲染算法。
准备开始
要创建轨迹渲染器,请执行以下操作:
- 在 Unity 菜单栏中,选择 GameObject > Effects > Trail。
- 选择 Trail Renderer 游戏对象,并将其作为要生成轨迹的游戏对象的父项。
- 使用 Inspector 窗口配置轨迹的颜色、宽度和其他显示设置。
- 通过移动游戏对象并在 Scene 视图中观察效果,可在编辑模式下预览轨迹。

轨迹渲染器材质
默认情况下,轨迹渲染器 (Trail Renderer) 使用内置材质 Default-Line。您可以更改轨迹的外观而无需更改此材质,例如编辑轨迹的颜色渐变或宽度。
对于其他效果,例如在轨迹上应用纹理,需要使用其他材质。如果您不想为新材质编写自己的着色器,可以将 Unity 内置的标准粒子着色器与轨迹渲染器结合使用。如果将纹理应用到轨迹渲染器,则纹理应为正方形尺寸(例如 256x256 或 512x512)。
如果将多个材质应用于轨迹渲染器,则会为每个材质渲染一次。
请参阅创建和使用材质以了解更多信息。
点之间的距离
Min Vertex Distance 值可以确定在将新段添加到该路径之前,应用轨迹的游戏对象必须行进的距离(采用世界单位)。像 0.1 这样较小的值会更频繁地创建轨迹段,从而形成更平滑的轨迹。像 1.5 这样较大的值会创建在外观上更有锯齿状的轨迹段。另外,当顶点非常靠近并且轨迹会在短距离内显著改变方向时,较宽的轨迹可能出现视觉瑕疵。
出于性能原因,最好使用尽可能最大的值来实现要创建的效果。
Trail Renderer Inspector reference

本节包含以下小节:
- Trail settings
- Materials
- Lighting
- Probes
- Additional Settings
轨迹设置
属性 | 功能 | |
---|---|---|
Width | 定义宽度值和曲线值以控制轨迹沿其长度的宽度。 曲线是在每个顶点处采样的,因此其精度受制于轨迹中的顶点数量。轨迹的总宽度由宽度值控制。 | |
Time | 定义轨迹中某个点的生命周期(以秒为单位)。 | |
Min Vertex Distance | 轨迹中两点之间的最小距离(采用世界单位)。 | |
AutoDestruct | 启用此属性可在附加到 Trail Renderer 组件的游戏对象静止 Time 秒之后销毁该游戏对象。 | |
Emitting | 启用此属性后,Unity 会在轨迹中添加新点。禁用此属性后,Unity 不会向轨迹中添加新点。使用此属性可暂停和恢复轨迹生成功能。 | |
Color | 定义一个渐变来控制轨迹沿其长度的颜色。 Unity 在每个顶点处从颜色渐变 (Color Gradient) 中采样颜色。在每个顶点之间,Unity 对颜色应用线性插值。向轨迹添加更多顶点可能会更接近详细的渐变。 | |
Corner Vertices | 此属性指示在绘制轨迹中的角时使用多少个额外顶点。增加此值可使轨迹的角显得更圆。 | |
End Cap Vertices | 此属性指示使用多少个额外顶点在轨迹上创建端盖。增加此值可使轨迹的端盖显得更圆。 | |
Alignment | 设置轨迹面向的方向。 | |
View | 轨迹面向摄像机。 | |
TransformZ | 轨迹朝向其变换组件的 Z 轴。 | |
Texture Mode | 控制如何将纹理应用于轨迹。 | |
Stretch | 沿轨迹的整个长度映射纹理一次。 | |
Tile | 基于轨迹长度(采用世界单位)沿轨迹重复纹理。要设置平铺率,请使用 Material.SetTextureScale。 | |
DistributePerSegment | 沿轨迹的整个长度映射纹理一次(假设所有顶点均匀分布)。 | |
RepeatPerSegment | 沿轨迹重复纹理(每个轨迹段重复一次)。要调整平铺率,请使用 Material.SetTextureScale。 | |
Shadow Bias | 设置沿着光照方向的阴影移动量以消除阴影瑕疵。 | |
Generate Lighting Data | 如果启用此属性,Unity 在构建轨迹几何体时包含法线和切线。这样,轨迹几何体就可以使用采用了场景光照的材质。 |
材质
Materials 部分列出了此组件使用的所有材质。
属性 | 描述 |
---|---|
Size | 材料列表中的元素数。 如果减少元素数量,Unity 将删除列表末尾的元素。如果增加元素的数量,Unity 会将新元素添加到列表的末尾。Unity 使用与列表末尾的元素相同的材料填充新元素。 |
Element | 列表中的材料。您可以为每个元素分配材质资源。 默认情况下,Unity 会根据材质名称按字母顺序对列表进行排序。此列表是可重新排序的,Unity 会在您更改元素顺序时自动更新元素的数量。 |
光照
Lighting 部分包含与光照相关的属性。
属性 | 描述 | |
---|---|---|
Cast Shadows | 指定当合适的光线照射到此渲染器上时,此渲染器是否以及如何投射阴影。 此属性对应于 Renderer.shadowCastingMode API。 | |
On | 当投射阴影的光源照射到此渲染器上时,此渲染器会投射阴影。 | |
Off | 此渲染器不会投射阴影。 | |
双面 | 此渲染器投射双侧阴影。这意味着像平面或四边形这样的单面物体可以投射阴影,即使光源在网格后面也是如此。 要使烘焙全局照明或 Enlighten 实时全局照明支持双面阴影,材质必须支持双面全局照明。 | |
Shadows Only | 此渲染器投射阴影,但渲染器本身不可见。 | |
Receive Shadows | 指定 Unity 是否显示投射到此渲染器上的阴影。 仅当为此场景启用烘焙全局照明或启发实时全局照明时,此属性才有效。 此属性对应于 Renderer.receiveShadows API。 | |
Contribute Global Illumination | 将此渲染器包含在烘焙时进行的全局照明计算中。 仅当为此场景启用烘焙全局照明或启发实时全局照明时,此属性才有效。 启用此属性将在游戏对象的静态编辑器标志中启用贡献 GI 标志。它对应于 StaticEditorFlags.ContributeGI API。 | |
Receive Global Illumination | Unity 是从烘焙光照贴图还是从运行时光照探针向此渲染器提供全局光照数据。 仅当启用“贡献全局照明”时,此属性才可编辑。仅当为此场景启用烘焙全局照明或启发实时全局照明时,它才具有效果。 此属性对应于 MeshRenderer.receiveGI API。 | |
Lightmaps | Unity 从光照贴图向此渲染器提供全局光照数据. | |
Light Probes | Unity 从场景中的光照探针向此渲染器提供全局照明数据。 | |
Prioritize Illumination | 启用此属性以始终将此渲染器包含在 Enlighten 实时全局光照计算中。这可确保渲染器受到远距离自发光的影响,即使是那些通常出于性能原因从全局照明计算中排除的自发光。 仅当在游戏对象的静态编辑器标志中启用了 Contribute GI、项目使用内置渲染管线并在场景中启用了 Enlighten 实时全局光照时,此属性才可见。 |
Probes
Probes 部分包含与光照探针 和反射探针有关的属性。
属性 | 描述 | |
---|---|---|
Light Probes | 设置此渲染器如何从光照探针系统接收光线。 此属性对应于 Renderer.lightProbeUsage API。 | |
Off | 渲染器不使用任何插值光照探针。 | |
Blend Probes | 渲染器使用一个插值光照探针。这是默认值。 | |
Use Proxy Volume | 渲染器使用插值光照探针的 3D 网格。 | |
定制提供 | 渲染器从 MaterialPropertyBlock 中提取光照探针着色器均匀值。 | |
Proxy Volume Override | 设置对具有光照探针代理体积组件的另一个游戏对象的引用。 仅当光照探针设置为“使用代理卷”时,此属性才可见。 | |
Reflection Probes | 设置渲染器如何从反射探针系统接收反射。 此属性对应于 Renderer.probeAnchor API。 | |
Off | 禁用反射探头。Unity 使用天空盒进行反射。 | |
Blend Probes | 启用反射探针。混合仅在反射探头之间发生。这在室内环境中很有用,因为角色可能会在具有不同照明设置的区域之间过渡。 | |
Blend Probes and Skybox | 启用反射探针。混合发生在反射探针之间,或反射探针与默认反射之间。这对于户外环境很有用。 | |
Simple | 启用反射探针,但当存在两个重叠的体积时,反射探针之间不会发生混合。 | |
Anchor Override | 设置 Unity 在使用光照探针或反射探针系统时用于确定插值位置的变换。默认情况下,这是渲染器几何体边界框的中心。 此属性对应于 Renderer.probeAnchor API。 |
Additional Settings
Additional Settings 部分包含额外的属性。
Property | Description | |
---|---|---|
Motion Vectors | 设置是否使用运动矢量来跟踪此渲染器的每像素屏幕空间运动,从一帧到下一帧。您可以使用此信息应用后期处理效果,例如运动模糊。 注意:并非所有平台都支持运动矢量。有关详细信息,请参阅 SystemInfo.supportsMotionVectors。 此属性对应于 Renderer.motionVectorGenerationMode API。 | |
Camera Motion Only | 仅使用摄像机移动来跟踪运动。 | |
Per Object Motion | 使用特定通道跟踪此渲染器的运动。 | |
Force No Motion | 不要跟踪运动。 | |
Dynamic Occlusion | 启用动态遮挡后,Unity 的遮挡剔除系统会在静态遮挡器从摄像机视图中屏蔽此渲染器时剔除该渲染器。否则,当此渲染器被静态遮挡器挡出摄像机视图时,系统不会剔除此渲染器。 默认情况下启用动态遮挡。禁用它以获得效果,例如在墙后绘制角色的轮廓。 | |
Sorting Layer | 此渲染器的排序层的名称。 | |
Order in Layer | 此渲染器在排序层中的顺序。 |
由3D建模学习工作室整理翻译,转载请注明出处!