获取或尝试设置代理在世界空间单位中的目的地。
获取
返回为此代理设置的目的地。
• 如果设置了目的地但路径尚未处理,则返回的将是最靠近先前设置位置的有效导航网格位置。
• 如果代理没有路径或请求的路径,则返回代理在导航网格上的位置。
• 如果代理未映射到导航网格(例如,场景没有导航网格),则返回一个无限远的位置。
设置
请求代理移动到最靠近请求目的地的有效导航网格位置。
• 路径结果可能需要几帧才能变得可用。使用 pathPending 查询未决的结果。
• 如果无法找到有效的附近导航网格位置(例如,场景没有导航网格),则不会请求路径。使用 SetDestination 并检查返回值,如果需要明确处理这种情况。
using UnityEngine; using UnityEngine.AI;
[RequireComponent(typeof(NavMeshAgent))] public class FollowTarget : MonoBehaviour { public Transform target; Vector3 destination; NavMeshAgent agent;
void Start() { // Cache agent component and destination agent = GetComponent<NavMeshAgent>(); destination = agent.destination; }
void Update() { // Update destination if the target moves one unit if (Vector3.Distance(destination, target.position) > 1.0f) { destination = target.position; agent.destination = destination; } } }