Vamos a la escena, vamos a nuestro player, ahora no tenemos errores, por tanto vamos a empezar. La granada x z será 10 por ejemplo y vamos en vertical capacidad, la salida de la granada será el objeto que buscamos previamente y el prefab de la granada lo tenemos en prefabs y el public grenade no tiene que ser público. Vamos a ejecutar. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] Y no hemos visto la granada, vamos a ver donde hemos fallado. Ha de faltar la llamada al throw grenade que no se ha hecho en ningún momento. Entonces vamos a crear la variable miembro que se va a llamar can shoot grenade. Y originariamente está en verdadero, y lo que vamos a hacer es si pulsamos el botón de throw grenade, y podemos disparar la granada lanzamos la granada. Entonces con throw grenade, el throw grenade pasa a falso, y vuelve a estar a true. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] si el animator state, info name hash es diferente en el throw grenadeID y el current grenade es igual a nulo. Y canshootgrenade igual a true, en ese caso el throw grenade igual a 12. Entonces si lo hemos hecho bien y lanzamos la granada. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] Esto lo vamos a poner aquí para escoger el estado actual vale. Vamos a ver si ahora funciona, ahí estamos haciendo algo mal. El error lo hemos cometido en dos puntos, primero podemos disparar la granada y la animación que tenemos activa no es la del lanzamiento de granada, entonces lanzamos la granada. El segundo punto es, dejamos de, o sea volvemos a poder lanzar la granada, pues throw grenade es igual a true, cuando la animación ya no es de lanzamiento de granada, la granada actual es igual a nula, y no se puede tirar la granada. Ahora es correcto, vamos al player y ya lanzamos la granada. [AUDIO_EN_BLANCO] En el momento que sale de activa, explota. Esto es debido lógicamente a la velocidad. Vamos a comprobar, se mantiene con colisión con nosotros, entonces tenemos que hacer que no colisione con nuestro personaje. Para ello es lo siguiente cuando arranca la granada [AUDIO_EN_BLANCO] va a dar un tiempo, que no va a poder explotar, es decir mientras sea el tiempo menor que el time to explote, no va a poder explotar. Entonces con esto conseguiremos que no explote con nuestro propio player mientras lo está lanzando. Simplemente añadimos una variable de tiempo y lanzamos la granada. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] Se ha lanzado más hacia adelante, entonces lo que vamos a hacer ahora es modificar la velocidad. Un lance corto. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] Y ahora ya empieza a hacer una explosión. Un lanzamiento demasiado alto, es un lanzamiento correcto. Vale, vamos a guardar estos valores y vamos a meter fuera de el player. Si nos fijamos se están creando explosiones y granadas que no se destruyen. La explosión la controlaremos en la próxima sección y las granadas las destruiremos al colisionar con el bajo. Entonces lo primero que vamos a hacer es modificar estos valores 12 dos y la granada asegurarnos de que se destruye como es correcto. Cuando se instancia la explosión prefab destruimos el objeto. Y lo que vamos a hacer es que el objeto que se crea aquí, el pre fab, la explosión, a parte lo que vamos a hacer es destruirlo en una cantidad de tiempo, por ejemplo en tres punto segundos. Por otro lado las granadas el player no debe poder lanzar una granada a no ser que tenga las granadas. es decir que una vez sea mayor que cero. Entonces lanzamos una granada, la incrementamos en 1 las granadas, y ahora vamos al juego. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] No me está dejando lanzar la granada. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] Aquí podemos ir jugando, esta es la parte del disparo y lo de la granada. Entonces esta parte de aquí [AUDIO_EN_BLANCO] que ese es el disparo. Eso no tiene que ver con las granadas y eso es lo que tenemos. [AUDIO_EN_BLANCO] Si puede golpear y lanzar las granadas, y está fuera la animación y ya hay granadas, tengo granadas lanzo la granada, activando la animación y lanza la granada. Vamos a probarlo ahora. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] Falta la última condición de se ha pulsado el botón de granada. [AUDIO_EN_BLANCO] Así vamos alanzar la granada dos garanadas mis granadas pasarán a ser cero. Y continuo intentando hacer la animación, algo hemos dejado mal. [AUDIO_EN_BLANCO] Y ese que no hemos hecho dejar esta variable verdadera, falsa. Ahora debería andar. Ahí está, vamos a comprobarlo. [AUDIO_EN_BLANCO] Y ahí ya no puedo lanzar más granadas, ya no está haciendo nada. En resumen, en está sección hemos conocido nuevos elementoseditor de unity como render setting, tags and layers, input, quality, hemos aprendido a controlar un personaje mediante el animator. Hemos creado diferentes tipos de items, hemos aprendido a crear un contenedor de balas y sus balas, y hemos creado una segunda arma de tipo granada. Aquí podeis ver diferentes links, enlaces que hemos encontrado y que hemos usado para el tema del unity asset store, y recordaros que teneis el código y el resultado de esta sesión en la página web del curso. Muchas gracias.