📜  unity draw waypoints 路径 - C# (1)

📅  最后修改于: 2023-12-03 15:05:44.531000             🧑  作者: Mango

Unity中绘制路径的方法

在Unity中,我们经常需要绘制路径,方便游戏角色或其他元素的移动。本文将介绍使用C#语言在Unity中实现绘制路径的方法。

方式一:使用LineRenderer

Unity中自带一个叫做LineRenderer的组件,能够用来绘制线条。

在脚本中,我们可以通过获取LineRenderer组件来绘制路径:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DrawPath : MonoBehaviour
{
    public Transform[] waypoints;  // 路径上的点
    public LineRenderer lineRenderer;  // 用于绘制路径的LineRenderer组件

    void Start()
    {
        lineRenderer.positionCount = waypoints.Length;  // 设置LineRenderer组件的顶点数量为路径点的数量

        // 设置每个顶点的位置为路径上的点的位置
        for (int i = 0; i < waypoints.Length; i++)
        {
            lineRenderer.SetPosition(i, waypoints[i].position);
        }
    }

}

这样,我们就可以在Unity中看到绘制出的路径了。

方式二:使用Gizmos

另一种绘制路径的方法是使用Gizmos。

在脚本中,我们可以在OnDrawGizmos函数中编写绘制路径的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DrawPath : MonoBehaviour
{
    public Transform[] waypoints;  // 路径上的点

    void OnDrawGizmos()
    {
        // 绘制路径
        for (int i = 1; i < waypoints.Length; i++)
        {
            Gizmos.DrawLine(waypoints[i - 1].position, waypoints[i].position);
        }
    }

}

这样,我们在Unity中选中该脚本所挂载的物体时,就可以在Scene窗口中看到绘制出的路径了。

总结:

以上是在Unity中绘制路径的两种方法,使用LineRenderer可以更加精细地控制绘制出的路径,而使用Gizmos则更加简单直接。开发者可根据需求选择适合的方法。