Trail Renderer 组件在移动的游戏对象后面随着时间的推移渲染一条多边形轨迹。此组件可用于强调移动对象的运动感,或突出移动对象的路径或位置。
Trail Renderer 使用与 Line Renderer 相同的轨迹渲染算法。
要创建轨迹渲染器,请执行以下操作:
默认情况下,轨迹渲染器 (Trail Renderer) 使用内置材质 Default-Line。您可以更改轨迹的外观而无需更改此材质,例如编辑轨迹的颜色渐变或宽度。
对于其他效果,例如在轨迹上应用纹理,需要使用其他材质。如果您不想为新材质编写自己的着色器,可以将 Unity 内置的标准粒子着色器与轨迹渲染器结合使用。如果将纹理应用到轨迹渲染器,则纹理应为正方形尺寸(例如 256x256 或 512x512)。
如果将多个材质应用于轨迹渲染器,则会为每个材质渲染一次。
请参阅创建和使用材质以了解更多信息。
Min Vertex Distance 值可以确定在将新段添加到该路径之前,应用轨迹的游戏对象必须行进的距离(采用世界单位)。像 0.1 这样较小的值会更频繁地创建轨迹段,从而形成更平滑的轨迹。像 1.5 这样较大的值会创建在外观上更有锯齿状的轨迹段。另外,当顶点非常靠近并且轨迹会在短距离内显著改变方向时,较宽的轨迹可能出现视觉瑕疵。
出于性能原因,最好使用尽可能最大的值来实现要创建的效果。
本节包含以下小节:
属性 | 功能 | |
---|---|---|
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 在构建轨迹几何体时包含法线和切线。这样,轨迹几何体就可以使用采用了场景光照的材质。 |
Trail Renderer Inspector 中的 Materials 部分列出了 Trail Renderer 当前使用的材质。
属性 | 功能 |
---|---|
Size | 指定 Trail Renderer 中的 Materials 材质数量。如果减小 Materials 列表大小,Unity 会删除列表末尾的元素。 |
Element | Trail Renderer 中的 Materials 列表(以数字顺序排列)。第一个元素始终命名为 Element 0。 |
Lighting 部分包含的属性用于指定此轨迹渲染器 (Trail Renderer) 如何在 Unity 中与光照相互影响。
属性 | 功能 | |
---|---|---|
Cast Shadows | 指定在合适的光源照射在轨迹上时该轨迹是否以及如何投射阴影。 | |
On | 投射阴影的光源照在轨迹上时,该轨迹将投射阴影。 | |
Off | 轨迹不会投射阴影。 | |
Two Sided | 轨迹从任一侧投射双面阴影。Enlighten 和渐进光照贴图 (Progressive Lightmapper) 不支持双面阴影。 | |
Shadows Only | 轨迹的阴影可见,但轨迹本身不可见。 | |
Receive Shadows | Enable this option to make the trail display any shadows that are cast upon it. This is only supported when using the Progressive Lightmapper. |
Probes 部分包含与光照探针 (Light Probes) 和反射探针 (Reflection Probes) 有关的属性。
属性 | 功能 | |
---|---|---|
Light Probes | 设置此渲染器如何从光照探针系统接收光照。 有关更多信息,请参阅光照探针。 |
|
Off | 渲染器不使用任何插值光照探针。 | |
Blend Probes | 渲染器使用一个插值光照探针。这是默认值。 | |
Use Proxy Volume | 渲染器使用插值光照探针的 3D 网格。 | |
Custom Provided | 渲染器从 MaterialPropertyBlock 提取光照探针着色器 uniform 值。 | |
Proxy Volume Override | 设置对另一个具有 Light Probe Proxy Volume 组件的游戏对象的引用。 仅当 Light Probes 设置为 Use Proxy Volume 时,此属性才可见。 |
|
Reflection Probes | 设置渲染器如何从反射探针系统接收反射。 | |
Off | 禁用反射探针。Unity 将天空盒用于反射。 | |
Blend Probes | 启用反射探针。混合仅在反射探针之间发生。在室内环境中,如果角色可能在具有不同光照设置的区域之间过渡,此设置会很有用。 | |
Blend Probes and Skybox | 启用反射探针。混合发生在反射探针之间或反射探针与默认反射之间。这对于室外环境很有用。 | |
Simple | 启用反射探针,但存在两个重叠的探针体积时,反射探针之间不会发生混合。 | |
Anchor Override | 设置变换组件,在使用光照探针或反射探针系统时由 Unity 用来确定插值位置。默认情况下,这个位置是渲染器几何体的包围盒中心。 |
Additional Settings 包含额外的属性。
属性 | 功能 | |
---|---|---|
Motion Vectors | Set whether to use motion vectors to track this Renderer’s per-pixel, screen-space motion from one frame to the next. You can use this information to apply post-processing effects such as motion blur. Note that not all platforms support motion vectors. See ScriptRef:SystemInfo-supportsMotionVectors for more information. |
|
Camera Motion Only | 仅使用摄像机移动来跟踪运动。 | |
Per Object Motion | 使用特定通道来跟踪此渲染器的运动。 | |
Force No Motion | 不跟踪运动。 | |
Dynamic Occlusion | 启用 Dynamic Occlusion 后,此渲染器在摄像机的视图中被静态遮挡物 (Static Occluder) 阻挡时,Unity 会剔除此渲染器。默认情况下启用 Dynamic Occlusion。 禁用 Dynamic Occlusion 后,此渲染器在摄像机的视图中被静态遮挡物 (Static Occluder) 阻挡时,Unity 不剔除此渲染器。禁用 Dynamic Occlusion 可以实现诸如在墙后绘制角色轮廓之类的效果。 请参阅有关遮挡剔除的文档以了解更多信息。 |
|
Sorting Layer | 此渲染器的排序图层的名称。 | |
Order in Layer | 此渲染器在排序图层中的顺序。 |