Unity práctico: Videojuego 3D shooter

Programación del ataque del enemigo

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
Nuestro enemigo ya tiene las animaciones necesarias, así que ahora añadiremos las colisiones para que interactúe con nuestro personaje y, cuando exista algún contacto, se ejecute la animación de ataque.

Transcripción

Vamos a trabajar en este video con nuestro enemigo. Para eso vamos a acercarnos al enemigo, aquí, o ya saben, pueden hacer clic al enemigo o al zombie, apretar F con el cursor aquí y se centra. Tenemos el 'Animator Controller', tenemos la cápsula, vamos a agregar un nuevo "script". Para eso podemos ir a la carpeta 'Scripts', clic derecho, Crear un archivo C sharp, que se va a llamar 'Enemy'. Si queremos asignarle al zombi la clase 'Enemy', sencillamente lo arrastramos. Doble clic para abrir y se abre nuestro 'MonoDevelop', que es el editor con el cual estamos trabajando, y acá está nuestra clase 'Enemy'. Voy a hacer un poco más grande el código y lo que haremos es crear algunas variables para poder utilizar al enemigo. Voy a crear una variable 'Animator' para poder controlar la animación. Voy a crear también una variable "booleana" para el rango que va a tener nuestro Player con referencia al enemigo. Voy a hacer referencia a la clase Player, lo voy a llamar también 'player'. En el mismo modo, voy a crear una variable "booleana" para saber si está muerto o no, punto y coma. Algo que todavía no hemos hecho sobre agregar el 'NavMesh' pero lo que vamos a hacer, 'NavMeshAgent', en un momento es agregarlo como componente. Y una variable cuando el personaje muera, que es muy distinta a esta de aquí, a 'NavMesh', y aquí nos falta el nombre, 'nav'. Dentro del método 'Start' vamos a capturar el 'NavMesh', para eso regresamos a Unity y aquí, dentro del zombie, vamos a buscar Nav Mesh Agent. Los parámetros que vamos a ver aquí son los que nos permiten saber el radio del 'NavMesh', lo vamos a dejar como estaba por defecto; el alto; si la base va a ser sobre el límite el piso; la velocidad con la cual va a reaccionar; la velocidad cuando va a girar, por ejemplo cuando te estás acercando por atrás y rotas rápidamente, se define aquí; la aceleración y la distancia para detenerse, etc. Poco a poco vamos a ir modificando algunos valores que tenemos, por lo pronto lo dejamos ahí. En el método 'Start' hacemos 'nav' igual y hacemos un 'GetComponent' y hacemos aquí, dentro del signo de mayor y menor, un 'NavMeshAgent'. También vamos a capturar a nuestro 'Animator' para poder controlar las animaciones 'Animator' –con A mayúscula–, nuestro 'Animator'. Y vamos a capturar al Player. Voy a crear una variable temporal 'playerTMP' igual a 'GameObject', punto, y que busque a nuestro Player. Lo que va a hacer es buscar todos los elementos dentro del escenario que tengan este nombre. Le preguntamos si 'playerTMP' es diferente a "null", o sea, existe, le voy a decir al Player que 'playerTMP.GetComponent' es 'Player'. Y así tenemos la referencia de nuestro Player dentro del enemigo. Como ya tenemos el 'Animator', lo que vamos a hacer ahora es ver si funcionan o no las animaciones que hemos creado. Para eso, en el 'Update', temporalmente vamos a hacer: si el 'Input.GetKeyDown' es el código de la tecla, por ejemplo P, por poner un ejemplo, vamos a hacer que el 'Animator', punto, dispare el 'Trigger'. ¿Qué Trigger? El que creamos en el 'Animator Controller'. Si queremos que muera, llamamos a esta condición. Para eso vamos a volver a Unity, vamos a ver que la cámara está muy lejos de nuestro zombi, así que vamos a mover al zombi más o menos al frente nuestro, por acá está bien. Ejecutamos. Está nuestro zombi caminando, está un poco alto, no hay problema. Presiono la tecla P y muere. Entonces vamos a hacer la otra. Vamos a utilizar lo que tenemos acá para ver las otras animaciones. Por ejemplo, cuando presione la tecla O –esto es provisional, solamente quiero ver que todo esté funcionando dentro de nuestro código– y que coma. La letra O, presiono la tecla O y se sienta a comer. Con esto ya tenemos programado a nuestro enemigo.

Unity práctico: Videojuego 3D shooter

Desarrolla un videojuego del tipo shooter usando Unity como motor 3D. Crea los elementos visuales necesarios en un escenario y empieza a agregar a los personajes y enemigos.

3:36 horas (40 Videos)
Actualmente no hay comentarios.
 
Software:
Fecha de publicación:30/08/2016

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.