4 - Efectos de luz, niebla, rayos y cielo
En este apartado vamos a ver varios efectos de luz que podremos aplicar en nuestro mundo.
Seguramente te preguntarás como es que ves todo tu nivel perfectamente si aún no hemos añadido
ninguna luz a nuestro nivel. Existe una luz ambiental definida por defecto que podemos variar
en la caja que nos aparece cuando compilamos, es la opción 'Default Light Level (RGB)'.
Por defecto está en '128.00 128.00 128.00', que indica un nivel de luz en formato RGB, nivel
del rojo 128 nivel de verde 128 y nivel de azul 128, esta combinación produce una luz blanca intermedia,
ideal para una iluminación suficiente en todo el mundo. Variando estos valores podremos conseguir
un luz ambiental de distintos colores. El nivel máximo para cada valor es 255, por eso el 128 es
un nivel justo en el medio de intensidad.
Si dejamos estos tres niveles a 0 nuestro mundo se verá completamente a oscuras, excepto en los lugares
que hayamos colocado alguna de las luces que veremos en este apartado.
Las luces, como no, también son entidades como 'Door' o 'DeathMatchStart', por lo tanto las seleccionaremos de
la misma manera y las añadiremos de igual forma.
Vamos a colocar un luz normal en nuestro mundo. Para ello seleccionamos la entidad 'light' y
la añadimos a nuestro nivel como siempre, pulsando la bombilla y luego 'Enter', movemos la cruz
que representa nuestra luz hasta la posición donde queremos situarla, suele quedar muy bien
en alguna esquina superior de una habitación.
A continuación entra en las propiedades de entidades con
,
selecciona 'light1' y pon el parámetro 'light' en 400 (es la intensidad de la luz). Luego
seleccionaremos el 'color' de luz que deseamos. Ya podemos compilar y ver el resultado:

Esta es la forma más sencilla de crear una luz.
Ajusta el color e intensidad hasta que estés satisfecho con el resultado. Con distintos valores en 'style' (1, 2, 3)
podrás hacer que la luz varíe de intensidad intermitentemente.
Ahora vamos a crear una luz dinámica, que nos permitirá
crear una luz que varíe su intensidad al estilo del fuego.
Seleccionamos la entidad 'Dynamic Light' y la añadimos a nuestro mundo. Podría quedar
muy bien si la añades en uno de los lados del pasadizo que tienes creado a modo de luz
de antorcha.
Para afinar esta luz entramos en propiedades de esta entidad y seleccionamos 'DynamicLight1' donde
entraremos estos valores:
Color: un color naranja
MaxRadius: 500
MinRadius: 50
RadiusFunction: gkgtemrhmth
RadiusSpeed: 6.7

Ahora tendremos un luz con un parpadeo irregular, similar al de una vela.
El parámetro 'RadiusFunction' establece la intensidad de la luz mediante secuencias de letras de la 'a'
a la 'z', 'a' es muy oscuro y 'z' muy brillante. Si ponemos 'aza', conseguiremos un parpadeo continuo, que
también se puede conseguir con 'Interpolate Values' a '0'.
Ahora crearemos una segunda luz dinámica
de la misma forma, pero la colocaremos en la pared opuesta del pasadizo, para crear de esta forma
un pasadizo con iluminación de dos antorchas, pero esta segunda luz la crearemos ligeramente
distinta a la anterior para dar la sensación de desigualdad en intensidad y frecuencia en
el parpadeo, tal y como serían dos antorchas distintas.
Seleccionamos esta segunda luz dinámica, entidad 'DynamicLight2', y en sus propiedades
entramos los valores siguientes: (RadiusFunction: gohtgpme, RadiusSpeed: 6.5):

Para un mayor realismo vamos a crear unas pequeñas y suaves llamas que colocaremos en la misma
posición donde hemos colocado las luces dinámicas.
Para ello seleccionaremos la pestaña 'Template' y añadiremos dos entidades 'Corona' que situaremos
prácticamente en la misma posición que las luces dinámicas que ya tenemos en el pasadizo.
Pero vamos a ajustar estas dos 'Coronas', en sus propiedades de entidad, para conseguir el efecto que deseamos:
Color: entre amarillo y naranja
MaxRadius: 2
MaxRadiusDistance: 200
MaxVisibleDistance: 1000
MinRadius: 1
MinRadiusDistance: 100

