探索线渲染器 (Line Renderer) 组件参考属性和设置,以在 3D 空间中的点之间配置和渲染一条线。
Line Renderer 组件有两个部分:
场景工具 (Scene Tools) 面板中的属性会根据线渲染器场景编辑模式 (Line Renderer Scene Editing Mode) 设置为无 (None)、编辑点 (Edit Points) 或创建点 (Create Points) 而变化。
要设置当前的场景编辑模式,请使用 Edit Points 和 Create Points 按钮。
默认情况下未设置场景编辑模式。
| 控件 | 描述 |
|---|---|
| Simplify Preview | 启用简化预览 (Simplify Preview) 可以查看简化操作结果的预览。 |
| Tolerance | 设置简化线可以偏离原始线的偏差量。 值为 0 不会产生偏差,因此简化程度很低或无简化。较高的正值会导致与原始线的偏差增大,因此简化程度会更高。 默认值为 1。 |
| Simplify | 单击简化 (Simplify) 可以减少 Line Renderer 的位置 (Positions) 数组中的元素数量。 简化操作使用 Ramer-Douglas-Peucker 算法根据偏差 (Tolerance) 值减少点数。 |
要将场景编辑模式设置为 Edit Points,请选中 Edit Points 按钮。再次选中该按钮可以将场景编辑模式设置为 None。
| 控件 | 描述 |
|---|---|
| Show Wireframe | 启用此设置后,Unity 会在场景 (Scene) 视图中绘制线框以使线条显示出来。 |
| Subdivide Selected | 选择两个或多个相邻点时将会启用此按钮。按下此按钮将在选定的相邻点之间插入一个新点。 |
要将场景编辑模式设置为 Create Points,请选中 Create Points 按钮。再次选中该按钮可以将场景编辑模式设置为 None。
| 控件 | 描述 | |
|---|---|---|
| Input | 设置要用于创建点的输入法。 | |
| Mouse position | 根据鼠标在场景视图中的位置创建点。 | |
| Physics Raycast | 根据场景中的射线投射创建点。Unity 在射线投射到的位置创建点。 | |
| Layer Mask | 执行射线投射时要使用的层遮罩。仅当输入 (Input) 设置为物理射线投射 (Physics Raycast) 时,此属性才可见。 | |
| Min Vertex Distance | 拖动鼠标以在场景视图中创建点时,如果与最后一个点之间的距离超过此距离,则 Line Renderer 将创建一个新点。 | |
| Offset | 应用于所创建的点的偏移量。当 Input 设置为鼠标位置 (Mouse Position) 时,Line Renderer 将应用来自场景摄像机的偏移量。当 Input 设置为 Physics Raycast 时,Line Renderer 将应用来自射线投射法线的偏移量。 | |
本节包含以下小节:
| 属性 | 功能 | |
|---|---|---|
| Loop | 启用此属性可连接线的第一个和最后一个位置并形成一个闭环。 | |
| Positions | 要连接的 Vector3 点的数组。 | |
| Width | 定义宽度值和曲线值以控制线沿其长度的宽度。 曲线仅在每个顶点处采样,因此其精度受到线中存在的顶点数量的限制。线的总宽度由宽度值控制。 |
|
| 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 在构建线几何体时包含法线和切线。这样,其就可以使用采用了场景光照的材质。 | |
| Use World Space | 如果启用此属性,这些点被视为世界空间坐标。如果禁用此属性,则这些点位于附加到游戏对象的变换 (Transform) 组件本地。 | |
材质 (Materials) 部分列出了此组件使用的所有材质。
| 属性 | 描述 |
|---|---|
| Size | 材质列表中的元素数量。 如果减少元素数量,Unity 会删除列表末尾的元素。如果增加元素数量,Unity 会在列表末尾添加新元素。同时 Unity 会使用列表末尾元素所使用的材质来填充这些新元素。 |
| Element | 列表中的材质元素。您可以为每个元素分配一个材质资源。 默认情况下,Unity 会根据材质名称按字母顺序对列表进行排序。此列表是可重新排序的,当您更改元素的顺序时,Unity 会自动更新元素的编号。 |
光照 (Lighting) 部分包含与光照相关的属性。
| 属性 | 描述 | |
|---|---|---|
| Cast Shadows | 指定当合适的光源 照射到此渲染器时,它是否以及如何投射阴影。 此属性对应于 Renderer.shadowCastingMode API。 |
|
| On | 当有投射阴影的光源照射到此渲染器时,它会投射阴影。 | |
| Off | 此渲染器不投射阴影。 | |
| Two-sided | 此渲染器投射双面阴影。这意味着单面物体(如平面或四边形)即使光源位于网格的背面,也能投射阴影。 对于支持双面阴影的烘焙全局光照或 Enlighten 实时全局光照,材质必须支持双面全局光照。 |
|
| Shadows Only | 此渲染器投射阴影,但渲染器本身不可见。 | |
| Receive Shadows | 指定 Unity 是否显示投射到此渲染器上的阴影。 此属性仅在场景启用了烘焙全局光照或实时全局光照 时生效。 此属性对应于 Renderer.receiveShadows API。 |
|
| Contribute Global Illumination | 将此渲染器纳入全局光照 (Global Illumination, GI) 的计算中,该计算在烘焙时进行。 此属性仅在场景启用了烘焙全局光照 或实时全局光照 时生效。 启用此属性后,将在游戏对象的静态编辑器标志 中设置 Contribute GI 标志。它对应于 StaticEditorFlags.ContributeGI API。 |
|
| Receive Global Illumination | 指定 Unity 是否从烘焙光照贴图或运行时光照探针向此渲染器提供全局光照数据。 此属性仅在您启用 Contribute Global Illumination 时后可编辑。此属性仅在场景启用了烘焙全局光照 或实时全局光照 时生效。 此属性对应于 MeshRenderer.receiveGI API。 |
|
| Lightmaps | Unity 从光照贴图向此渲染器提供全局光照数据。 | |
| Light Probes | Unity 从场景中的光照探针 向此渲染器提供全局光照数据。 | |
| Prioritize Illumination | 启用此属性可确保此渲染器始终被包含在 Enlighten 实时全局光照计算中。这使得渲染器能够受到远处发光体的影响,即使这些发光体通常因性能原因被排除在全局光照计算之外。 此属性仅在以下条件下可见:游戏对象的静态编辑器标志 中启用了 Contribute GI,项目使用内置渲染管线 (Built-in Render Pipeline),并且场景启用了实时全局光照。 |
|
探针 (Probes) 部分包含与光照探针 (Light Probe) 和反射探针 (Reflection Probe) 有关的属性。
| 属性 | 描述 | |
|---|---|---|
| Light Probes | 设置此渲染器如何从光照探针 系统接收光照。 此属性对应于 Renderer.lightProbeUsage API。 |
|
| Off | 渲染器不使用任何插值光照探针。 | |
| Blend Probes | 渲染器使用一个插值光照探针。这是默认值。 | |
| Use Proxy Volume | 渲染器使用插值光照探针的 3D 网格。 | |
| Custom Provided | 渲染器从材质属性块 提取光照探针着色器 uniform 值。 | |
| Proxy Volume Override | 设置对另一个带有光照探针代理体积组件的游戏对象的引用。 仅当光照探针设置为使用代理体积 (Use Proxy Volume) 时,此属性才可见。 |
|
| Reflection Probes | 设置渲染器如何从反射探针系统接收反射。 此属性对应于 Renderer.probeAnchor API。 |
|
| Off | 禁用反射探针。Unity 将天空盒用于反射。 | |
| Blend Probes | 启用反射探针。混合仅在反射探针之间发生。在室内环境中,如果角色可能在具有不同光照设置的区域之间过渡,此设置会很有用。 | |
| Blend Probes and Skybox | 启用反射探针。混合发生在反射探针之间或反射探针与默认反射之间。这对于室外环境很有用。 | |
| Simple | 启用反射探针,但存在两个重叠的探针体积时,反射探针之间不会发生混合。 | |
| Anchor Override | 设置变换组件,Unity 在使用光照探针 或反射探针 系统时,将使用该组件来确定插值位置。默认情况下,这个位置是渲染器几何体的包围盒中心。 此属性对应于 Renderer.probeAnchor API。 |
|
其他设置 (Additional Settings) 部分包含额外的属性。
| 属性 | 描述 | |
|---|---|---|
| Motion Vectors | 设置是否使用运动矢量来跟踪此渲染器从一帧到下一帧的每个像素的屏幕空间运动。您可以利用这些信息来实现后期处理效果,例如运动模糊。 注意:并非所有平台都支持运动矢量功能。请参阅 SystemInfo.supportsMotionVectors 以了解更多信息。 此属性对应于 Renderer.motionVectorGenerationMode API。 |
|
| Camera Motion Only | 仅使用摄像机移动来跟踪运动。 | |
| Per Object Motion | 使用特定通道来跟踪此渲染器的运动。 | |
| Force No Motion | 不跟踪运动。 | |
| Dynamic Occlusion | 启用 Dynamic Occlusion 后,当一个渲染器被静态遮挡物阻挡在摄像机的视野之外时,Unity 的遮挡剔除 系统将剔除该渲染器。如果未启用 Dynamic Occlusion,即使渲染器被静态遮挡物阻挡,系统也不会将其剔除。 默认情况下启用 Dynamic Occlusion。如果需要实现如绘制墙后角色轮廓的效果,可以禁用此选项。 |
|
| Sorting Layer | 此渲染器的排序图层的名称。 | |
| Order in Layer | 此渲染器在排序图层中的顺序。 | |
LineRenderer