NavMeshHit
структура в UnityEngine.AI
Выполнено в:UnityEngine.AIModule
Описание
Информация о позиции, которая является результатом запроса, выполненного на NavMesh.
Объект представляет допустимый результат, если свойства distance и position имеют конечные значения. В противном случае объект представляет результат, который не может быть вычислен из вводных данных, предоставленных запросу. См. документацию каждого метода запроса для подробностей о ситуациях, которые дают недействительные результаты.
Примечание: Для определения того, является ли значение конечным, можно использовать float.isFinite().
using UnityEngine; using UnityEngine.AI; public class ShowLineOfSightToTarget : MonoBehaviour { public Transform target; NavMeshHit m_RayEnd; void Update() { // Detect whether a NavMesh edge blocks a straight path to the target. NavMesh.Raycast(transform.position, target.position, out m_RayEnd, NavMesh.AllAreas); var isRaySegmentOnNavMesh = float.IsFinite(m_RayEnd.distance); if (isRaySegmentOnNavMesh) { Debug.DrawLine(transform.position, m_RayEnd.position, m_RayEnd.hit ? Color.red : Color.green); Debug.DrawLine(m_RayEnd.position, target.position, Color.gray); if (m_RayEnd.hit) { Debug.DrawLine(m_RayEnd.position, m_RayEnd.position + Vector3.up, Color.red); Debug.DrawLine(m_RayEnd.position, m_RayEnd.position + m_RayEnd.normal, Color.yellow); } } else { Debug.DrawLine(transform.position, target.position, Color.magenta); } } }
Дополнительные ресурсы: ,NavMesh.SamplePosition,, ,NavMesh.FindClosestEdge,, ,NavMesh.Raycast,, ,NavMeshAgent.FindClosestEdge,, ,NavMeshAgent.Raycast,, ,NavMeshAgent.SamplePathPosition,.
Свойства
| Свойство | Описание |
|---|---|
| distance | Расстояние до точки попадания. |
| hit | Флаг устанавливается, когда запрос встречает определенную действительную ситуацию. |
| mask | Битовая маска, указывающая тип области NavMesh в точке попадания. |
| normal | Нормальная ребра многоугольника, где завершается запрос. |
| position | Положение удара. |