En este demo vamos a mejorar el controlador del personaje. Para ello vamos a crear mediante el animator de Unity un autómata como el que vemos en pantalla, tendremos un estado base de serial idle, que es el inicial, pasaríamos a los diferentes estados que vemos en pantalla, por ejemplo Throw grenade, run aim, idle shoot, dead, win o cinematics. Idle state es desde cualquier estado pasamos al dead, al cinematics o al win. Nos vamos a implementar esto desde el animator. Vamos a ir a nuestro personaje, y vamos a marcarle animator. Ahora mismo no tiene animator porque no es de tipo avatar. Entonces nos vamos a ir a su animación y le vamos a decir que es de tipo humanoide, vamos a crearle el avatar de este modelo, clicamos. [AUDIO_EN_BLANCO] La vamos a configurar, grabamos la escena en nuestra unidad, nos lo pide. Y le vamos a mapear los huesos de forma automática, que ya lo seguiremos, y pondremos el tipo por defecto, aplicamos y lo dejamos así. Entonces ahora ya nuestro player tiene su propio avatar, y ahora hay que crear el controlador, que es lo que nos va a permitir. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] Create controller, animator controller, player animator control, y ahora nos va a permitir metérselo a nuestro player. Ahora sí, bien lo que vamos a hacer es lo que hemos visto en el player. Entonces lo que vamos a crear son parámetros, vamos a maximizar esto, vamos a crear parámetros. Si nos fijamos tenemos aquí parámetros de movimiento, de disparo, de muerte, cinemáticas, win y lanzamiento de granadas. El primer parámetro de movimiento es de tipo float, entonces vamos a la zona de parámetros, le damos más, float, y decimos movement. Vamos a crear los otros parámetros, de tipo boleanos todos. más boolean shoot, más boolean dead, más boolean cinematics, más boolean win, y más boolean throw grenade. Vale, una vez creados los parámetros, vamos a empezar a crear los estados. Para crear los estados, pulsamos botón derecho, create state, empty, este será él por defecto, vamos a llamarle idle. [AUDIO_EN_BLANCO] Vamos a ponerle idle. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] Vale. El idle lo vamos a pasar al idle shoot, idle shoot. [AUDIO_EN_BLANCO] Vamos a crear un nuevo estado que se va a llamar run aim. Otro estado que se va a llamar create empty, throw grenade y así se llamará cuando lance la granada. Luego vamos a crear el de dead y cinematics. Dead. [AUDIO_EN_BLANCO] Y cinematics. Entonces estamos creando la máquina de estado de nuestro personaje, de nuestro controlador de jugador y el último estado será el win. Entonces estos son los diferentes estados que vamos a encontrar de nuestro jugador. Y ahora tenemos que montar las condiciones que unen cada estado. Es decir pasaremos de cualquier estado a cinemática, pulsamos con el botón derecho encima del state para crear el cambio en la transición y pulsamos encima de la flechita que es la transición, y marcamos aquí la condición. La condición es si cinemática está true. pasaremos de cinemática a idle. si cinemática pasa a ser falso. Pasaremos de cualquier estado a muerte si la variable booleana dead pasa a ser true. Y pasearemos de cinemático a idle cuando termine la condición, cuando termine la animación de dead. Y de any state a win, a win, si la variable booleana win está true, y ahí se acabara el player y ya. Pasamos de idle a aim shoot. Si el movimiento es menor que 0.5 y el disparo está activado. Pasaremos de idle shoot a idle, si el movimiento es menor que 0.5 y el disparo es falso. [AUDIO_EN_BLANCO] Pasaremos de idle a run aim si el movimiento es mayor que 0,5. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] De idle a throw grenade, si tenemos activo el throw grenade, y pasaremos de run aim a idle. Si el movimiento es menor que 0.5 y no estamos disparando. Run aim a idle shoot, si el movimiento es menor que 0,5. [AUDIO_EN_BLANCO] Y estamos disparando. De idle shoot a run aim, si el movimiento es mayor que 0,5. De run aim a throw grenade si el throw grenade está activo. Entonces tendríamos los mismos, faltaría aquí el throw grenade a idle, simplemente cuando termine la animación. Vale, entonces esta sería toda la máquina de estado de nuestros controladores de uso. Entonces nos faltan varias cosas, para cada estado tenemos que asignar una animación. Por ejemplo el idle le tenemos que asignar la animación que ya tiene por defecto. Es decir nuestro player teníamos esta animación de aquí. Vale, si nos fijamos en animaciones no esa es la de caminar, perdón, no nos sirve esta animación, perdón. Entonces cogeremos las animaciones de otro personaje que tenemos en el Unity assets store. Entonces este será el conjunto de animaciones de donde vamos a sacar las animaciones de nuestro personaje. Entonces este paquete lo vamos a descargar, como hemos hecho en la sección anterior y lo vamos a utilizar para nuestro personaje. Todo y que el personaje no sea el mismo nos va a servir su animación, gracias al animator y a la forma de. De mapear las animaciones sobre un esqueleto bípedo podremos hacerlo, entonces para ello vamos a decirle que lo haga ahora en Unity, ejecutar. [AUDIO_EN_BLANCO] Le doy a importar, otro paquete. [AUDIO_EN_BLANCO] Va, una vez importado el paquete veo que se me ha creado una nueva carpeta que se llama military riffle 01 free versión 2, vale. Entonces aquí tenemos diferentes FBX y diferentes animaciones. En animaciones, tengo varias animaciones que no puedo abrir ahora mismo. Entonces lo que voy a hacer es preparar estas animaciones para poder utilizar a mi personaje. Para ello. [AUDIO_EN_BLANCO] Tenemos esta que sería la animación de walk apuntando, vamos a usar tanto esta como la de caminar y le damos la de jog y me muevo más rápido. Entonces lo que voy a hacer es prepararla para poder utilizar estas animaciones en mi personaje. Entonces para ello le voy a poner que es de tipo humanoide, le voy a decir que cree el avatar de este modelo, clico y vamos a hacer lo que hemos hecho antes. Configuramos, guardamos la escena, le hacemos el automap, y forzamos la pose t, aplicamos y ya tendremos esta animación. [AUDIO_EN_BLANCO] Que será para nuestro personaje y lo siguiente que vamos a hacer es para los otros personajes, para las otras animaciones perdón vamos a hacer lo mismo. Entonces para ello voy a utilizar esta a ver cómo se ve. Entonces lo que voy a hacer es que utilice el humanoide y en vez de ir al avatar definición voy a decir que cree este modelo, que lo copie de otro avatar. Entonces lo voy a pasar el avatar que he creado previamente de este modelo de animaciones. Clico, creo que no ha faltado y ha creado el avatar y en las animaciones veo mi personaje, que va ha ser mi animación de idle. Establecemos en el estado de idle la animación que corresponde. Entonces para ello le metemos la animación que hemos puesto como humanoide y activamos los foot IK, para que estén pegados al suelo de forma correcta. Vamos al jog aim y activamos la animación de correr apuntando, y también activamos el foot IK. Y si ahora vamos a la transición vemos el cambio de estado, y empieza a correr, vale. Entonces si vamos a la otra transición veremos cómo pasa de correr. [AUDIO_EN_BLANCO] A idle. Podemos coger y decir que esta transición, que ahora mismo es muy corta, hacerla más larga, para que la transición sea más suave, ¿la ves? [AUDIO_EN_BLANCO]