9. Texturas nocturnas
Cae la noche sobre nuestro mundo virtual, y nuestra casilla se sume en la más oscura "negrura". Ningún signo de vida se desprende de ella: ni luz a través de las ventanas, ni siquiera nadie ha encendido la lámpara sobre la puerta.
Claro que quizás es esto lo que queremos. A fin de cuentas se trata de una oficina del factor de mercancías, y puede que por la noche le guste ir a ver a su esposa para que le cuente como le ha ido el día en la peluquería o que la niña le ha tirado de los pelos al vecinito del piso de al lado y ha tenido una bronca con...
Si ya lo digo..., mucho mejor unas horas extras arreglando papeles atrasados. Y así nos da pié a poder explicar como introducir efectos nocturnos a la casilla
9.1. Iluminación de ventanas en los edificios
En primer lugar haremos que a través de una ventana, que mantiene las contraventanas abiertas, se filtre la luz de una mortecina lámpara de escritorio. Tan sólo lo haremos en una de las ventanas, pues no todas tienen porqué estar abiertas.
Empecemos pues por dotarnos de una textura adecuada:
En el editor de imágenes que usemos abriremos la fotografía de la casilla lateral para seleccionar y escoger ajustada una de las ventanas de la casilla:
Recortaremos la ventana y crearemos una nueva imagen con ella a la que le daremos las dimensiones 128 píxeles de alto por 64 píxeles de ancho. Crearemos una selección que defina los cristales de la ventana:
A la zona exterior a esta selección, el marco de la ventana, le reduciremos la luminosidad un 85%, y a la zona de la selección la rellenaremos con un degradado basado en un color amarillento anaranjado tenue:
Realizaremos un degradado "circular" escogiendo para este degradado como color de inicio el amarillento que acabamos de crear y como final una transparencia total. Para la ejecución del degradado partiremos de un punto donde hipotéticamente está situada la luz en el interior de la casilla, para que dé la sensación de una triste lámpara que apenas ilumina toda la estancia:
Bueno, cada cual recreará con su talento lo que refleje esa luz a través de la ventana.
A esta textura la he llamado ES_Casilla_Noche.ace, y podría contener todos los elementos de la casilla que vayan a tener iluminación específica para la noche. Para el presente caso esta textura tan sólo contendrá la ventana.
Ahora iremos al 3ds para crear un polígono sobre la ventana que deseemos que esté iluminada por la noche. Dejaremos visible tan sólo el cuerpo de la casilla "cercano" 1_0256_Casilla, y sobre el Viewport Right crearemos un cubo de las dimensiones aproximadas de la ventana a cubrir, y le daremos suficiente longitud para que, partiendo del eje central de la casilla, llegue a cubrir la cara de la ventana:
Seleccionaremos los vértices "interiores" de este nuevo cubo:
Para proceder a borrarlos. Con esto habremos eliminado todas las caras del cubo menos la que se orienta hacia el exterior de la ventana.
Este es el polígono que nos interesa, y que procederemos a texturar con la nueva textura creada.
Abriremos el editor de materiales y crearemos uno nuevo:
Le he llamado "Casilla_Noche", y he asignado el shader "Tex", al cual le he cargado en el Slot 1 (el único de este shader) la textura "ES_Casilla_Noche.ace". Este shader no necesita que ajustemos ningún parámetro, y es prácticamente idéntico al estándar "TexDiff", con la salvedad de que no está afectado por la luz "difusa", es decir, por la luz ambiente. Dicho en otras palabras, la luminosidad de la textura se preservará con independencia de si es de día o de noche, de si está en la fachada iluminada de la casa o en la fachada en sombra, etc. Por tanto, este shader es ideal para representar por la noche objetos iluminados, interiores de coches de pasajeros, de cabinas de locomotoras, y todo lo que se nos ocurra que deba mantener una cierta "luz propia".
Ya tenemos lista la ventana. Podríamos duplicar ésta para ponerla en tantas ventanas como queramos, pero en esta ocasión lo dejaremos así. Tan sólo nos enfrentamos a un problema: El polígono con la iluminación "interior" de la ventana deberá ser visible únicamente por la noche, dado que si de día se viese el efecto sería el contrario al deseado (al menos en este caso). RailWorks viene en nuestra ayuda con un simple procedimiento: vamos a nombrar a este polígono de la ventana como 1_0256_fx_night. El número de LOD y la distancia funcionarán como de costumbre, pero el que el nodo se denomine "fx_night" provocará que durante las horas diurnas no se visualice y que en las nocturnas se renderice correctamente.
Por tanto, cambiaremos el nombre al objeto y podremos exportar la casilla
Hay que señalar que, al igual que podemos usar el nombre de nodo "fx_night" para objetos que tan sólo se visualizan por la noche, también disponemos del nombre de nodo "fx_day" que realiza la acción contraria, es decir, se visualiza únicamente durante el día. Ambos nodos son alternativos y en el preciso momento que uno se desactiva el otro se activa, por lo que combinados podemos representar con ellos elementos que tienen diferente aspecto de día o de noche.
En el Asset Editor podremos comprobar como se verá la casilla tanto de día como de noche:
Lo siguiente será proceder a iluminar la lámpara exterior sobre la puerta, pero eso será en otro capítulo...