版本: Unity 6 (6000.0)
语言英语
  • C#

NavMeshAgent.destination

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们不能接受所有提交的内容,但我们会阅读用户提出的每个更改建议,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

public Vector3 destination;

描述

获取或尝试设置代理在世界空间单位中的目的地。

获取

返回为此代理设置的目的地。

• 如果设置了目的地但路径尚未处理,则返回的将是最靠近先前设置位置的有效导航网格位置。
• 如果代理没有路径或请求的路径,则返回代理在导航网格上的位置。
• 如果代理未映射到导航网格(例如,场景没有导航网格),则返回一个无限远的位置。

设置

请求代理移动到最靠近请求目的地的有效导航网格位置。

• 路径结果可能需要几帧才能变得可用。使用 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; } } }