Saltar al contenido
Another Indie Studio

UE4| Cómo hacer un espejo (simple)

Anteriormente vimos cómo crear un espejo realista que reflejaba todo el entorno en tiempo real de una forma realista. Sin embargo ese método consume bastantes recursos y en un escenario amplio, puede generar errores o menor rendimiento dentro del juego.

Hoy vamos a aprender a crear un espejo que no refleja en tiempo real pero tampoco afecta mucho al rendimiento del juego.

Tened en cuenta que este espejo no refleja los objetos en movimiento como pueden ser el jugador, solo reflejará mallas estáticas colocadas en el escenario. En el caso de que necesitéis un espejo que también refleje al jugador o a otros objetos con movilidad, podéis crear el espejo realista. Por el contrario, también tenéis la posibilidad de crear el espejo sencillo con materiales el cual consume pocos recursos, pero refleja el escenario en tiempo real (incluyendo al jugador).

Recordad que de todos los artículos, siempre existe un vídeo en el canal explicando cómo realizar estos pasos de una forma más gráfica.

UE4| Cómo hacer un espejo (simple)

Funcionamiento del espejo en Unreal Engine 4

Este espejo es el que más se diferencia de los demás creados, ya que este método usa una cámara colocada en el escenario que transforma lo que captura en un material. Dicho material se coloca en la malla del espejo y da la impresión de ser un reflejo real, cuando en realidad simplemente es una captura de lo que un espejo reflejaría.

Usando un plano como base del espejo

Antes de empezar a configurar el material que simule un espejo, vamos a añadir un plano para usarlo como referencia del ángulo y ubicación desde donde debe hacerse la captura del escenario; y a la vez, usarlo como la malla del espejo.

Para añadirlo, nos dirigimos al panelModos (Place Actors)” y buscamos el volumenPlano (Plane)’. Lo añadimos a la escena, lo escalamos, rotamos y ubicamos donde deseemos que esté nuestro espejo.

 

 

Ahora que ya tenemos el plano que sirve como espejo, vamos a añadir un volumen que haga la función de tomar una captura de la escena y transformarla en una textura.

Añadiendo un SceneCaptureCube al nivel de Unreal

Para hacerlo, nos dirigirnos al apartadoModos (Place Actors)” y añadimos un ‘Cubo de captura de la escena (Scene Capture Cube)’.

Veremos que se muestra como una cámara, la cual debemos colocar en la escena justo en el centro del plano, en la misma dirección y rotación (algo así como saliendo del espejo)

Podéis referenciaros con esta imagen para saber como colocarla correctamente:

Como veréis, en el panel de detalles de la cámara nos pide que seleccionemos una textura donde imprimir la imagen, así que vamos a crearla.

Creando y modificando una textura para el espejo en UE4

Nos dirigimos al “Content Browser” -> clic derecho -> nos colocamos encima de ‘Materials & Textures’ -> ‘Meta de renderización del cubo (Cube Render Target)’. Le damos un nombre y lo abrimos para modificarlo.

Dentro de la textura, se ve una pantalla verde y una serie de opciones en los detalles.

En el panel de detalles, buscamos la opción ‘Tamaño X (Size X)’, la cual definirá la resolución del reflejo, por lo cual elegimos una resolución de nuestro agrado teniendo en cuenta que usando un número más elevado se verá la imagen más definida, pero el rendimiento se verá perjudicado. De igual forma, un número más bajo no afectará de forma considerable a los FPS, sin embargo se verá más pixelado.

En nuestro caso, vamos a usar la resolución de ‘512‘ (se verá un poco pixelado pero no consume muchos recursos) o1o24‘ (se verá bien definido, pero con una gran cantidad de mallas en el escenario, podría afectar ligeramente al rendimiento).

 

Seguidamente, cerramos la textura. Seleccionamos la cámara ‘Cubo de captura de la escena (Scene Capture Cube)’ y en su panel de detalles buscamos el apartado “Meta de textura” donde podemos arrastrar una textura. Entonces, en el “Content Browser” buscamos y arrastramos la textura recientemente creada hasta el apartado para una textura en los detalles de la cámara.

Creando material del espejo en Unreal Engine 4

Una vez realizados estos pasos, volvemos al “Content Browser” y creamos un nuevo material.

Ahora que ya hemos creado el material y le hemos dado un nombre, lo abrimos para poder añadir la textura que realizamos anteriormente.

Dentro de este material, veremos un lienzo con un solo nodo que contiene todos los parámetros base para crear un material.

Desde el pin de entradaColor Base(Base Color)’, clicamos y arrastramos a un sitio vacío para añadir un nuevo nodo. El nodo que vamos a añadir se llama ‘Texture Sample‘, al cual vamos a conectar la textura ‘Cubo de captura de la escena (Scene Capture Cube)’ en su panel de detalles.

Después de esto, damos clic izquierdo en el ‘Texture Sample‘  y nos fijamos en el apartado de ‘Detalles‘ ubicado en la parte inferior izquierda donde elegimos una textura para este material.

Por último, en este nuevo nodo crearemos un ‘ReflectionVectorWSconectado alUVs‘.

Guardamos y cerramos el material.

Transformando el plano del nivel en un espejo

Es hora de hacer que el plano que añadimos al inicio del tutorial, ahora sea el espejo definitivo.

Para hacerlo, arrastramos el material del espejo encima del plano y ya estará listo.

A estas alturas, ya tenemos el espejo creado, sin embargo notaréis una exagerada caída de FPS (Frames per second), eso es debido a que está reflejando en tiempo real.

Si preferís que el espejo refleje al jugador, podéis optar por crear un Espejo Realista o un Espejo sencillo con Materiales.

Para desactivar el reflejo en tiempo real, seleccionamos el ‘Cubo de captura de la escena (Scene Capture Cube)’ y nos fijamos en su panel de “Detalles”. En este, buscamos la opciónCapturar cada fotograma‘, y desmarcamos la casilla.

Finalmente, ya hemos terminado de crear el espejo y está listo para poder usarlo en nuestros niveles.

Recordad que si cambiáis la localización del plano, es importante que también cambiéis la localización de la cámara junto a él, ya que si no, el reflejo del espejo no tendría sentido.

Si necesitáis verlo de una forma más grafica, podéis consultar el vídeo-tutorial que siempre hay subido en el canal de YouTube.