Vamos a actualizar nuestra Política de privacidad próximamente. Te recomendamos consultar el avance.

Unity práctico: Videojuego 3D shooter

Crear la colisión de nuestro personaje

¡Prueba gratis durante 10 días

nuestros 1287 cursos !

Prueba gratis Mostrar modalidades de suscripción
Uno de los aspectos más importantes en cualquier videojuego es la interacción con nuestro personaje y sus colisiones. En este video aprenderemos a agregar las colisiones necesarias para nuestro personaje y la interacción con el escenario

Transcripción

En este video vamos a ver un poco sobre la colisión del personaje, pero para eso necesitamos que el soldado se mueva por el escenario. Vamos a ir a nuestro editor de código y voy a crear una nueva variable del tipo 'Vector3' que se va a llamar 'Move'. Lo que vamos a hacer con esta variable es primero crear, así como tenemos animación, un método que se va a llamar 'Moving', abro y cierro paréntesis. Y le diremos a esta variable que vamos a "setear" un valor. Para eso voy a recibir los parámetros que tengo aquí, entonces voy a aprovechar que están acá escritos y los voy a copiar acá. Entonces voy a pasarle la variable horizontal cero en el eje Y y en Z la variable vertical. Adicional a eso le voy a decir que va a ser igual a 'move.normalized' por una variable que vamos a crear que es de velocidad. Por lo pronto voy a poner '2f', que vendría a ser la velocidad por 'Time.deltaTime'. Esta variable '2f' va a ser un valor que nos va a permitir modificar en cualquier momento la velocidad de nuestro personaje. Por un tema práctico y de orden, voy a crear acá arriba una variable llamada 'Speed'. Esta variable la vamos a reemplazar por este '2f', así la podemos cambiar sin necesidad de llegar hasta el código. Una vez hecho esto voy a preguntarle primero si tengo un 'Rigidbody', pues le diré 'rb' de 'Rigidbody', 'MovePosition' y le vamos a pedir la ubicación actual más la variable de movimiento. Grabo y lo que tengo que hacer es aquí llamar a mi método y pasarle hache, coma, ve. Voy a grabar y regreso a Unity. En Unity le voy a dar Play, se mueve nuestro personaje, presiono W y empieza a caminar. Muy bien, y está haciendo las animaciones, miren, presiono W y avanza. Y acá hemos realizado la parte de mover nuestro personaje. Voy a detener y regresamos al código. Entonces lo que hemos hecho es mover nuestro Player utilizando este método. La ventaja es que en cualquier momento podríamos editar la velocidad de nuestro movimiento con esta variable. También puedo hacer que sea pública, de tal forma de que cuando estoy aquí en Unity, despliego y puedo ver la velocidad. Entonces, por ejemplo puedo mover mi personaje y decir, bueno, sí, está bien. A ver, voy a ponerle 5 y ahora se mueve mucho más rápido. Nos sirve para poder cambiar en cualquier momento la velocidad. Sin embargo, me parece que 2 está bien. Un detalle importante es que cuando está en Play, tengamos en cuenta de que cualquier cambio que hagamos al momento de dejar de que sea Play, cerrar la simulación del juego, sencillamente se borra. Voy a dejar en 5, por ejemplo, se mueve rápido. Cierro y se pone en 2. Lo que vamos a hacer en este momento es seleccionar el Player y vamos a ir a Add Component –del Player, no del soldado– del Player y vamos a seleccionar una Cápsula Collider. El objetivo de la cápsula –voy a mover esto de acá para tener un poco más de espacio–. El objetivo de la cápsula es generar una colisión, para eso podemos utilizar el radio para hacerlo un poco más angosto y el alto de nuestra cápsula. Conforme lo hagamos, también vamos a ver que colisiona o no colisiona nuestro personaje. Por ahora lo vamos a probar así, le voy a dar Play, ahí está. Sin embargo, vemos que hay un poco de espacio ahí, nuestro 'Rigidbody' usa gravedad y vamos a bajar todo el soldado. Voy a darle Play de nuevo y por lo pronto vamos a avanzar y vamos a buscar golpear las cajas. Como ven no puedo, de hecho, se mueve mi animación empujándose por la colisión. Acá en Constraints, yo puedo decir que de este personaje se congelen alguno de los ejes, por ejemplo en la posición le voy a dejar en "check" en la Y, en el eje Y, y en rotación, eje X y Z. Voy a darle ejecutar de nuevo y ahora sí están colisionando y no puede seguir avanzando. Voy a hacerlo venir por acá y que retroceda y no puede. No puede, porque están las cajas, que de por sí las cajas, aquí, ya tienen un 'Box Collider'. El comportamiento es exactamente igual, el tema es que es una caja. Con esto tenemos la colisión de nuestro personaje con las cajas o con cualquier objeto que tenga un 'Collider'.

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.