[MÚSICA] [MÚSICA] Hola, mi nombre es Jordi Arnal, soy profesor de Máster de videojuegos en la Universidad Autónoma de Barcelona y os presento la segunda sección de creación de videojuegos, arte y tecnología Gameplay. Los contenidos de esta sección son, Unity editor, Player, Items, Balas y Granadas. Empezamos por el Unity editor, vamos a ver diferentes propiedades que podemos modificar del editor de Unity que van a mejorar el videojuego, el resultado del videojuego. Entonces vamos a ir a Unity y podemos acceder desde assets, perdón desde edit, project settings, input. Podemos acceder desde edit. Render Settings, a las propiedades de renderizado. Aquí podemos modificar básicamente dos elementos, por un lado la niebla, y por el otro lado, la luz ambiente, además del Skybox y otros elementos. Pero básicamente nos vamos a centrar en la niebla y en la luz ambiente. La luz ambiente lo que va a definir es la iluminación base que va a tener toda nuestra escena. Ahora mismo tenemos un color grisáceo, bastante oscuro, y le podemos poner por ejemplo una luz azulada, como de cielo, y vemos cómo se va azulando toda la escena. Entonces normalmente se hace un color un poquito bajo, y ahora modificaremos nuevamente la iluminación general, con la dirección a, y la reduciremos. [AUDIO_EN_BLANCO] Y jugando con estos valores podemos mejorar un poco el aspecto general del juego. Entonces el siguiente valor que vamos a tocar es la niebla. La niebla, tenemos tres tipos de niebla, que serían la lineal, la exponencial y exponencial cuadrática. La lineal se basa en dos valores, que sería el inicio de la niebla y el final de la niebla, eso quiere decir si ponemos aquí 50, la niebla empezará en 50 metros y acabará en 300, quiere decir que el máximo de valor de niebla estará en 300 metros. Vamos a 100 metros, vemos como ahí ya está totalmente en color de niebla. entonces como nuestra cámara es bastante cercana tendríamos que jugar con valores relativamente pequeños. Porque si miramos la escena de juego que tenemos aquí abajo. [AUDIO_EN_BLANCO] Ahí vemos como ya está practicamente con muchas escenas de niebla. Entonces nos interesa algo que no sea excesivamente elevado. La siguiente que vamos a ver es la exponencial y la exponencial al cuadrado, básicamente son líneas, son fórmulas exponenciales, quiere decir que a medida que va aumentando el tiempo, va a aumentar exponencialmente el valor de niebla. Entonces el valor con el que se controla es el fog density, este valor de aquí. Entonces podemos poner siempre trabaja con valores muy pequeños, vemos que enseguida aumenta. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] Vamos a darle un toque más anaranjado. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] Y esto hará que la escena coja más color. Tenga más sensación de que todo está integrado. Si desactivamos la niebla, vemos el resultado. De tenerla activa a tenerla desactiva, tanto en la escena de juego como la escena en el propio motor. Para el proceso sería los valores que vamos a tocar, evidentemente esto siempre lo debería tocar un artista, no un programador como yo. Y lo tocará siempre con base a una serie que hemos hablado aquí. Podeis trabajar y tocar vosotros y jugar con ello un poco. La siguiente ventana que vamos a ver del editor de Unity es el input. En la primera sesión estuvimos controlando al personaje mediante el teclado, todo y que es correcto debemos hacerlo mediante el input manager de Unity. Lo que vamos a hacer es ir a la ventana de input, perdón en edit, settings, input, y tenemos aquí la definición de los motores y ejes de nuestro proyecto. Entonces por defecto ya con Unity vienen diferentes ejes, diferentes motores, tenemos el eje horizontal, y el eje vertical que puede ser tanto utilizado mediante el ratón o mediante el eje del pad o teclado, mediante los cursores del teclado. Entonces lo que vamos a utilizar es los ejes horizontal y vertical para usar nuestro personaje. Entonces si vamos al player controller, el otro día hicimos, si estaba la tecla pulsada. Entonces lo que vamos a hacer aquí es simplemente vamos a crear esta variable, que nos va a recibir. [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] [AUDIO_EN_BLANCO] Entonces vamos a ir al mono develop, a player controller, en script, y vamos a crear una variable con el valor horizontal del eje. Entonces para ello vamos a acceder al input, al Get Axis y entre paréntesis vamos a pasarle el eje que queremos utilizar, en este caso el horizontal, y lo mismo para el vertical, vale. Entonces si el otro día utilizábamos si la tecla derecha se ha pulsado, lo que haremos ahora si el eje horizontal es mayor que 0.5f, quiere decir que le dejamos una zona muerta, que sería la mitad del stick. Y si está pulsado hacia la derecha el Horizontal Axis estará por encima de 0,5. Eentonces en caso de que esté por encima de 0,5 movemos el personaje hacía la derecha. En caso de que sea valor inverso, sea menor que menos 0,5, se vuelve a seleccionar. Y en caso de que el vertical sea mayor que 0,5 será hacia arriba. [AUDIO_EN_BLANCO] En caso que sea menor de menos 0,5 se irá hacia abajo. Vamos a probar, y lo vemos en en el juego, vemos que no haya errores. Estamos ya jugando y vemos que se mueve según los cursores, por lo tanto funciona correctamente. Si ahora tuviéramos conectado un pad, como es mi caso podemos controlar el personaje con el pad, como vemos aquí. Si vemos el pad hacia adelante, hacia atrás, izquierda, perdón derecha e izquierda. Con esto controlaríamos el juego. También hemos visto que tenemos botones. Entonces si vamos a edit, input, vemos que tenemos diferentes botones ya asignados. Entonces si vemos hay un botón que se llama Fire 1, que lo que vamos a hacer es que el juego se active, y diga que el player va a disparar. Entonces de momento lo vamos a hacer mediante un log para hacerlo de forma sencilla. Y luego ya veremos cómo lo introducimos con animaciones y disparos, entonces simplemente. [AUDIO_EN_BLANCO] Vamos a poner aquí input GetButton, cuando se pulsa mejor. Cuando esté pulsado, que esté pulsado este botón, el fire 1. [AUDIO_EN_BLANCO] Y mientras esté pulsado, vamos a hacer un simple log, shooting. Si ahora ejecutamos vemos que en la consola puede ser también mediante el Windows, consola o bien con la combinación de teclas si es control C. Entonces si ahora ejecuto el juego y disparo, ya sea con el ratón, o con el botón de disparo del mando, dispara nuestro personaje, sale el log de que está disparando. Si nos fijamos cada vez que pulso sobre el mando vemos cómo aumenta el log de shooting. Vemos que está colapsado y que cada vez que pulso aumenta ahora a 54, ahora a 61, etcétera. Entonces eso quiere decir que está cogiendo el botón.