线渲染器 (Line Renderer) 组件采用 3D 空间中两个或多个点的数组,在每个点之间绘制一条直线。因此,单个线渲染器组件可用于绘制从简单直线到复杂螺旋线的任何线条。这条线始终是连续的;如果需要绘制两条或更多完全独立的线,则应使用多个游戏对象,每个游戏对象都要有自己的线渲染器。
线渲染器不渲染一个像素宽的线。此渲染器将渲染宽度采用世界单位且可纹理化的公告牌线(总是面向摄像机的多边形)。线渲染器使用与轨迹渲染器 (Trail Renderer) 相同的线渲染算法。
属性 | 功能 |
---|---|
Cast Shadows | 确定线是否投射阴影,是应从线的一侧还是两侧投射阴影,或线是否应仅投射阴影而不以其他方式进行绘制。请参阅脚本 API 参考文档中的 Renderer.shadowCastingMode 以了解更多信息。 |
Receive Shadows | 如果启用此属性,线将接受阴影。 |
Motion Vectors | 选择要用于此线渲染器的运动矢量 (Motion Vector) 类型。请参阅脚本 API 参考文档中的 Renderer.motionVectorGenerationMode 以了解更多信息。 |
Materials | 这些属性描述了用于渲染线的材质数组。对于数组中的每种材质,该线将被绘制一次。 |
Light Parameters | 在此处引用光照贴图参数 (Lightmap Parameters) 资源以使线与全局光照系统交互。 |
Positions | 这些属性描述了要连接的 Vector3 点数组。 |
Use World Space | 如果启用此属性,这些点将视为世界空间坐标,而不受此组件附加到的游戏对象的变换所影响。 |
Loop | 启用此属性可连接线的第一个和最后一个位置。这样会形成闭环。 |
Width | 定义宽度值和曲线以控制线在其开始和结束之间的各个点处的宽度。曲线仅在每个顶点处采样,因此其精度受到线中存在的顶点数量的限制。线的总宽度由宽度值控制。 |
Color | 定义一个渐变来控制线沿其长度的颜色。 |
Corner Vertices | 此属性指示在绘制线中的角时使用多少个额外顶点。增加此值可使线的角显得更圆。 |
End Cap Vertices | 此属性指示使用多少个额外顶点在线上创建端盖。增加此值可使线的端盖显得更圆。 |
Alignment | 设置为 View 可使线面向摄像机,或设置为 Local 根据线的变换组件的方向对齐。 |
Texture Mode | 控制如何将纹理应用于线。使用 Stretch 可沿着线的整个长度应用纹理贴图,或使用 Wrap 使纹理沿着线的长度重复。应使用材质 (Material) 中的 Tiling 参数来控制重复率。 |
Shadow Bias | 沿着光照方向移动阴影以消除因使用公告牌几何体来模拟体积而导致的阴影瑕疵。 |
Generate Lighting Data | 如果启用此属性(选中复选框),则在构建线几何体时包含法线和切线。这样允许它使用具有场景光照的材质,例如通过标准着色器,或通过使用自定义着色器。 |
Sorting Layer | 渲染器排序图层的名称。 |
Order in Layer | 此渲染器在排序图层中的顺序。 |
Light Probes | 基于探针的光照插值模式。 |
Reflection Probes | 如果启用此属性,并且场景中存在反射探针,则会为此线渲染器拾取反射纹理,并将此纹理设置为内置的着色器 uniform 变量。 |
要创建线渲染器,请执行以下操作:
1.在 Unity 菜单栏中,选择 GameObject > Create Empty 1.在 Unity 菜单栏中,选择 Component > Effects > Line Renderer 1.将纹理或材质拖到线渲染器上。如果在材质中使用粒子着色器,则效果最佳。