Bonito, ¿ verdad ?. Ahora vamos a ver como crear un efecto de niebla.
Seleccionamos la entidad 'FogLight' de la pestaña 'Template' y añadimos esta entidad de
la misma forma que siempre, esto nos creará la entidad 'FogLight1' en nuestro mundo. La
movemos hasta la zona donde queremos provocar el efecto de una niebla. Para las
propiedades de esta entidad pondremos 1000 para 'Brightness' y 120 para 'Radius', el color
podría ser un blanco para una niebla normal, pero podrías asignarle otro color para crear
efectos más exóticos.
El resultado es una zona que aparece envuelta en una niebla:

Por último vamos a ver una luz que simula el efecto de un foco de luz, un punto
de luz muy concentrado en un punto.
Este tipo de luz es la entidad 'SpotLight', que por ejemplo añadiremos en otra de las
esquinas superiores de nuestra habitación.
En las propiedades de esta entidad encontraremos 'angles' que nos permitirá variar
el ángulo de X Y y Z hacia donde apunta el foco, 'Arc' es el radio que formaría un cono
que representa la boca de salida del foco, si lo cerramos (menos ángulo) la luz se
proyectará más pequeña y concentrada, mientras que si lo abrimos (más ángulo) la luz se
proyectará más grande y expandida. El valor de 'Light' fija la intensidad de la luz, lo
podemos fijar en 400 para poder ver el efecto. Experimenta con estos parámetros para que
puedas observar el funcionamiento de este tipo de luz:

Para las luces tipo 'Dynamic Light' y 'Corona' existe la posibilidad de unirlas a
'models' que ya tengamos en nuestro nivel, como por ejemplo plataformas, para crear de
esta forma luces móviles. Para realizar esto tenemos que abrir las propiedades de la entidad
en concreto que ya tenemos en nuestro mundo (tipo 'Dynamic Light' o 'Corona') y en el
parámetro 'Model' (que por defecto siempre está con 'null') seleccionamos el modelo de
la lista de modelos que nos interesa unir a la luz. Entonces, en nuestro mundo, la
luz se moverá en harmonía con el modelo.
Las dos últimas cosas que quiero mencionar en este capítulo son dos divertidos efectos que podemos
crear: un rayo eléctrico y un cielo.
Vamos a crear un rayo eléctrico que saldrá de un punto a otro de nuestro nivel, ambos
puntos los determinaremos nosotros con dos entidades distintas.
Primero crearemos la entidad que fija el punto destino del rayo, para ello añadiremos
la entidad 'ElectricBoltTerminus' a nuestro mundo y la colocaremos en el punto donde
queremos que llegue el rayo. Luego añadiremos la entidad 'ElectricBolt' y la colocamos en la
posición de donde queremos que salga el rayo. Todo esto nos habrá
creado dos entidades llamadas 'ElectricBolt1' y 'ElectricBoltTerminus1'. Abrimos las
propiedades del primero, 'ElectricBolt1', y en el parámetro 'Terminus' seleccionamos 'ElectricBoltTerminus1'.

Y eso es todo para crear un sencillo rayo. Compila el nivel y observa el resultado.
Existen numerosos parámetros para esta entidad que nos permitirán añadir más 'flashes', 'flashes' dinámicos,
intermitencias, etc.., experimenta.
La pestaña 'Sky' es una herramienta que nos permite crear efectos de firmamento para
nuestro mundo, como cielo pasando, estrellas o algo completamente diferente.
Lo primero que debemos hacer es asignar las seis texturas que forman las seis caras
de nuestro cielo virtual, esto lo haremos en la pestaña 'Sky' seleccionando seis texturas
que normalmente son las mismas las seis.
Para que desde nuestro mundo se pueda ver este cielo debemos establecer que caras 'faces' de
nuestros 'brushes' que representarán que son aberturas al exterior de nuestro mundo. Para ello
deberemos seleccionar la cara 'face' que nos interesa abrir al cielo y entrar en sus
propiedades, allí marcaremos 'Sky':

Podemos regular la velocidad del firmamento modificando el valor de 'Rotation Speed' en
la pestaña 'Sky'.
Ya dentro de tu mundo, si observas estos cielos, podrás ver que no lo forma algo liso y
uniforme, sino que está hecho como un cubo que va dando vueltas alrededor de tu mundo. Si
para el cielo no has seleccionado seis texturas que casen perfectamente entre ellas, podrás
observar que el efecto de cielo no es perfecto y las esquinas de ese cielo 'cúbico' se notan mucho :-(
Fin del capítulo. Ahora una serie de consejos para incrementar el rendimiento de nuestro mundo.