NavMesh Juego Laberinto

Aquí vemos un laberinto  un ratón un gato y el queso,  lo que vamos hacer es que atreves del NavMesh , nuestro Ratón elija el camino  correcto en tiempo real, sin equivocación alguna hacia el queso. Así que incorporamos nuestra fondo de imagen,

Aquí tenemos nuestra imagen de fondo, ahora vamos adjuntar a nuestro personaje, que es un mono.

Ya tenemos nuestro mono , Ahora lo que vamos hacer es crear un objeto Vacío al que llamaremos Collisionador01

Ahora creamos Polygon Collider 2D y vamos marcando los obstáculos que nuestro personaje no puede atravesar

Creamos los collisionadores tantos como fuera necesario

Así tendríamos nuestro laberinto, Ahora creamos otro objeto vacío al que llamaremos Navmesh,  enlace para descargar aquí

una vez descargado lo copiamos,  y hacemos lo siguiente

La carpeta que hemos descargado la pegamos en Assets, Una vez importado vamos al Objeto vacío que hemos creado llamado NavMesh

Le damos a Rotate Surface to XY

al pincharle  Rotate Surface to XY se nos pondrá al -90.00001.

Ahora vamos el objeto de Navmesh he incorporamos nuestros objetos creados 

Dentro de Navmesh, incorporamos el fondo, el mono y el colissionador y creamos un Box Collider2D al fondo de pantalla, ya que las colisiones ya tienen su box collider

ahora seleccionamos todos los objetos dentro del NavMesh y adjuntamos el siguiente componente

Y después pulsaríamos el botón de Bake

Ahora volveríamos al inspector y le daríamos Bake

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class camarabullet : MonoBehaviour
{
    private GameObject Point;
    private NavMeshAgent agent;
    

    void Start()
    {
        agent = GetComponent<NavMeshAgent>();
        agent.updateRotation = false;
        agent.updateUpAxis = false;
        Point = GameObject.Find("Platano");

    }

    // Update is called once per frame
    void Update()
    {
        agent.SetDestination(Point.transform.position);

    }
}

El secrip seria muy sencillo

Point = GameObject.Find(«Plátano»); , es un objeto vacío que he creado con un box Colíder al que he llamado Plátano hacia donde nuestro personaje ira

Deja un comentario

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