Navmesh 2D Unity

Vamos a utilizar Navmesh 2D en Unity, con esto que vamos a crear ahora nos permite crear mallas de navegación automáticamente, a partir de una escena y que nuestro personaje se mueva por donde nosotros queramos,

Aquí tenemos nuestro Unity abierto, y vemos que todavía no hay nada hecho, vamos a crear nuestro escenario

Aquí tenemos nuestro escenario, de fondo tenemos el Césped, los obstáculos que es  marrón, y la carretera que es gris, todavía no tiene collider, ni nada por el estilo

ahora vamos a crear el NavMesh, pero antes de comenzar vamos a descargar el siguiente archivo que dejaré Aquí………enlace d la pagina para descargar

Lo Descargamos nos saldrá un rar. Lo extraemos nos saldrá una carpeta llamada «NavMeshPlus–master» esa carpeta le damos a copiar. Vamos a nuestro Unity. «Show in Explore»

Y dentro de la carpeta Assets, pegamos nuestra carpeta «NavMeshPlus–master«,una vez importado a nuestro juego creamos un objeto vacío, con el Nombre de «NavMesh» aunque podéis ponerle el nombre que vosotros queráis, después en las pestañas de arriba, Window-AI- Navegation y nos saldrá esto.

Ahora vamos a nuestro objeto vacío que en este caso es NavMesh y vamos a colocar 0 – 0 – en todos los Ejes de la position X-Y -Z todos ellos en 0

Así debería de quedar, ahora vamos a adjuntarle un componente

Nos quedaría una cosa así, pero ahora tenemos que modificar también la Rotation en el Eje X y debería quedar en -90.0000 así que vamos a hacer lo siguiente

Le damos a Rotate Surface to XY y debería quedar tal cual pongo en la imagen siguiente

Ahora vamos a seleccionar todos los obstáculos que hemos puesto en la escena, tanto carretera, como césped

A todas ellas le añadimos el Componente NavMeshModifer. Y ahora de nuevo seleccionamos todas las imágenes de la escena y se las incorporamos a NavMesh

Ahora vemos como están todas dentro de NavMesh

Seleccionamos todos los objetos de los cuales nuestro objeto no puede traspasar ni circular por ellos

Ahora marcamos Override Area

y seleccionamos área Type : Nor Walkable, nuestro objeto chocaría contra ellos, ahora seleccionamos los objetos de nuestra escena por los que si puede circular,

Ahora con los objetos dónde si pueden circular, de nuevo marcamos Override Area y en Area Type: Walkable para que nuestro objeto sí que pueda circular por ellos, y vamos a NavMesh

Y lo dejamos tal cual en Collect Obects : Children y en Use Geometry : Phy Colliders, Pero nos faltaría una cosa crear Collider a todos nuestro objetos así que seleccionamos todos de nuevo, y les creamos un box Collider 2D

Ahora vamos al fondo de la imagen y en su Box Collider2D y marcamos Auto Tilling

Aquí vemos nuestros collider  así que en NavMesh le damos a Bake

Y así quedaría por donde nuestro objeto puede moverse

Creamos un objeto vacío, al que llamaremos Point

Dentro de este objeto vacío, creamos otro objeto vacío, con el número 1

Y los colocamos

Ya tenemos nuestro 4 puntos, ahora creamos nuestr coche que es el rosita.

Ahora os enseñare el Script

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class nu : MonoBehaviour
{
    public Transform[] Points;
    private int destPoint = 0;

    private NavMeshAgent agent;



    void Start()
    {
        agent = GetComponent<NavMeshAgent>();

        agent.autoBraking = false;

        GotoNexPoint();
    }

    void GotoNexPoint()
    {

        if (Points.Length == 0)
            return;

        agent.destination = Points[destPoint].position;
        destPoint = (destPoint + 1) % Points.Length;
    }

    void Update()
    {

        Quaternion rotation = Quaternion.LookRotation(Points[destPoint].position - transform.position,
            transform.TransformDirection(Vector3.forward));
        transform.rotation *= Quaternion.Euler(+90, 0, 0);

        if (!agent.pathPending && agent.remainingDistance < 0.5f)
            GotoNexPoint();
    }
}


Related Posts

El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados?

El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados? Ayer el Real Madrid consiguió una victoria frente a la Roma en un partido…

El Barça está por encima de Messi, señor Gaspart, pero su historia más gloriosa lleva su nombre

JOAN GASPART a LEO MESSI Gaspart, Messi y el Barça: el club está por encima de todos, pero su historia no se puede borrar «¿Quién se ha creído? Que vaya…

One thought on “Navmesh 2D Unity”

Deja una respuesta

You Missed

El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados?

  • Por admin
  • octubre 15, 2026
  • 19 views
El Real Madrid remonta a la Roma, pero sigue sin convencer: ¿tiene Vinícius los días contados?

El Barça está por encima de Messi, señor Gaspart, pero su historia más gloriosa lleva su nombre

  • Por admin
  • octubre 13, 2026
  • 18 views
El Barça está por encima de Messi, señor Gaspart, pero su historia más gloriosa lleva su nombre

Mbappé desafía al Bernabéu y Mourinho lo defiende: ¿castigo justo o caza mediática?

  • Por admin
  • octubre 10, 2026
  • 50 views
Mbappé desafía al Bernabéu y Mourinho lo defiende: ¿castigo justo o caza mediática?
El último baile del 10

Criticar a Lamine por su fútbol, sí; cuestionar que sea español, no.

  • Por admin
  • octubre 5, 2026
  • 53 views
Criticar a Lamine por su fútbol, sí; cuestionar que sea español, no.

Cristiano y Portugal: una historia demasiado grande para terminar de esta manera

  • Por admin
  • octubre 4, 2026
  • 23 views
Cristiano y Portugal: una historia demasiado grande para terminar de esta manera