EJERCICIO12_Inteligencia Artificial

En esta lección aprenderemos a crear un nuevo personaje. Un enemigo cuyo comportamiento será muy básico. Vamos a programarlo para que esté contínuamente mirando hacia nuestro personaje, y avanzando en línea recta.
También haremos el código por el que si nos este personaje nos toca, perderemos, y reiniciaremos la partida.

Auxiliares del Estado

A continuación crearemos una capsula la cual llamaremos Enemigo y le asignaremos un color rojo al material del objeto:

EJERCICIO12_Inteligencia Artificial

EJERCICIO12_Inteligencia Artificial

Creamos un nuevo script en nuestra carpeta de assets del proyecto que llamamos Enemigos. Abrimos esta y vamos a asignarle una variable vida:

EJERCICIO12_Inteligencia Artificial

Dentro de escena vamos a definir ciertos parametros y formas de nuestro enemigo para que quede lo más representativo posible. De esta manera sabremos siempre que el cubo representa los ojos y se moveran para vernos:

EJERCICIO12_Inteligencia Artificial

Creamos un cubo y lo asignamos dentro del objeto Enemigo tal y como aparece en la imagen

EJERCICIO12_Inteligencia Artificial

En este archivo de momento solo pondremos el cуdigo para que el enemigo se mueva, y la IA suficiente para que pueda perseguirnos, atacarnos, y ser atacado por nosotros.
Para poder mirar hacia nuestro personaje, el enemigo debe tener una referencia a nuestro objeto:
GameObject player;
Esta variable la asignaremos en el Start mediante una busqueda por nombre de objeto:
player = GameObject.Find(“Player”);
Y ahora que el enemigo ya sabe quien somos, puede saber tambien en que punto del escenario estamos y por tanto mirar hacia nosotros y acercarse.
transform.LookAt(jugador.transform);
GetComponent<Rigidbody>().velocity = transform.forward * 2;

Ahora vamos a crear la vida y la manera de detectar colisiones con nuestras balas:
public int vida = 3;
Creamos la variable de vida y le damos el valor inicial de 3.
Es decir, con 3 impactos de Bala, morirá.
private void OnCollisionEnter(Collision collision)
{
if (collision.collider.tag == “Bala”)
{
Destroy(collision.collider.gameObject);
vida = vida – 1;
if (vida == 0)
Destroy(gameObject);
}

}
Por último asigna este script al enemigo, y crea un prefab con todo el objeto del enemigo que has completado.

EJERCICIO12_Inteligencia Artificial

Categorías: Unity