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