Manual/ Referencia de la API

Navegación

NavMesh: agentes que buscan el camino.

Como en Unreal: crea un Volumen de NavMesh (Crear > Navegación) y dentro se genera sola la malla de navegación a partir de la geometría de colisión. Se ve en verde en la escena (tecla P) y se actualiza en tiempo real al mover, crear o borrar colliders. Lo que tenga que moverse lleva el componente NavAgent (Agente de navegación).

Agente (Entity)

:moveTo(destino)Camina hasta el punto por la malla, esquivando obstáculos y a otros agentes. Devuelve false si el destino no está en la malla.
:stopMoving()Se para.
isMovingSi va hacia un destino (pasa a false al llegar).
remainingDistanceMetros que le quedan por el camino.
navVelocitySu velocidad actual (Vec3).

Sin Rigidbody se mueve por su Transform, pegado a la malla. Con un Rigidbody dinámico se mueve por velocidad (la física sigue actuando). La velocidad, la aceleración, el radio y el giro se ajustan en el Inspector.

Navigation.findPath(desde, hasta)Lista de Vec3 con los puntos de giro del camino, o nil.
Navigation.projectPoint(punto, radio)El punto de la malla más cercano, o nil.
Navigation.randomPoint(centro, radio)Un punto al azar de la malla dentro del radio, o nil.
Navigation.raycast(desde, hasta)Devuelve llega, punto: si la línea recta por la malla llega sin salirse, y dónde choca si no.
Navigation.isReady()Si ya hay malla.
La malla sale de los colliders (caja, esfera, cápsula, malla y plano) y de los terrenos con colisión, no de lo que se dibuja. No cuentan los triggers, los Rigidbody dinámicos ni los propios agentes. Un NavModifier bloquea una zona o la encarece (los caminos la rodean si pueden).

¿Algo no queda claro o falta algo? Pregunta en el Discord.