Iluminación en Unreal Engine

publicado en: Blueprints, Unreal Engine 4 | 0

En esta entrada vamos a considerar el sistema de Iluminación que ofrece Unreal Engine. En primer lugar, se destaca que ofrece el uso de varios actores fáciles de implementar en la escena. Estos actores permiten simular el comportamiento de la luz en el mundo real. En segundo lugar, el uso es tan fácil, que solo consiste en arrastrar y soltar en la escena el actor que nos interesa usar. Además de todo esto, se puede simular entornos muy reales, algo muy útil como en proyectos de arquitectura o fotografía.

Tipos de actores en la Iluminación

Los dientes tipos de actores de iluminación los encontramos en la vista denominada “Place Actors” en la sección de “LIghts”.

Sistema de Iluminación en Unreal Engine
Actores de iluminación en Unreal Engine 4

En orden consecutivo, tenemos el siguiente sistema de de iluminación:

Directional LIght : Este actor simula una fuente de luz lejana como puede ser el sol o la luna. Este tipo de luz no tiene en cuenta la posición de el actor en la escena, solo su rotación en sus tres ejes.

Point Light : Este tipo de actor hace de una luz de punto, como puede ser una bombilla, cuya luz va en todas direcciones desde la fuente de manera homogénea.

Spot Light : Este tipo de fuente de luz, simula un foco de luz que se proyecta en alguna dirección en particular, por ejemplo las farolas de un coche.

Rect Light : Este actor es una fuente de luz cuadrada, que se puede usar en estudios de fotografía.

Sky Light : Este actor no es que sea una fuente de luz en concreto. Su uso permite simular el efecto de rebote de la luz en los objetos, esto permite crear un entorno mas realista.

El proceso de implementar un actor de luz en la escena, consiste en en arrastrar el actor desde la vista “Place actors” hasta el “Viewport”.

Diferentes tipos de iluminación en Unreal Engine
Implementado actores en la escena mediante Clic y Arrastre

Cada actor de iluminación, tiene una serie de características particulares, como el color de la luz, la distancia de acción, si proyectan o no sombras etc.. Por ejemplo se anota que si se trabaja en foto realismo se puede establecer la cantidad de lúmenes que puede tener una bombilla, así simulando entornos realistas.

Todas estas caracterisitas, las puede encontrar en la vista “Detail” teniendo el actor seleccionado.

Propiedades de los actores de Iluminación
Propiedades de los actores de Iluminación

Implementado una luz que interactúe con el jugador

El siguiente ejemplo, servirá de guía para saber como debe implementar una luz que sea interactiva, que se encienda o se apague.

El efecto se logrará, haciendo la que luz se muestre, y por ende dará la impresión que se encienda. Pero para que esto suceda, es necesario establecer cual es el interruptor, o mecanismo que hace que esto suceda. En este simple proyecto, pensaremos en una luz con un sensor, y para eso usaremos blueprint actor con un sistema de colisión de caja.

Cuando el usuario ingrese a la caja, que será el rango de alcance del sensor, la luz se mostrara.

Blueprint, sensor de Iluminación
Blueprint Sensor

Nuestro blueprint sensor no tiene un aspecto visual, pero debemos implementar un sistema de colisión para que detecte cuando el jugador entra en el rango de alcance de la luz. Para esto agregamos un componente de colisión de caja. Esto lo hacemos en “+Add Component”.

En nuestro caso, al crear un componente invisible al usuario, pero que va a desencadenar un evento en su respectiva colisión.

Agregando un componente de Colisión para simular un sistema de Iluminación

El resultado es que alrededor de la esfera visualizamos unas aristas representativas de un cubo, recordemos que no serán visibles, ni tanto la esfera ni ese cubo.

Componente de Colisión en el Blueprint

Al tener el componente seleccionado, puede cambiar propiedades del mismo en la vista “Details”, en este caso, su tamaño, y su posición y el objetivo es que tenga un rango considerable para que detecte cuando el personaje entre en ese cubo y encienda la luz.

Objeto Sensor en el escenario

Programando el Blueprint para enceder la luz

Como ya sabemos la luz se encenderá cuando el jugador entre al cubo invisible, sin embargo el efecto inicial es que se encienda, para esto hacemos invisible la luz desde la vista de propiedades.

Haciendo Invisible el Actor de Luz en la propiedad “Actor Visible In Game”

El siguiente paso es programar el Blueprint, y esto lo hacemos desde adentro del mismo, en la vista “Event Graph”, donde por defecto encontramos tres eventos, pero el que nos interesa en primera instancia es “Event ActorBegingOverlap”. Este evento se desencadena cuando el jugador entra en esa caja invisible.

Detectando cuando el Jugador entra en la caja invisible.

En este simple ejemplo, podemos ver como va a funcionar esto, el jugador entra en la caja invisible, y al detectar que ha cruzado uno de sus limites, se muestra un mensaje en pantalla alusivo al caso.

testeando el sistema de iluminación con un sensor.
El sensor ha detectado al Jugador.

Como se puede ver, el mensaje aparece, pero el objetivo es “encender” la luz, lo que realmente implica es hacerla visible. Así que nuestro script visual quedaría de la siguiente manera.

Script para encender la Luz con el sensor.

A tener en cuenta que la variable “Target” es de tipo dato actor, y tiene que ser Global, para poder darle un dato desde la vista “Detail” del Blueprint. El valor que se le da, es el actor PointLight que se encuentra en el nivel.

Variable Global tipo actor denominada target

Para que la variable sea global, y aparezca en los detalles del blueprint cuando se ponga en escena, es necesario abrir el ojo. Y de esta manera será visible en la vista de detalles.

Variable Global en la Vista de Detalles

En este punto, cuando el jugador entre en esa caja invisible, la luz se enciende.

0

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *