Trabajos interiores del Sistema de Navegación
Componentes de construcción del NavMesh

Construyendo un NavMesh

El proceso de crear un NavMesh desde la geometría del nivel es llamado NavMesh Baking. El proceso colecciona los Render Meshes y Terrenos de todos los Game Objects que pueden ser marcados como Navigation Static, y luego los procesa para crear un navigation mesh que aproxima las superficies que se pueden caminar del nivel.

En Unity, la generación NavMesh es manejada desde la ventana Navigation (menú: Window > Navigation).

Construyendo un NavMesh para su escena se puede hacer en 4 pasos rápidos:

  1. Select (Seleccione) la geometría de la escena que debería ser afectada por la navegación - superficies que se pueden caminar y obstáculos.
  2. Check Navigation Static (Marque la navegación cuando esté estática) prendida para incluir los objetos seleccionados en el proceso de NavMesh baking.
  3. Adjust (Ajuste) los ajustes bake para que coincidan con el tamaño de su agente.
    • Agent Radius define qué tan cerca el centro del agente puede estar a una pared o borde.
    • Agent Height define qué tan bajo los espacios están para que el agente los pueda alcanzar.
    • Max Slope define qué tan inclinado las rampas están las cuales el agente tiene que caminar.
    • Step Height define qué tan alto están las obstrucciones las cuales el agente puede pararse.
  4. Click bake para construir el NavMesh.

El NavMesh resultante será mostrado en la escena como una superposición azul en el nivel subyacente de la geometría cuando la ventana de Navigation esté abierta y visible.

Como usted puede haber notado en las fotos de arriba, el área en que se puede caminar en el NavMesh generado aparece acortado. El NavMesh representa el área dónde el centro del agente puede moverse. Conceptualmente, no importa ya que a usted le importa el agente como un punto en un NavMesh encogido o un círculo en un NavMesh de tamaño completo debido a que los dos son equivalentes. Sin embargo, la interpretación del punto nos permite para una eficiencia de ejecución mejor y también le permite al diseñador ver inmediatamente si un agente puede contraerse a través de los huecos sin preocuparse por su radio.

Otra cosa para tener en cuenta es que el NavMesh es una aproximación de la superficie caminable. Esto se puede ver por ejemplo en la escaleras que son representadas como superficies planas, mientras que la superficie fuente tiene pasos. Esto es hecho con el fin de mantener el dato del tamaño del NavMesh pequeño. El efecto secundario de la aproximación es que a veces usted va a necesitar tener un poco de espacio extra en la geometría de su nivel para permitirle al agente pasar a través de un lugar pequeño.

Cuando el baking se haya completado, usted encontrará un archivo asset NavMesh dentro de una carpeta con el mismo nombre de la escena a la que pertenece el NavMesh. Por ejemplo, si usted tiene una escena llamada First Level en la carpeta Assets, el NavMesh estará Assets > First Level > NavMesh.asset.

Fujo de trabajo adicional para Marcar objetos para el Baking

En adición a marcar objetos como Navigation Static en la Ventana Navigation, como se explica arriba, usted puede utilizar el menú Static en la parte de arriba del Inspector. Esto puede ser conveniente si pasa que usted no tiene la ventana Navigation abierta.

Lecturas Adicionales

Trabajos interiores del Sistema de Navegación
Componentes de construcción del NavMesh