【Unity3D】线段渲染器LineRenderer

发布时间 2023-03-22 21:09:38作者: little_fat_sheep

1 LineRenderer 简介

​ LineRenderer 组件用于绘制线段,可以调整线段条数、端点坐标、颜色、宽度等属性,其属性面板如下:

img

  • Materials:线段材质,最好设置为 Default-Line;
  • Positions-Size:线段端点个数;
  • Positions-Element:线段端点值;
  • Width:线段宽度,可以是不等宽的;
  • Loop:线段是否首尾相连;
  • Color:线段颜色,可以是渐变的。

​ 在 Hierarchy 窗口右键,依次选择【Effects→Line】,可以创建一个挂载了 LineRenderer 组件的游戏对象。

2 LineRenderer 应用

1)创建空对象

​ 创建一个空对象,重命名为 Lines。

2)添加 LineRenderer 组件

​ 给 Lines 对象添加 LineRenderer 组件。

3)设置线段材质

​ 将 LineRenderer 组件的 Materials 属性设置为 Default-Line。

4)调整线段宽度

​ 设置线段宽度为 0.2,并调整线段宽度曲线,如下:

img

5)调整线段颜色

​ 点击色条,进入颜色编辑页面。

img

​ 在色条下面单击,可以添加新的色卡,实现彩色色条,如下:

img

6)添加线段端点

img

7)添加脚本组件(可选)

​ 6)和 7)二选一,若选7),需将 6)中 Position-Size 设置为 0。

​ LinesController.cs

using UnityEngine;

public class LinesController : MonoBehaviour {
	private LineRenderer lineRenderer;

	private void Awake() {
		lineRenderer = GetComponent<LineRenderer>();
		SetLines();
	}

	private void SetLines() {
		Vector3[] posArr = {new Vector3(-5, 1, 0), new Vector3(5, 1, 0), new Vector3(5, 1, 10), new Vector3(5, 10, 10)};
		lineRenderer.positionCount = posArr.Length;
		lineRenderer.SetPositions(posArr);
		// for (int i = 0; i < posArr.Length; i++) {
		// 	lineRenderer.SetPosition(i, posArr[i]);
		// }
	}
}

​ 说明:LinesController 脚本组件挂在 Lines 游戏对象上。

8)运行效果

img

​ 声明:本文转自【Unity3D】线段渲染器LineRenderer