Unity incluye un sistema de navegación y movimiento que le permite a los personajes saber cómo llegar a un punto determinado del escenario a través de la ruta más corta, usando una malla de navegación (navmesh), y también les ayuda a moverse mediante comportamientos de direccionamiento (steering behavior) hacia allí.
Unity actualmente tiene un sistema antiguo (obsoleto) de generación de mallas de navegación, que permite crearlas de manera centralizada, y un sistema nuevo, que consiste en poner un componente NavMeshSurface en algún objeto de juego principal del escenario, para crear la malla así. Hay que tener mucho cuidado de saber cuál de los dos sistemas se está usando para evitar duplicidades.
Malla de navegación
Define el área donde los personajes pueden navegar de forma inteligente. A nivel uso básico de la herramienta tenemos:
- Pasos: Selecciona la geometría de la escena, en el Inspector haz clic en Add Component y elige Navigation > NavMesh Surface.
- Bake: Ajusta la configuración y pulsa Bake. El NavMesh aparecerá como una capa azul.
- Actualización: Debes volver a generar la malla si cambias la geometría, los modificadores o la configuración del agente.
- Eliminación: Pulsa Clear en el componente o borra el archivo de asset en la ventana Project.
Agente de navegación
Es el componente que permite a un personaje moverse por la escena.
- Configuración: Crea un cilindro o cualquier otro objeto de juego y añade el componente NavMesh Agent. Este maneja la búsqueda de rutas y el control de movimiento.
- Prueba: Crea una esfera como objetivo y asígnala como destino al script en el personaje.
Obstáculo de navegación
Se usa para objetos que los agentes deben evitar (como cajas o barriles).
- Pasos: Añade el componente NavMesh Obstacle a un objeto (ej. un cubo).
- Configuración: Define la forma como Box. Si el objeto se mueve por físicas, añade un Rigidbody.
- Carve: Activa la opción Carve para que el agente recalcule la ruta alrededor del obstáculo en tiempo real.
Conexión de navegación
Permite crear conexiones entre distintos puntos de la malla, atravesando partes que están fuera de la superficie transitable (sirve para saltar zanjas o cruzar puertas).
- Configuración: Crea dos objetos (puntos de inicio y fin) y añade el componente NavMesh Link a uno de ellos.
- Conexión: Asigna los objetos a los campos Start Transform y End Transform.
- Visualización: En el modo de depuración, un arco negro indica conexión válida; uno gris o rojo indica que los puntos no tocan el NavMesh o que la conexión está desactivada.
Malla de altura
La malla de altura sirve para que el personaje se coloque con mayor precisión sobre superficies irregulares (como escaleras que el NavMesh siempre simplifica como rampas).
- Cómo activarlo: En el componente NavMesh Surface, expande la sección Advanced y marca Build Height Mesh antes de pulsar Bake.
- Resultado: Se mostrará una superposición rosa indicando la precisión de altura. Ten en cuenta que consume más memoria y tiempo de procesamiento.
Más información
Se recomienda consultar estos documentos, incluyendo los de la documentación oficial:
- Unity Technologies: AI Navigation | AI Navigation | 2.0.12 (2026)
Esta página está licenciada bajo CC BY-NC-SA 4.0 por Laboratorios Narratech.
Referencias