Unity 6.3
0 онлайн 65 гостей 3 в системе
Вход

NavMeshAgent.destination

Declaration

public Vector3 destination;

Описание

Получает или пытается установить место назначения агента в единицах пространства мира.

Получение:

Возвращает назначение, установленное для этого агента.

• Если назначение установлено, но путь еще не обработан, возвращаемая позиция будет действительной позицией navmesh, ближайшей к ранее установленной позиции.
• Если агент не имеет пути или запрошенного пути — возвращает позицию агентов на navmesh.
• Если агент не сопоставлен с navmesh (e.g. Scene не имеет navmesh) — возвращает позицию в бесконечности.

Настройка:

Запрос агенту переместиться на действительную позицию navmesh, ближайшую к запрошенному назначению.

• Результат пути может быть доступен только через несколько кадров. Используйте pathPending для запроса отсутствующих результатов.
• Если невозможно найти действительную близлежащую позицию navmesh (e.g. Scene не имеет navmesh), путь не запрашивается. Используйте 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; } } }