Объявление
public static bool CalculatePath(Vector3 sourcePosition, Vector3 targetPosition, int areaMask, AI.NavMeshPath path);Параметры
sourcePosition | Исходное положение запрошенного пути. |
targetPosition | Конечная позиция запрошенного пути. |
areaMask | Маска битового поля, указывающая, какие области NavMesh могут передаваться при расчете пути. |
path | Полученный путь. |
Возвращает
bool true, если найден полный или частичный путь. Ложь в случае возникновения.
Описание
Рассчитать путь между двумя точками и сохранить полученный путь.
Используйте эту функцию, чтобы избежать задержек игрового процесса, планируя путь до того, как он понадобится. Вы также можете использовать эту функцию, чтобы проверить, достижима ли целевая позиция перед перемещением агента.
Эта функция не является асинхронной. Он выполняет поиск пути немедленно, что может отрицательно сказаться на частоте кадров при обработке очень длинных путей. Рекомендуется выполнять только несколько операций поиска пути за кадр, например, при оценке расстояний до точек покрытия.
Используйте возвращенный путь, чтобы установить путь для агента с помощью 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);
}
}
Объявление
public static bool CalculatePath(Vector3 sourcePosition, Vector3 targetPosition, AI.NavMeshQueryFilter filter, AI.NavMeshPath path);Параметры
sourcePosition | Исходное положение запрошенного пути. |
targetPosition | Конечная позиция запрошенного пути. |
filter | Фильтр, указывающий стоимость областей NavMesh, которые можно передать при расчете пути. |
path | Полученный путь. |
Возвращает
bool true, если найден полный или частичный путь, и ложь в противном случае.
Описание
Рассчитывает путь между двумя позициями, сопоставленными с NavMesh, с учетом ограничений и затрат, определенных аргументом фильтра.