wuxianshengcong/Library/PackageCache/com.unity.ai.navigation@1.1.5/Samples~/Scripts/NavigationLoop.cs

31 lines
887 B
C#
Raw Normal View History

2024-12-30 12:56:27 +08:00
using UnityEngine;
using UnityEngine.AI;
namespace Unity.AI.Navigation.Samples
{
/// <summary>
/// Use physics raycast hit from mouse click to set agent destination
/// </summary>
[RequireComponent(typeof(NavMeshAgent))]
public class NavigationLoop : MonoBehaviour
{
NavMeshAgent m_Agent;
public Transform[] goals = new Transform[3];
private int m_NextGoal = 1;
void Start()
{
m_Agent = GetComponent<NavMeshAgent>();
}
void Update()
{
float distance = Vector3.Distance(m_Agent.transform.position, goals[m_NextGoal].position);
if (distance < 0.5f)
{
m_NextGoal = m_NextGoal != 2 ? m_NextGoal + 1 : 0;
}
m_Agent.destination = goals[m_NextGoal].position;
}
}
}