NavMesh.FindClosestEdge
Declaration
public static bool FindClosestEdge(Vector3 sourcePosition, out AI.NavMeshHit hit, int areaMask);Параметры
| Параметр | Описание |
|---|---|
| sourcePosition | Происхождение запроса расстояния. |
| хит | Содержит свойства полученного расположения. |
| areaMask | Маска битполя, указывающая, какие области NavMesh могут быть пропусчены при поиске ближайшего края. |
Возвращаемое значение
логическое True, если найдено ближайшее ребро.
Описание
Найдите ближайший NavMesh край от точки на NavMesh.
Возвращаемый объект NavMeshHit содержит позицию и детали ближайшей точки на ближайшем краю navmesh. Это может быть использовано для запроса, сколько дополнительного пространства есть вокруг агента.
// MeasureSpace using UnityEngine; using UnityEngine.AI;
public class MeasureSpace : MonoBehaviour { void DrawCircle(Vector3 center, float radius, Color color) { Vector3 prevPos = center + new Vector3(radius, 0, 0); for (int i = 0; i < 30; i++) { float angle = (float)(i + 1) / 30.0f * Mathf.PI * 2.0f; Vector3 newPos = center + new Vector3(Mathf.Cos(angle) * radius, 0, Mathf.Sin(angle) * radius); Debug.DrawLine(prevPos, newPos, color); prevPos = newPos; } }
void Update() { NavMeshHit hit; if (NavMesh.FindClosestEdge(transform.position, out hit, NavMesh.AllAreas)) { DrawCircle(transform.position, hit.distance, Color.red); Debug.DrawRay(hit.position, Vector3.up, Color.red); } } }
Declaration
public static bool FindClosestEdge(Vector3 sourcePosition, out AI.NavMeshHit hit, AI.NavMeshQueryFilter filter);Параметры
| Параметр | Описание |
|---|---|
| sourcePosition | Происхождение запроса расстояния. |
| хит | Содержит свойства полученного расположения. |
| фильтр | Фильтр, определяющий, какие области NavMesh могут быть пропусчены при поиске ближайшего края. |
Возвращаемое значение
логическое True, если найдено ближайшее ребро.
Описание
Находит ближайшее ребро NavMesh от точки на NavMesh, в зависимости от ограничений аргумента filter.
Возвращенный объект NavMeshHit содержит позицию и детали ближайшей точки на ближайшем краю NavMesh. Это может быть использовано для запроса, сколько дополнительного пространства есть вокруг агента.