Bienvenidos de nuevo mis compañeros desarrolladores de juegos a uno de los
videos más emocionantes y largos, muy largos.
Pero confía en mí, vale mucho la pena.
En este video, vamos a inyectar más vida y a nuestro juego creando animaciones.
Entonces ahora cuando iniciamos nuestro juego,
no nos quedamos ahí parados como una estatua.
Se puede ver que nos estamos moviendo.
Por lo que nuestro jugador va arriba y abajo,
arriba y abajo, arriba y abajo.
Y no sólo eso,
siempre que empecemos a caminar, mira eso.
Empieza a mover los pies por ahí.
¿ Qué tan guay es eso?
En serio, ahora no tenemos sólo al jugador de pie estatua de la suerte justa.
En realidad tiene vida, su respiración.
Está caminando, está mirando alrededor,
está apuntando con su arma,
está listo para empezar a disparar.
Todavía necesita un poco de ajuste,
pero lo manejaremos en el siguiente video.
Entonces, ¿qué realmente, al final, qué video?
No perdamos más tiempo pensando y lleguemos a animar.
Ah, está bien.
Por lo que actualmente cuando iniciamos nuestro juego,
si nos movemos,
como puedes ver, estamos muy rancio.
No tenemos ninguna animación en particular,
no vemos al jugador cambiar de estado
cuando empieza a caminar o cuando está de pie tampoco.
Entonces vamos a cambiar eso.
Vamos a sumar animaciones a nuestro jugador.
Y ya tenemos un par de hojas de cálculo y aquí,
las que determinarán nuestra animación.
Para que se pueda ver el ralentí, el caminar.
vamos a poner de lado a lado y jugar a estos sprites mientras caminamos,
como nos quedamos quietos,
como hacemos el movimiento de torpedos.
Entonces empecemos con las animaciones.
Primero, entendamos qué son las animaciones.
Un par de componentes clave que necesitamos.
En primer lugar, contamos con el controlador animador,
que permite organizar y mantener un conjunto de clip de animaciones.
Contamos con el componente animador el cual agregamos a cualquier objeto de juego que queremos animar.
Tenemos las animaciones reales,
que son varios sprites se renderizan uno tras otro.
También veremos que tenemos otro tipo de animaciones que nos permiten mover objetos para
luego recordarlo y reproducirlo en ciertos momentos.
Y finalmente tenemos el renderizador sprite.
Ahora bien, ¿por qué te estoy recordando al renderizador sprite?
Porque en solo un poco,
necesitarás entender qué renderizador sprite realmente intentaría cambiar para
crear las animaciones que tenemos para nuestro reproductor DOM.
Está bien, basta de hablar.
Empecemos con las animaciones.
Entonces, vayamos a Unidad.
Y lo primero que tenemos que hacer es conseguir las ventanas para la animación.
Entonces vamos a crear la ventana de animaciones.
Vamos a atracar por aquí.
Y vamos a crear una,
otra ventana para el animador.
Ahí lo tienes.
Entonces el animador como donde vamos a poner todas las animaciones.
Y las animaciones como donde realmente vamos a crear las animaciones.
Empecemos. En primer lugar,
vamos a elegir a nuestro jugador de la perdición.
Y como puedes ver de inmediato en la ventana de animación,
tenemos que empezar a animar, hacer reproductor,
crear un animador y clip de animación.
Genial, Hagamos eso.
Vamos a pegarle a Crear.
Y como pueden ver, actualmente estamos en el tiempo tanto archivo invasor como los activos.
Voy a crear una nueva carpeta aquí dentro,
que van a ser las animaciones.
O de animación.
Ahí lo tienes.
Y aquí crea una carpeta llamada el jugador.
Y vamos a nombrar nuestro clip.
Empecemos por crear un jugador,
creo. Está bien, genial.
Por lo que ahora tenemos nuestra nueva animación.
Y si nos fijamos en el jugador de cúpula,
se puede ver que tenemos un nuevo componente junto al cuerpo rígido y la cápsula,
que es el animador.
Entonces si entramos en escena,
nada cambia pero dentro del animador,
solo para refrescar todo,
se puede ver que ahora tenemos estos pequeños rectángulos por aquí.
¿ Y qué son estos?
Bueno, tenemos el cualquier estado,
la entrada y salida.
No nos preocupemos por el cualquier estado y la salida.
Centrémonos en la entrada y el jugador real ralentí.
Lo que esto significa es que en cuanto iniciamos nuestro juego,
inmediatamente transitamos al jugador inactivo.
Y verás que cada vez que tenemos un animador,
siempre tenemos una animación por defecto con la que empezamos.
Y en este caso, tenemos al jugador ralentí comenzando inmediatamente desde la entrada.
Y como puedes ver, está conectada por esta línea con una flecha.
A esto se le llama transición.
Y más adelante estaremos haciendo nuestra propia transición para pasar de una animación a la otra.
De acuerdo, sigamos.
Lo siguiente que queremos hacer es que realmente queremos crear la animación.
Entonces para hacer eso,
necesitamos que nuestros sprites ralentí aquí mismo.
Esos tres, queremos agregarlos al jugador y empezar a jugar con ellos.
Pero aquí hay un pequeño detalle que debemos tomar en consideración.
Vamos a estar cambiando los sprites del jugador.
Y los sprites que estamos cambiando en realidad están en el cuerpo,
no en lo inmediato.
Haciendo juego de jugador objeto.
Por lo que a través de esta animación,
tendrá que agregar una propiedad aquí.
Y permítanme que explique esta ventana aquí mismo.
Esta es la línea de tiempo para la animación.
Por lo que se puede ver desde 030,
esto es 2.5a y 2 uno justo aquí.
Esto es todo un segundo.
Tienes la obra,
el próximo fotograma clave de go-to, etcétera.
Tienes el botón Grabar aquí y puedes crear
un nuevo clip haciendo clic en este desplegable aquí mismo.
Entonces agreguemos una propiedad.
Al hacer clic en él, se puede ver que tenemos acceso a
todos los componentes que están presentes en el jugador o el objeto de juego del jugador del doom,
podemos cambiar las armas son el Chicago,
el brazo, el cuerpo, todo.
Entonces voy a acceder al cuerpo.
Y se puede ver que puedo acceder al render sprite en él.
Y si me desplaza hacia abajo,
en realidad puedo acceder al sprite que está en el cuerpo justo aquí.
Por lo que voy a dar click en el pequeño signo más aquí.
Si hago esto un poco más grande,
puedes ver que en realidad puedo ver
este pequeño sprite y esto es lo que vamos a cambiar.
Entonces si golpeo Play,
notarás que nada cambia porque este sprite es exactamente el mismo que éste.
Entonces cambiemos eso.
Voy a atracar las animaciones y aquí sólo para tener un poco de espacio,
voy a borrar la última,
Mantén esto aquí mismo.
Voy a seleccionar estos tres y añadirlos a la línea de tiempo aquí mismo,
y puedo deshacerme de la primera.
Entonces ahora déjame solo hacer esto, vale, Pero aparte.
Voy a atracar la animación aquí atrás.
Y ahora si traté de tocar la animación, ahí tienes.
Se puede ver que nuestro jugador empieza a moverse.
¿ Qué tan guay es eso?
¿ Qué está pasando aquí dentro?
Si miras de cerca,
déjame hacer una pausa por un segundo.
Simplemente haré que el tiempo entre cada uno sea un poco lejos.
Entonces ahora cuando jugamos,
notarás que vamos de un sprite a otro.
Y puedes asegurarte de eso mirando aquí mismo en
el inspector del cuerpo y ver que vamos de cualquiera de ellos,
sea a inactivo, quiero dos ociosos.
Y este de aquí mismo,
que son los tres,
apenas se juega porque en cuanto llegamos al final,
entonces de inmediato empezamos desde el principio.
Entonces una buena, digamos principal a tener en la creación de animaciones es que todo el tiempo,
el primer fotograma se debe copiar presionando Control C y B,
el último fotograma también.
Por lo que ahora notarás cómo se ve mucho mejor la animación.
Entonces voy a volver a tocar la animación.
Ahí lo tienes.
Se puede ver que ahora estamos ralentí.
Podemos ver 1, 2, 3,
1, 2, 3 jugando uno tras otro.
Por lo que ahora tenemos la animación del jugador ralentí.
Y si corremos nuestra ganancia,
se puede ver que en cuanto empecemos,
el jugador inicia cualquiera de los enlaces.
Y aún mientras nos movemos,
seguimos en ralentí.
Incluso si miramos hacia otro lado,
seguimos ralentando.
Y si revisamos el animador,
se puede ver que todo el tiempo estamos en ralentí.
Lo cerraré aquí mismo para que lo veamos con claridad y alejemos un poco.
Entonces este es el jugador ralentí todo el tiempo mientras estamos parados, quietos.
Genial.
Ahora, el siguiente paso es seguir adelante y crear la animación a pie.
Y va a ser tu reto.
Tu reto es crear otra animación.
Entonces consigue los sprites caminantes del sprite principal.
Si aún no lo has rebanado,
elige al jugador de doom en la jerarquía y crea un nuevo clip como te mostré.
Agrega todos los sprites que caminan y sepáralos.
Juega y haz que la caminata se vea bien.
Y si te interesa un reto extra,
puedes seguir adelante y crear la animación de torpedo.
No estoy seguro si voy a seguir usando la animación de torpedo.
A lo mejor debería ser algo diferente,
tal vez v, rodando alrededor de la animación.
No sé con ese non,
pausa el video ahora mismo,
ve a probar la animación.
No te preocupes, aunque seas principiante,
solo pruébalo.
Ver un par de pasos.
Cómo creé el ralentí.
Pruébalo tú mismo, diviértete, disfruta.
Y eso es todo.
Pausa el video ahora mismo y ve a hacerlo cada reto.
De acuerdo, entonces ahora vamos a crear la segunda animación,
que es la caminata.
Por lo que voy a dar click aquí.
Voy a crear un clip nuevo.
Ve al jugador de animaciones, elige ralentí,
y en lugar de ralentí,
lo voy a poner como el caminar.
Por lo que ahora jugador está caminando.
Muy bien.
De acuerdo, entonces ahora vamos a añadir una propiedad aquí.
Vamos a acceder al cuerpo porque recuerden
los sprites que estamos cambiando están en el cuerpo.
Renderizador Sprite, el sprite porque en realidad estamos cambiando cada sprite individual.
Y vamos a añadir,
vamos a mover la animación aquí.
A lo mejor este no es el mejor lugar para agregar una animación,
pero sólo tendremos que ver con lo que tenemos por ahora.
Acude al proyecto,
que son nuestra caminata.
Entonces creo que estos últimos cuatro son los que salen caminando.
Sólo tienes que añadirlos aquí.
Voy a quitar el último y el primero.
Eso inició la animación de nuevo hacia abajo.
Escojamos todos estos y los voy a extender
con un intervalo de 10. Hagámoslo 10.
Por lo que 10, 10, 10.
Y voy a copiar el primero y ponerlo como el último.
Y ahora cuando intentamos tocar la animación,
ahí vamos, se puede ver el caminar del jugador.
Y correcto.
Ahora bien, ¿cómo vamos a la transición?
Y si realmente haces click en el animador,
verás que ahora tenemos un nuevo clip aquí que es el jugador caminando.
Pero, ¿cómo vamos a transitar de ampliar la plática?
Esta es la pregunta de 1 millón de dólares.
Antes de decirte cómo hacemos eso,
déjame solo mostrarte lo que hemos creado en esta carpeta Animaciones dentro del jugador.
Entonces tenemos al jugador de la fatalidad,
tiene un animador,
tiene un controlador.
Y si hago clic en el controlador, por cierto,
cada vez que se hace clic, por ejemplo, en el don 't player,
se puede ver el cuerpo rígido donde está o las armas puestas,
puede conseguir una referencia.
Hacemos click en el controlador.
Este es el controlador y estas son
las animaciones del jugador y el caminar, el ralentí.
Y se puede ver aquí mismo, podemos hacer un poco de modificación para el desplazamiento del ciclo, el
tiempo del bucle, los polos del bucle.
Pero por ahora, no vamos a ahondar en eso.
Por ahora, centrémonos en el animador y en cómo vamos a crear transiciones.
¿ Cómo vamos a decidir cuándo hacemos la transición?
Esto también es muy importante.
Por lo que vamos a crear una transición aquí haciendo clic derecho en el jugador ralentí.
Aquí tenemos el make transition y vamos a ponerlo en el jugador caminando.
Entonces déjame acercar un poco.
Por lo que ahora se puede ver que tenemos esta flecha pasando de jugador ralentí a jugar o caminar.
Y también podemos crear una transición del jugador caminando al jugador ralentí.
Por lo que ahora podemos ir y venir entre estas dos animaciones.
Demos click en una de estas flechas y miremos y veamos qué tenemos aquí.
Entonces tenemos algo llamado la hora de salida.
Si pasas el cursor sobre él,
puedes ver que esta transición tiene un tiempo de salida fijo.
¿ Qué significa el tiempo de salida?
Significa que si voy de la ralentí a la caminata después de cierta cantidad,
¿quiero ir automáticamente de la caminata a la ralentí?
Y nuestro caso, no queremos hacer eso.
Queremos volver a la transición siempre que en realidad dejamos de caminar.
Por lo que voy a apagar el Tiempo de Salida Tiene.
Yo voy a hacer lo mismo en el camino hacia abajo.
Entonces vamos a buscar la duración de la transición.
Y se puede ver en realidad una vista previa,
una pequeña ventana de vista previa aquí.
Entonces cuando juego,
estoy ralentí y luego empiezo a caminar.
Tenemos la duración de la transición.
Entonces, ¿cómo quieres terminar la animación
del ralentí antes de que pasemos a caminar y nuestro caso,
creo que no necesitamos eso.
Entonces voy a fijar la duración de transición a 0
y también a eso en la transición del caminar.
Entonces en ambas transiciones,
ambas flechas yendo hacia y desde la caminata,
vamos a quitar el tiempo de salida,
quitar la transición más adelante cuando sí las necesitemos.
Me aseguraré de contártelo. No te preocupes.
Ahora, si nos desplazamos hacia abajo,
podemos ver aquí que tenemos algo llamado las condiciones.
Y esto es bajo qué condición pasamos
del jugador al ralentí al jugador caminando?
Y bajo qué condición pasamos
del jugador caminando al jugador cualquiera de los enlaces?
Por lo que vamos a tener que añadir una condición.
¿ Cómo agregamos una condición aquí en las transiciones?
Si volvemos a mirar al animador,
podemos ver que tenemos el paso de capa y tenemos algo llamado los parámetros.
Y aquí dentro podemos agregar ciertos parámetros a los que luego podemos
acceder desde nuestro código y hacer las condiciones.
Por lo que voy a dar clic y traté de agregar uno de los parámetros.
Se puede ver que tenemos float,
integer, booleano, y un gatillo.
Ahora, flotar y entero se explican.
Un booleano, como saben,
es un verdadero o falso y un gatillo es igual a lo que significa la palabra, un gatillo.
Por ahora, centrémonos en el booleano.
Entonces cuando hago clic en el booleano,
obtienes la opción de llamarlo como quieras.
Entonces este será el booleano que transita de cualquiera de los enlaces a caminar,
lo voy a llamar, es.
Caminando, golpea Enter.
Y ahora puedes ver que puedo encenderlo,
que significa que se vuelve verdad,
o puedo apagarlo,
que significa que se vuelve falso.
Por lo que voy a dar clic en la transición,
pasando de enlace de ID de jugador a caminar.
Y voy a dar click en la condición.
Y como se puede ver, porque sólo tenemos un parámetro,
inmediatamente piensa que necesitamos el caminar o determina cuál es cierto.
Entonces cuando es caminar es cierto,
transitamos de jugador al ralentí demasiado caminando.
Y si estamos caminando,
queremos hacer la transición al ralentí.
Queremos tener una condición donde está caminando es falso.
Entonces ahora cuando está caminando es cierto,
pasamos del jugador Ivan al juego o caminando.
Cuando jugador está caminando y está caminando se vuelve falso.
Estamos de vuelta en ralentí.
Convertiremos eso en código y le agreguemos comportamiento.
Voy a abrir mi guión.
Y aquí lo primero que tenemos que hacer es conseguir una referencia del animador jugador.
Entonces voy a crear animador privado, el animador de reproductores.
Y puede que la puerta.
Ahora es privado.
¿ Cómo vamos a sumar?
No podemos acceder a ella desde el inspector de aquí.
Si hago clic en el reproductor de cúpula en el guión,
no tenemos acceso al mismo.
Bueno, podemos usar algo llamado el componente get.
Entonces aquí voy a escribir jugador animador va a ser igual para conseguir componente.
Y vamos a añadir el tipo de componente que queremos obtener.
Entonces, ¿qué está pasando aquí?
Permítanme pasar el rato sobre el componente de la deuda.
No tiene explicación.
Te diré cuál es la explicación ya que también puedes seguir adelante
y encontrar en la documentación de Unity, es muy fácil.
Lo que hace es en cuanto empezamos,
obtenemos el componente,
que es de tipo animador adjunto al
objeto de juego que tiene el controlador del jugador como guión.
Entonces efectivamente lo que estamos haciendo es que este script está usando VI get component aquí mismo.
Y consiguiendo el animador,
que es éste.
Y ahora tenemos una referencia al mismo.
Por lo que ahora podemos acceder a muchas cosas usando este animador.
Y también se puede pasar por unidad es
documentaciones y ver todos los diferentes tipos de métodos,
propiedades, y diversas cosas que podemos hacer con este animador.
Entonces, ¿qué vamos a hacer en este animador?
Queremos comprobar si hay algún padecimiento.
Queremos comprobar si estamos caminando.
Queremos poner el Caminando a verdadero y luego transitar hacia la animación de caminar.
Entonces voy a crear una condición if aquí y comprobar si
la entrada de movimiento es diferente al vector a 0.
Entonces vector al 0 es igual que el vector 3 justo aquí.
Punto uno, que significa 111 vector dos punto 0 significa 00.
Esto significa que si la entrada de movimiento no es 0,
eso significa que sí tenemos caminar aquí mismo.
Tenemos velocidad, tenemos movimiento.
Vamos a conseguir el animador jugador.
Vamos a usar algo llamado el conjunto booleano.
Y aquí dentro se puede ver que se necesita ya sea una identificación
o una forma diferente de usar la cabina de set.
Si hago clic aquí,
se puede ver que puedo usar un nombre de cadena.
Y esto es lo que voy a hacer.
Y se puede ver que tenemos una referencia de cuerda.
¿ Y qué dijimos sobre las referencias encogidas?
Siempre que tenemos uno, siempre vamos,
lo copiamos porque si hay algún error,
el IDE no nos dirá cuál es el problema, cuál es el error.
El IDE, me refiero a la unidad o al Visual Studio.
Y aquí dentro porque estamos caminando.
Ah, y me olvidé.
¿ Qué significa este signo de exclamación?
¿ A qué se refiere el signo de exclamación igual?
Entonces si ven justo aquí,
hemos dicho que cuando las posiciones del ratón de x es menor que este punto verde,
podríamos haber dicho que si la posición del ratón que AX es igual,
siempre que queramos comparar dos valores,
podemos establecer ellos como iguales, iguales.
Eso significa que es la posición más x la misma que el punto del ratón punto x
Pero aquí decidimos mantenerlo como menor o igual.
Pero ¿y si queremos decir,
si no es igual?
Bueno, entonces usamos el signo de exclamación igual.
Esto significa que cada vez que la entrada de movimiento es diferente al vector dos punto 0,
tenemos el is walking establecido en true.
De lo contrario.
Eso significa que cuando la entrada de movimiento es igual a 0,
vamos a duplicar esta línea.
Y si mantenemos presionada Alt y usamos las teclas de flecha,
podemos ponerlo aquí.
Y vamos a poner el está caminando a falso. Eso lo ahorraremos.
Vamos a repasar esto una vez más porque me olvidé de hablarte
de esto y simplemente seguí usándolo, lo cual es muy malo.
Entonces espero que eso no fuera demasiado confuso.
De todos modos, creamos una condición if que aprendimos en un video anterior.
Verificamos si la velocidad de movimiento es diferente a un vector 0,
digamos diferente a usar un signo de exclamación e igual.
Entonces si la velocidad de movimiento es diferente a 0,
eso significa que estamos caminando.
Vamos a acceder al animador jugador que va a utilizar el método set Bool.
Y vamos a acceder al parámetro is walking y estar ajustándolo a true.
Y recuerden, cuando lo pusimos a verdadero,
tenemos la transición aquí que dice que si B está caminando es verdad,
pasamos de ralentí demasiado caminando,
y hemos hecho lo mismo usando otro.
De lo contrario significa cuando la entrada de movimiento es igual al vector 2,
2, 0, eso significa que dejamos de caminar está funcionando como falso.
Pasamos de jugador caminando a jugar o al ralentí.
A ver si eso funciona.
Entonces iniciamos el juego.
Podemos ver aquí mismo que tenemos jugador ralentí.
Si empezamos a caminar, ahí tienes.
Se puede ver que ahora estamos caminando y es evidente por cierto,
las piernas de nuestro jugador se están moviendo.
¿ Qué tan guay es eso?
Entonces ahora tenemos animaciones.
Tenemos transiciones de una animación a la otra.
Hemos creado dos animaciones.
A lo mejor has creado el tercero en ti mismo.
No lo haré ahora mismo,
aunque más adelante para el futuro Michel para manejar ese problema,
me siento perezoso ahora mismo.
Pero hay una cosa más que tenemos que cuidar
si vamos justo aquí y al jugador de cúpula.
Y vayamos a Animaciones.
Si elegimos el ralentí,
por ejemplo, y lo jugamos,
notarás que tenemos nuestra pistola y
nuestro brazo parados ahí mismo sin hacer nada.
Esto no es nada bueno.
Hace que el juego se vea muy, muy mal.
Entonces, y también cuando se trata de caminar,
así se puede ver aquí mismo que el brazo se está moviendo,
el jugador se está moviendo,
pero el brazo y se fue son muy rígidos.
En el siguiente video,
vamos a estar arreglando eso.
Entonces antes de irme,
asegúrate de escenificar todo,
asegúrate de comprometer agregados y animaciones al
ralentí y caminando en tu caso también
la animación de torpedo al jugador, comprometer los cambios.
Y te veré en el siguiente video.