NavMesh.CalculatePath
Declaration
public static bool CalculatePath(Vector3 sourcePosition, Vector3 targetPosition, int areaMask, AI.NavMeshPath path);Параметры
| Параметр | Описание |
|---|---|
| sourcePosition | Начальное положение запрошенного пути. |
| targetPosition | Конечное положение запрошенного пути. |
| areaMask | Маска битового поля, указывающая, какие области NavMesh могут быть переданы при вычислении пути. |
| путь | Полученный путь. |
Возвращаемое значение
логическое True, если обнаружен полный или частичный путь. False в противном случае.
Описание
Рассчитать путь между двумя точками и сохранить полученный путь.
Используйте эту функцию, чтобы избежать задержек в игре путем планирования пути до того, как он понадобится. Вы также можете использовать эту функцию для проверки достижимости целевой позиции перед перемещением агента.
Эта функция синхронна. Она выполняет поиск пути немедленно, что может негативно повлиять на частоту кадров при обработке очень длинных путей. Рекомендуется выполнять только несколько поисков пути в кадре, например, при оценке расстояний для покрытия точек.
Используйте возвращенный путь для установки пути для агента с NavMeshAgent.SetPath. Для работы SetPath агент должен находиться близко к начальной точке.
// ShowGoldenPath using UnityEngine; using UnityEngine.AI;
public class ShowGoldenPath : MonoBehaviour { public Transform target; private NavMeshPath path; private float elapsed = 0.0f; void Start() { path = new NavMeshPath(); elapsed = 0.0f; }
void Update() { // Update the way to the goal every second. elapsed += Time.deltaTime; if (elapsed > 1.0f) { elapsed -= 1.0f; NavMesh.CalculatePath(transform.position, target.position, NavMesh.AllAreas, path); } for (int i = 0; i < path.corners.Length - 1; i++) Debug.DrawLine(path.corners[i], path.corners[i + 1], Color.red); } }
Declaration
public static bool CalculatePath(Vector3 sourcePosition, Vector3 targetPosition, AI.NavMeshQueryFilter filter, AI.NavMeshPath path);Параметры
| Параметр | Описание |
|---|---|
| sourcePosition | Начальное положение запрошенного пути. |
| targetPosition | Конечное положение запрошенного пути. |
| фильтр | Фильтр, указывающий стоимость NavMesh областей, которые могут быть переданы при расчете пути. |
| путь | Полученный путь. |
Возвращаемое значение
логическое True, если обнаружен полный или частичный путь, и false в противном случае.
Описание
Вычисляет путь между двумя позициями, сопоставленными с NavMesh, с учетом ограничений и затрат, определенных аргументом filter.