NavMesh Agent
Off-Mesh Link (Enlace Off-Mesh)

Navmesh Obstacle (Obstáculo NavMesh)

El componente NavMesh Obstacle le permite a usted describir los obstáculos en movimiento que los agentes debería evitar mientras navegan el mundo. Un barril o caja controlada por el sistema de física es un buen ejemplo de un obstáculo. Mientras que el obstáculo se esté moviendo los agentes harán lo mejor para evitarlos, pero una vez el obstáculo se vuelve estacionario, va a tallar un hueco en el NavMesh para que los agentes puedan cambiar sus caminos y girar alrededor de él, o si el obstáculo estacionario bloqueo el camino, los agentes encontraran una diferente ruta.

Propiedad Función
Shape La forma de la geometría del obstáculo: capsule (cápsula) o box (caja)
For box
   Center Centro de la caja relativa a la posición del transform
   Size Tamaño de la caja
For capsule
   Center Centro de la cápsula relativa a la posición del transform
   Radius Radio de la cápsula
   Height Altura de la cápsula
Carve Cuando esté prendido, el obstáculo va a tallar un hueco en el NavMesh
When carving is turned on (Cuando carving se prende)
   Move Threshold El umbral de distancia para actualizar un hueco tallado que se mueva.
   Time To Stationary El tiempo que espera hasta que el obstáculo es tratado como estacionario.
   Carve Only Stationary Cuando sea activado, el obstáculo va a tallarse solamente cuando esté estacionario.

Detalles

Los NavMesh Obstacles pueden ser utilizados para afectar la navegación del agente durante el juego en dos maneras:

  • Obstructing: cuando carving no está prendido, el comportamiento por defecto del obstáculo es muy parecido al physics collider. Los agentes van a intentar evitar las colisiones con el obstáculo, y cuando estén cercan van a colisionar con el obstáculo. El Obstacle avoidance (evasión de obstáculo) es una operación muy local, como darle sentido al entorno con un palo. El agente pueda que no encuentre una manera alrededor en un entorno lleno de obstáculos. Este modo es mejor utilizado en casos dónde el obstáculo está constantemente moviéndose, por ejemplo un vehículo, o incluso un personajes jugador.
  • Carving: cuando carving esté prendido, el obstáculo va a tallar un hueco en el NavMesh cuando esté estacionario, y cuando se mueva es obstruido. Cuando un hueco es tallado al NavMesh el path finder (encuentra camino) que sabe del panorama general, es capaz de navegar el agente alrededor de la ubicación llena con obstáculos, o puede encontrar otra ruta si el camino actual es bloqueado por un obstáculo. Usted debería activar carving para obstáculos como cajas y barriles que por lo general bloquean la navegación, pero pueden ser movidas por el jugador o otro eventos de juego como explosiones.

La lógica de mover el obstáculo

Cuando el obstáculo se mueve, el hueco tallado también se moverá pero para reducir la cargar del CPU el hueco solo es re-calculado cuando sea necesario. La lógica del re-calculo tiene dos opciones : 1) tallar cuando sea estacionario, 2) tallar cuando sea movido.

  • Carve when stationary es el comportamiento por defecto y es utilizado cuando Carve Only Stationary esté prendido. El obstáculo es tratado como se mueve cuando se ha movido más de la distancia configurada por Carving Move Threshold. En este momento, el hueco tallado es removido. Cuando el obstáculo ha parado de moverse, y ha estado estacionario más de los segundos Carving Time To Stationary, los obstáculos son tratados estacionarios y el carving (tallar) se actualiza nuevamente. Mientras el obstáculo se está moviendo, los agentes los van a evitar utilizando collision avoidance (evasión de colisión), pero no va a planear caminos alrededor de ello. Este modo por lo general es la mejor opción en términos de rendimiento. Es un buen partido cuando el game object es controlado por física (por ejemplo las cajas y los barriles).
  • El comportamiento Carve when moved es utilizado cuando Carve Only Stationary esté apagado. En este modo el hueco tallado es actualizado cuando el obstáculo se ha movido más que la distancia configurada por Carving Move Threshold. Este modo es bien ajustado para obstáculos grandes que se mueven lento, por ejemplo un tanque que está siendo evitado por infantería.

Lecturas Adicionales

NavMesh Agent
Off-Mesh Link (Enlace Off-Mesh)