Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

NavMeshAgent.SamplePathPosition

Объявление

public bool SamplePathPosition(int areaMask, float maxDistance, out AI.NavMeshHit hit);

Параметры

areaMask Маска битового поля, указывающая, какие области NavMesh могут передаваться при отслеживании пути.
maxDistance Прекратите сканирование пути на этом расстоянии.
hit Содержит свойства полученного местоположения.

Возвращает

bool true, если завершается до достижения позиции на максимальном расстоянии, в противном случае — false.

Описание

Образец позиции на текущем пути.

Эта функция просматривает заданное расстояние вперед по текущему пути. Детали сетки в этой позиции затем возвращаются в объекте NavMeshHit. Это может быть использовано, например, для проверки типа поверхности, которая находится впереди, прежде чем персонаж доберется до нее — персонаж может поднять свое оружие над головой, скажем, если он собирается перейти воду вброд.

using UnityEngine; using UnityEngine.AI; using System.Collections; public class ExampleClass : MonoBehaviour { public Transform target; private NavMeshAgent agent; private int waterMask; void Start() { agent = GetComponent<NavMeshAgent>(); waterMask = 1 << NavMesh.GetAreaFromName("Water"); agent.SetDestination(target.position); } void Update() { NavMeshHit hit; // Check all areas one length unit ahead. if (!agent.SamplePathPosition(NavMesh.AllAreas, 1.0F, out hit)) if ((hit.mask & waterMask) != 0) { // Water detected along the path... } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3