如上图所示:
了解LineRenderer:
在Unity中,LineRenderer组件用于在场景中绘制简单的线条。它通常用于绘制轨迹、路径、激光等效果。
具体请跳转:Unity LineRenderer的基本了解-CSDN博客
导航画线方法:
(1).地形设置:
(2).角色设置:
LineRenderer设置
角色身上挂载以下脚本:
using UnityEngine;
using UnityEngine.AI;
public class Player : MonoBehaviour
{
private NavMeshAgent agent;
//在Unity中,LineRenderer组件用于在场景中绘制简单的线条。它通常用于绘制轨迹、路径、激光等效果。
private LineRenderer line;
// Start is called before the first frame update
void Start()
{
agent = transform.GetComponent<NavMeshAgent>();
line = transform.GetComponent<LineRenderer>();
}
// Update is called once per frame
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, 500))
{
//点击的是地面
if (hit.transform.tag == "Ground")
{
agent.SetDestination(hit.point);
}
}
}
if (agent.path.corners.Length > 1)
{
line.positionCount = agent.path.corners.Length;
line.SetPositions(agent.path.corners);
}
}
}