获取代理在世界坐标系单位中的目标或尝试设置代理在其中的目标。
获取:
返回此代理的目标集。
• 如果设置了目标,但尚未处理路径,返回的位置将是与之前设置的位置最接近的有效导航网格位置。
• 如果代理没有路径或请求路径 - 返回代理在导航网格上的位置。
• 如果代理没有映射到导航网格(例如,场景中没有导航网格) - 返回无限远处的位置。
设置:
请求代理移至最接近所请求的目标的有效导航网格位置。
• 路径结果可能在几帧之后才可用。使用 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; } } }