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

30 lines
874 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 ClickToMove : MonoBehaviour
{
NavMeshAgent m_Agent;
RaycastHit m_HitInfo = new RaycastHit();
void Start()
{
m_Agent = GetComponent<NavMeshAgent>();
}
void Update()
{
if (Input.GetMouseButtonDown(0) && !Input.GetKey(KeyCode.LeftShift))
{
var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray.origin, ray.direction, out m_HitInfo))
m_Agent.destination = m_HitInfo.point;
}
}
}
}