Crear terreno principal En este ejercicio haremos 4 cosas: 1. 2. 3. 4. Crear terreno con tamaño personalizado Diseñar montañas y texturas Agregar un First Person Controller a la escena Manejo de luces en el terreno 1.- Crear terreno con tamaño personalizado Al crear el proyecto, de manera predeterminada se nos incorpora una “Main Camara” que podríamos usar para ver el juego a nivel de terreno, pero no utilizaremos ya que para probar nuestro juego utilizaremos un “Fisrt Person Controller”(FPS) asi que lo mejor es eliminarla, si no la eliminamos podemos obtener un error debido a que el FPS trae integrada su propia cámara. Vamos a crear un terreno en el cual vamos a crear todo un escenario que le dará la primera vista a nuestro juego y sobre el cual se irán desarrollando los eventos del juego. Unity le coloca un nombre inicial al terreno que se crea, normalmente le pone “Terrain” sin embargo algo que debemos hacer siempre que podamos es personalizar todo lo que podamos, es decir, todos los GameObjects que utilicemos traerán un nombre inicial, pero lo correcto es ponerle nombres personalizados, relacionados con el papel que jueguen en la escena o nombres que a nosotros los que estamos programando nos diga algo con solo leerlo (nombres descriptivos). En este ejemplo no vamos a pensar demasiado y le pondremos algo Aurelio López Ovando http://aureliux.wordpress.com 1 Los Game Objects son los elementos que componen una escena, todo objeto dentro de una escena es considerado un Game Object. sencillo, nuestro terreno se llamará “Land” asi de simple. Primero veamos la herramienta correspondiente a los ajustes del terreno El Inspector de los Ajustes Los ajustes son proporcionados para un número de opciones del uso en general y de renderización como se describen abajo. Puede sombras Dibujar árboles. proyectar detalles Distancia hasta donde la cámara detecta con detalle los árboles. y Cantidad de detalles del césped en un área determinada. Después de esta distancia de la cámara los árboles no se percibirán. Configuración viento. del Dimensiones terreno del Anchura - Eje X Largo - Eje Z Anchura - Eje Y Aurelio López Ovando http://aureliux.wordpress.com 2 En este caso a nuestro terreno le cambiaremos el tamaño, cuando creamos el terreno trae una dimensión inicial de 200 de ancho x 2000 de largo por 600 de alto… ests dimensiones son demasiadas para el juego que se piensa desarrollar, ya que en este juego el Gamer o jugador principal deberá estar buscando pistas a lo largo del terreno, si le damos un terreno demasiado grande van a suceder dos cosas: la primera que el juego se vuelve muy pesado y que la programación se vuelva más compleja ya que no es lo mismo tener a dos o tres enemigos en un terreno, que tener a 10, entonces vamos a cambiar las dimensión de nuestro terreno y ahora será de: Logrando con esto un terreno más pequeño. 2.- Diseñar montañas y texturas Ya tenemos un terreno con un tamaño adecuado para lo que queremos, ahora procedemos a darle una mejor forma, pero antes veamos que herramientas nos van a servir para ello: Las Herramientas de Altura Las primeras tres herramientas en la barra de herramientas del inspector de terrenos son usadas para pintar cambios en la altura sobre el terreno. Desde la izquierda, el primer botón activa la herramienta Raise/Lower Height, esta herramienta permite: Incrementar la altura a medida que mueva el mouse por encima del terreno. La altura se acumulará si mantiene el mouse en un lugar. Si mantiene presionada la tecla shift, la altura se reducirá. La segunda herramienta Paint Height es similar a la herramienta Raise/Lower excepto que tiene una propiedad adicional para establecer la altura objetivo: Reduce el terreno en zonas por encima de esa altura y aumentará en áreas debajo de esa altura. Se puede utilizar el deslizador de la propiedad Height para establecer la altura manualmente o usted se puede presionar shift y hacer click en el terreno para tomar muestras de la altura en la posición del mouse. Aurelio López Ovando http://aureliux.wordpress.com 3 A lado de la propiedad Height hay un botón Flatten que simplemente nivela todo el terreno a la altura deseada. Esto es útil para establecer un nivel de piso elevado, digamos si quiere que el paisaje incluya ambas colinas encima del nivel y los valles debajo de este, Paint Height es útil para crear mesestas en una escena y también para agregar características artificiales como carreteras, plataformas y escaleras. La tercera herramienta es Smooth Height: No aumenta ni baja la altura del terreno significativamente, más bien promedia áreas cercanas. Suaviza el paisaje y reduce la apariencia de cambios abruptos. Se puede utilizar esto, cuando se ha pintado detalles usando uno de los pinceles más ruidosos en el conjunto disponible. Estos patrones de dibujo van a tender introducir piedras afiladas y dentadas al paisaje, pero estas pueden ser suavizadas usando Smooth Height. Comencemos entonces a crear nuestras montañas, lo que haremos será rodear nuestro terreno de montañas que nos servirán de cierta manera para marcar el final del terreno y que el Gamer no avance más allá de ellas. Entonces hacemos lo siguiente: 1. Seleccionamos la herramienta Raise/Lower Height 2. Escogemos el pincel que consideremos mejor se adapte a la forma que queremos darle a nuestras montañas. 3. Modificamos el tamaño del pincel y la opasidad que le vamos a dar a nuestras montañas Ahora movemos el mouse y lo desplazamos alrededor de nuestro terreno presionando el botón del mouse y veremos cómo se comienzan a dibujar las montañas, por ahora no las hagamos tan altas, si consideramos que necesitamos más altura podremos editarlas luego. La herramienta de texturas El botón del pincel de pintura en la barra de herramientas permite dibujar texturas en el terreno. Aurelio López Ovando http://aureliux.wordpress.com 4 Como podemos ver, el terreno tiene un color entre gris y blanco, no tiene textura, no tiene vida, por lo tanto debemos comenzar a darle colorido a este terreno, en este caso corresponderá a un bosque donde el Gamer irá a buscar respuestas de acertijos. Como se trata de un bosque, entonces debemos darle textura de un bosque, en un bosque normalmente encontramos pasto muy bajo y verde, podemos utilizar una textura estándar de las que nos proporciona Unity o podemos bajar alguna desde internet y utilizarla, para ser más rápido utilizaremos una textura que viene con Unity. Entonces hacemos lo siguiente: 1. Seleccionamos la herramienta Textura. 2. Escogemos el pincel que consideremos que mejor distribuya la textura sobre el terreno. 3. Modificamos el tamaño del pincel al gusto (La primera vez que se pinta la textura sobre el terreno, este paso 3 no es necesario, porque de manera predeterminada todo el terreno agarra esa textura, pero si queremos modificarla si es necesario). 4. Pulsamos el botón “Edit Textures”para elegir la textura que queremos, esto hará que aparezca la opción “Add Texture” la cual seleccionamos. Con esto la ventana “Add Terrain Texture” nos pedirá que seleccionemos una textura, para ello damos clic en el botón “Select”. Se mostrará una ventana que nos muestra un catálogo de texturas predefinidas por Unity, no todas corresponden a pasto, algunas son de madera, rocas. Etc., como buscamos un pasto bajo y tupido el más recomendable es que se llama “Grass Hill” le damos doble clic y vemos como aparece en la ventana “Add Terrain Texture” solo nos queda pulsar el botón “Add” y listo, tenemos terreno con pasto. Aurelio López Ovando http://aureliux.wordpress.com 5 3.- Agregar un First Person Controller a la escena Si en este momento ejecutamos el juego mediante la herramienta no podríamos ver nada, ya que, como recordaremos, al principio eliminamos la cámara y no hay manera de desplazarnos sobre el terreno, para poder situarnos en el juego utilizaremos un personaje. Unity nos da dos opciones de personajes: a. Primera persona: Es como si nosotros estuviéramos en el juego, la cámara serían nuestros ojos. b. Tercera persona: Vemos la figura del personaje en el juego. En este ejemplo utilizaremos una primera persona (First person controller)de ahora en adelante le llamaremos FPS. En el Stándar Assets (de la ventana de proyectos) seleccionamos la carpera “Character Controller” y veremos los dos prefabs de la primera y la tercera persona. Seleccionamos el FPS y lo arrastramos a alguna parte del terreno. Aurelio López Ovando http://aureliux.wordpress.com 6 Cuando soltemos el FSP sobre el terreno, lo veremos bastante lejano (figura A), para acercarnos a él simplemente oprimimos la tecla “F” del teclado y podremos acercarnos a él (figura B). Figura B Figura A Por algún motivo que desconozco (Aunque supongo que tiene que ver con eje Y=0) el FPS aparece semi-enterrado, debemos desenterrarlo o de lo contrario al ejecutar el juego el personaje va a caer en un espacio infinito del juego. Para ello utilizamos la herramienta mover y jalamos del eje correspondiente hasta ver que la parte enterrada ya ha salido, no debemos levantarlo mucho o el personaje quedará volando. Ya podemos ejecutar el juego y desplazarnos sobre terreno. Antes de seguir, y como ya lo hemos hecho antes con el terreno, debemos asignarle un nombre al FPS, en este ejemplo lo llamaremos “Gamer”. Aurelio López Ovando http://aureliux.wordpress.com 7 4.- Manejo de luces en el terreno Como vimos anteriormente, ya podemos desplazarnos sobre el terreno, pero la iluminación no es la adecuada, esto sucede porque no hemos asignado controladores de luces, manejar la iluminación es importante ya que podríamos hacer escenarios tan oscuros como si fuera de noche o escenarios tan iluminados como si fuera de día, todo esto depende de la iluminación que manejemos. En este ejemplo crearemos 4 luces que apunten desde los 4 diferentes ángulos, algo similar a lo que se hacen en las canchas deportivas para iluminarlas, se colocan reflectores en diferentes lugares con el fin de lograr una mejor iluminación. Para comenzar crearemos un GameObject vacío que nos sirva como contenedor de las luces, de manera predeterminada se llamará “GameObject” y aquí la misma recomendación, le cambiamos el nombre por el de “Luces”. Ahora debemos agregar las 4 luces que mencionamos anteriormente, para ello: Damos clic derecho sobre “Luces”. Agregamos un “Directional Ligth”. Repetimos esto hasta lograr 4 “Directional Ligth”. Creo que podremos imaginarnos que esos 4 elementos que creamos representan las 4 luces que manejaremos. Antes de continuar vamos a renombrarlos con los siguientes nombres: Aurelio López Ovando http://aureliux.wordpress.com 8 Hemos agregado 4 luces a nuestro escenario, pero todas están amontonadas en el mismo lugar. Lo que haremos será, mediante la herramienta mover, colocarlos en diferentes posiciones, hacemos zoom sobre el terreno y damos clic sobre “Luces” y veremos donde están quedando las 4 luces. Un detalle hasta el momento, es que las 4 luces apuntan en la misma dirección y eso no ayuda a la iluminación, lo que haremos a continuación es rotarlas de manera que alumbren e direcciones diferentes. Para rotar las luces utilizaremos la herramienta rotar y modifiquemos hasta lograr algo como esto. Ahora ya tenemos un terreno bien iluminado, se debe buscar que las luces no sean tan demasiadas no tan opacas, se deben mover lo suficiente las luces para lograr el efecto deseado, no es necesario que sean 4 luces, incluso hasta con una solo podría lograrse bien lo que se quiere, pero en este ejemplo utilizaremos árboles y bardas, y una sola luz no nos sería suficiente y se verían sombras un poco raras. Aurelio López Ovando http://aureliux.wordpress.com 9