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 «NavMeshPlusmaster» esa carpeta le damos a copiar. Vamos a nuestro Unity. «Show in Explore»

Y dentro de la carpeta Assets, pegamos nuestra carpeta «NavMeshPlusmaster«,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();
    }
}


admin

Related Posts

Lección del Balón de Oro, Cuando el Carácter y el Juego. No Van de la Mano

Ayer el Real Madrid se enfrentó en casa al AC Milan, pero el marcador de 1-3 en contra fue un golpe difícil. Este resultado no es alentador, y si la…

Jugadores Lesionados y Controversias en Amistosos Internacionales

En estos últimos días, se ha hablado mucho sobre los partidos amistosos de selecciones y los jugadores que vuelven lesionados. Uno de los focos de atención ha sido Kylian Mbappé,…

One thought on “Navmesh 2D Unity

  1. Thanks for another informative site. Where else could I
    get that type of information written in such an ideal manner?
    I have a mission that I am simply now working on, and I have been at the look out for such
    info.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You Missed

Ganar para No Avanzar: El Atlético de Madrid y su Estilo Estancado

  • Por admin
  • noviembre 6, 2024
  • 212 views
Ganar para No Avanzar: El Atlético de Madrid y su Estilo Estancado

Lección del Balón de Oro, Cuando el Carácter y el Juego. No Van de la Mano

  • Por admin
  • noviembre 6, 2024
  • 72 views
Lección del Balón de Oro, Cuando el Carácter y el Juego. No Van de la Mano

Una Jornada Que Nunca Debió Jugarse

  • Por admin
  • noviembre 4, 2024
  • 57 views
Una Jornada Que Nunca Debió Jugarse

Vinicius, el Real Madrid y la Sombra de la ‘Encerrona’ en el Balón de Oro

  • Por admin
  • octubre 29, 2024
  • 70 views
Vinicius, el Real Madrid y la Sombra de la ‘Encerrona’ en el Balón de Oro

La Farsa del Balón de Oro. Un Espejismo de Justicia en el Fútbol

  • Por admin
  • octubre 28, 2024
  • 86 views
La Farsa del Balón de Oro. Un Espejismo de Justicia en el Fútbol

Barcelona Imparable, Atlético en Caída y un Valencia Sin Rumbo

  • Por admin
  • octubre 28, 2024
  • 42 views
Barcelona Imparable, Atlético en Caída y un Valencia Sin Rumbo