En este tutorial, crearás una escena nocturna con los materiales y recursos del tutorial anterior y una selección de efectos de posprocesamiento, como la exposición, el bloom, los destellos de objetivo y el etalonaje. También aprenderás a mejorar la calidad de la iluminación y los reflejos de tu escena mediante volúmenes de posprocesamiento y la iluminación global y reflejos de Lumen.
Los efectos de posprocesamiento cambian de forma no destructiva el aspecto de un nivel. Estos efectos son similares a aplicar un filtro a una cámara o colocar un gel de color delante del objetivo.
Los efectos de posprocesamiento se pueden aplicar en tiempo real sin alterar los recursos de un nivel. Dado que estos efectos no son destructivos, son útiles para realizar cambios visuales sin alterar los materiales o las configuraciones de iluminación complejas.
La única diferencia entre los niveles de las imágenes de abajo es el etalonaje, una categoría de posprocesamiento.
Los desarrolladores de videojuegos usan distintos tipos de efectos de posprocesamiento para dirigir la atención del jugador, comunicar información sobre la jugabilidad y mejorar la narración visual. Por ejemplo:
El etalonaje puede imitar diferentes horas del día, cambiar el tono de una escena o comunicar visualmente recursos narrativos como los flashbacks.
Los reflejos pueden añadir realismo y profundizar la inmersión durante la jugabilidad.
El efecto bloom puede usarse en combinación con la exposición y los destellos de objetivo para enfatizar el brillo, la reflectividad o dirigir la atención hacia un recurso.
Se pueden combinar múltiples efectos de posprocesamiento para establecer un estilo visual coherente en un juego o usarlos en situaciones de jugabilidad específicas. En la siguiente demostración, usamos múltiples efectos para comunicar visualmente cuando un jugador está bajo el agua.
Los efectos de posprocesamiento también se usan para controlar la optimización de las características de iluminación. Si alguna vez has jugado a un videojuego triple A, te habrás fijado en las opciones para ajustar los efectos que consumen muchos recursos, como la calidad de los reflejos. Más adelante en este tutorial, usarás volúmenes de posprocesamiento para equilibrar la fidelidad y el rendimiento en la calidad de los reflejos en Unreal Engine.
A continuación, veamos cómo se aplican los efectos de posprocesamiento en los niveles del juego.
Anatomía de los volúmenes de posprocesamiento
Los efectos de posprocesamiento se pueden aplicar a un nivel utilizando volúmenes de posprocesamiento colocables. Los volúmenes definen el área a la que se aplica un efecto. Estos volúmenes son invisibles para los jugadores durante el tiempo de ejecución y se pueden vincular o desvincular.
Veamos un ejemplo que muestra la diferencia entre volúmenes vinculados y no vinculados. En la imagen de abajo, hemos creado tres volúmenes de posprocesamiento que afectan a la saturación.
Fíjate en dos cosas del vídeo de arriba. Mientras el jugador camina por el pasillo:
La saturación del volumen desvinculado no cambia aunque el jugador no esté dentro del volumen. Esto se debe a que los volúmenes desvinculados aplican efectos globalmente; a todo el nivel. La escala y la posición del volumen no importan.
La saturación del volumen vinculado solo es visible cuando el jugador está dentro del volumen. Esto se debe a que los volúmenes vinculados aplican efectos localmente; al área dentro de su perímetro.
Más adelante aprenderás a mezclar volúmenes para iniciar efectos cuando los jugadores se acerquen a su perímetro.
Los volúmenes pueden organizarse de forma jerárquica, como las capas de un software de diseño gráfico. Los volúmenes globales o desvinculados se superponen a volúmenes más pequeños y vinculados dentro de un nivel. Del mismo modo, puedes establecer una prioridad de capas para volúmenes vinculados que se solapen entre sí.
Los volúmenes globales ayudan a mantener un estilo visual coherente en todo el juego, actúan como base para más capas y mantienen tu proceso de trabajo organizado.
Por ejemplo, construir efectos visuales capa por capa puede evitar resultados inesperados que son difíciles de localizar y depurar. Para los equipos que trabajan con cientos de efectos en varios niveles, mantenerlo todo organizado puede ahorrar un valioso tiempo de desarrollo y depuración.
A continuación, configurarás tres volúmenes de posprocesamiento en tu nivel y establecerás su prioridad.
Configuración de volúmenes globales y locales
Volvamos al volumen de posprocesamiento que creaste en Cómo iluminar una escena y verifiquemos que está aplicando efectos globalmente:
En el esquematizador, busca PostProcessVolume y selecciónalo.
Renombra este volumen como
PPV_Global.En el panel Detalles, amplía Ajustes del volumen de posprocesamiento.
Comprueba que Alcance infinito (sin límites) esté marcado y que Prioridad esté fijado en
0.
A continuación, crearás dos nuevos volúmenes; uno que rodee la sala 3 y otro que rodee el punto de transición de nivel dentro de la sala 3.
Ajustarás la prioridad de cada volumen vinculado para que tenga prioridad sobre el volumen global cuando el jugador entre en él. Al establecer la prioridad, los valores más altos tienen prioridad sobre los valores más bajos.
Para crear nuevos volúmenes, sigue estos pasos:
En la barra de herramientas principal del editor, haz clic en Crear > Efectos visuales > Volumen de posprocesamiento. También puedes buscarlo. Añade dos volúmenes.
Llama al primer volumen
PPV_Room3y al segundoPPV_LevelTransition.En el esquematizador, selecciona
PPV_Room3y fija su escala en8.5, 10, 5.Establece su posición en
1600, -1050, 370. Debería rodear aproximadamente la sala 3.En Ajustes del volumen de posprocesamiento, establece Prioridad en
100.Elige valores con un intervalo amplio entre ellos. Esto te permite insertar y eliminar volúmenes sin necesidad de actualizar la prioridad de los volúmenes existentes. Por ejemplo, itera por 10 o 100 en función de cada valor.
Establece el Radio de mezcla en
0y verifica que la opción Alcance infinito esté desmarcada.Selecciona
PPV_LevelTransitiony fija su escala en1,5; 1,5; 2,5.Establece su posición en
2170, -1450, 600. Debería rodear aproximadamente el punto de transición de nivel.Establece su prioridad en
200y verifica que la opción Alcance infinito esté desmarcada.
Tus volúmenes para este tutorial ya están configurados.
Cómo experimentar con preajustes de posprocesamiento
En esta sección, experimentarás con efectos de las siguientes categorías de posprocesamiento:
Objetivo
Exposición
Bloom
Destellos de objetivo
Etalonaje
Desplazamiento
Contraste
Iluminación global y reflejos
Calidad de iluminación de escena de Lumen
Detalle de escena de Lumen
Calidad del reflejo
Trazados de pantalla
Rugosidad máx. para trazar
Exposición
La exposición controla los límites superior e inferior de la luminosidad de un nivel. Recuerda que los volúmenes de posprocesamiento no alteran las propiedades de otros actores dentro de tu nivel. En la demostración de abajo, el brillo de la fuente de luz no cambia. En cambio, lo que cambia es la cantidad máxima de luz visible que puede entrar en el objetivo de la cámara.
En el mundo real, este efecto es similar a cómo la apertura de una cámara controla la cantidad de luz que captura. O cómo se dilatan y contraen tus pupilas para adaptarse a las distintas condiciones de iluminación. Por este motivo, la exposición en Unreal Engine también se conoce como Adaptación ocular.
Con la exposición, puedes imitar efectos ópticos del mundo real y añadir realismo a un juego. Por ejemplo, cuando un jugador pasa de una zona oscura a una zona iluminada, ampliar el tiempo que tarda la exposición global en ajustarse puede imitar el tiempo que tarda el ojo humano en adaptarse a una luz más brillante.
En esta sección, ajustarás la exposición de PPV_Global y PPV_Room3 para crear una transición a la noche cuando un jugador entre en la sala 3.
Sigue estos pasos para configurar la exposición:
En el esquematizador, selecciona
PPV_Global.En el panel Detalles, dentro de Exposición, selecciona MIN EV100 y establece el valor
-10.Selecciona MAX EV100 y establécelo en
20.En el esquematizador, selecciona
PPV_Room3.En el panel Detalles, dentro de Exposición, selecciona MIN EV100 y establece el valor
-1.0.
Para probar tu nivel, haz clic derecho en el visor y selecciona Reproducir desde aquí. A medida que avanzas hacia la sala 3, la exposición debería cambiar, pero el cambio es demasiado brusco.
Para ampliar la duración del cambio, mezcla el volumen global con el volumen delimitador usando Radio de mezcla:
En el esquematizador, selecciona
PPV_Room3.Debajo de los Ajustes del volumen de posprocesamiento, establece el Radio de mezcla en
1500.
Prueba tu nivel. Ahora, a medida que avanzas hacia la sala 3, la exposición debería cambiar gradualmente.
Tu nivel puede ser diferente al nuestro incluso con los mismos valores de exposición. En el tutorial anterior, cambiamos los ajustes de la luz direccional para que se asemejara más al anochecer.
A continuación, ajustarás el brillo de los letreros de neón con bloom.
Bloom
El bloom es una imperfección de la iluminación en la que la luz parece traspasar los límites de una fuente de luz o un reflejo.
En las películas, esta imperfección proviene de cómo los sensores y objetivos de la cámara capturan la luz, pero el efecto puede imitarse en los juegos con fines artísticos. Por ejemplo, se pueden usar el bloom y la exposición para comunicar visualmente que un jugador ha entrado en una secuencia de sueño, en una retrospectiva o que está aturdido tras una explosión.
En Unreal Engine, ya habrás visto cómo funciona el bloom en el tutorial anterior al aumentar el parámetro de brillo de tu material emisivo por encima del valor 1.
En lugar de ajustar las propiedades de cada recurso individual para conseguir resultados generalizados, vamos a usar tu volumen de posprocesamiento para controlar el bloom general en la sala 3.
En el esquematizador, selecciona
PPV_Room3.En el panel Detalles, amplía la categoría Objetivo.
Amplía la categoría Bloom y luego marca Intensidad. Establécelo en
0.8o usa tus propios valores.Marca Umbral y fíjalo en
1o usa tus propios valores.
Umbral establece el valor mínimo a partir del cual el bloom empieza a tener efecto en el nivel. Tal y como vimos en el tutorial anterior, puedes pensar en esto como una acotación. Intensidad controla la fuerza del bloom una vez que hace efecto.
Un umbral de -1 permite que todos los colores de un nivel afecten al bloom.
A continuación, añadirás destellos de objetivo a los letreros de neón.
Destellos de objetivo
Un destello de objetivo es un artefacto de iluminación que se produce cuando la luz brillante se refleja en las imperfecciones de un objetivo o en los elementos internos de una cámara.
El efecto se puede imitar en juegos con fines artísticos. Por ejemplo, los destellos pueden dirigir la atención hacia un recurso reflectante, promover el fotorrealismo o enfatizar la fuerza del sol cuando un jugador lo mira.
Para crear destellos de objetivo en tu nivel, sigue estos pasos:
En el esquematizador, selecciona
PPV_Room3.En el panel Detalles, amplía Objetivo > Destellos de objetivo.
Selecciona Intensidad y ajústalo en
0.5.Marca Tamaño del bokeh y configúralo en
5.Los valores bajos producen un efecto bokeh más nítido y con menos dispersión, mientras que los valores altos producen más dispersión.
Marca BokehShape y busca
DefaultBokeh.En las películas, la forma geométrica de las partículas del bokeh proviene de la forma de la apertura de la cámara. Debido a su preponderancia en el cine, este efecto se imita en los juegos, donde no hay apertura física.
Pon a prueba tu trabajo moviéndote hacia adelante y hacia atrás delante de una fuente de luz o un material emisivo en tu nivel.
A continuación, usarás el etalonaje para comunicar las mecánicas de jugabilidad a los jugadores.
Etalonaje
Al igual que con el software de edición de imágenes, puedes usar el etalonaje para modificar la saturación, el contraste, el gamma, la ganancia, la compensación y el matiz de un nivel, entre otros.
Con estas herramientas, puedes cambiar la hora del día percibida, el estado de ánimo o las convenciones de género del nivel. Por ejemplo, el tono sepia es un estilo de etalonaje que sugiere antigüedad.
En tu nivel, usarás el etalonaje para avisar al jugador de cuándo ha entrado en un punto de transición de nivel. El punto de transición de nivel es una mecánica de juego creada en El diseño de una aventura de puzles que lleva a los jugadores a un nuevo nivel.
Actualmente, cuando te sitúas en el punto de transición de nivel, la luz rectangular que tienes debajo no es lo suficientemente potente como para competir con la luz direccional y las luces puntuales de la sala. Desde el punto de vista del jugador, el cambio de jugabilidad a transición de nivel podría comunicarse más claramente.
Si se presenta de forma clara y coherente, los jugadores aprenderán a reconocer y esperar señales visuales que indiquen las mecánicas de juego en tu nivel.
Para solucionar este problema con el posprocesamiento, sigue estos pasos:
En el esquematizador, selecciona
PPV_LevelTransition.En el panel Detalles, amplía Etalonaje > Global y marca Desfase.
La compensación afecta a las áreas más oscuras de un nivel, lo que la hace ideal para ajustar la tonalidad general de esta sala oscura.
Elige tus propios valores o define R =
-1.0. G =-0.02, B =0.15, e Y =0.07.Ahora la sala debería aparecer en azul:
Para corregir el punto crítico de blanco creado por la luz puntual, amplía Etalonaje > Luces y marca Contraste.
El contraste ajusta la diferencia entre las áreas más oscuras y más claras de un nivel. Aquí, al reducir el contraste, se reducen los niveles de blanco para situarse dentro del umbral de la corrección de compensación.
Establece los valores en R =
0.5, G =0.8, B =0.7e Y =1.El punto caliente debería ser menos visible:
Para probar tu trabajo, haz clic derecho en el visor y selecciona Reproducir desde aquí. Cuando corras hacia la plataforma de salto y aterrices en el punto de transición de nivel, la pantalla debería volverse azul.
A continuación, usarás volúmenes de posprocesamiento para controlar la optimización de la calidad de los reflejos.
Iluminación global y reflejos
Los volúmenes de posprocesamiento pueden controlar la calidad y el alcance de los efectos visuales. Esto puede ayudarte a equilibrar la fidelidad y el rendimiento cuando trabajes con funciones de renderización costosas, como la iluminación dinámica.
Recuerda que la asignación de recursos suele afectar a las decisiones que se toman durante el desarrollo. En niveles exteriores amplios, puedes usar volúmenes de posprocesamiento para conservar la calidad en áreas alejadas del jugador, donde este no lo notará. Así se ahorran recursos para áreas donde la calidad es importante, como en torno al jugador durante el jugabilidad o alrededor de la cámara durante una cinemática.
Los ajustes de Iluminación global y reflejos de un volumen contienen distintos métodos de cálculo de la iluminación que se adaptan a las distintas necesidades de desarrollo:
| Método | Descripción |
|---|---|
Ninguno | Desactiva cualquier cálculo de iluminación global o reflejos. Las fuentes de luz no generarán luz de rebote ni reflejos, y las sombras aparecerán en negro sólido. |
Lumen | La iluminación global (GI) de Lumen es el sistema de iluminación global completamente dinámica de Unreal Engine que funciona con todos los tipos de iluminación. |
Espacio en pantalla | La Iluminación global del espacio en pantalla (SSGI) es un sistema de iluminación rápido y dinámico que solo calcula la iluminación de lo que aparece en la vista de la pantalla. |
Cuando se selecciona el método Lumen en la demostración de abajo, fíjate en que el brillo naranja de las flechas de neón contribuye dinámicamente a la escena. Esto se debe a que los materiales emisivos (que no son una fuente de luz) se calculan al usar Lumen, pero no al usar otros métodos.
Además de controlar la calidad, los volúmenes de posprocesamiento pueden controlar hasta qué punto pueden contribuir la luz y los reflejos dentro de la escena. Lvl_Adventure es relativamente pequeño y la distancia de renderizado no es un problema. Sin embargo, para áreas más grandes (como los juegos de mundo abierto, donde las grandes distancias pueden provocar un consumo significativo de recursos), ajustes como Distancia de vista de escena de Lumen y Distancia máxima de renderizado de trazados son útiles para equilibrar el alcance y el rendimiento.
Cómo ajustar la calidad de los reflejos con la iluminación global de Lumen
En esta sección, configurarás los ajustes de las iluminación global y los reflejos del nivel resolviendo problemas en una serie de ejercicios. A medida que trabajas, aprenderás sobre cada ajuste y mejorarás el aspecto de los reflejos en el suelo mojado que creaste en el tutorial anterior.
Entre los ajustes que tendrás que modificar se encuentran:
| Ajuste | Descripción |
|---|---|
| Iluminación global | |
Calidad de iluminación de escena de Lumen | Calcula la fidelidad de la iluminación de la escena. Valores más altos equivalen a una mayor fidelidad pero llevan asociado un coste de rendimiento. |
Detalle de la escena con Lumen | Controla el tamaño de las instancias que se pueden representar en una escena. Valores más altos garantizan que se representen los objetos pequeños, pero llevan asociado un coste de rendimiento. |
| Reflejos | |
Calidad | Aumenta la fidelidad de los reflejos de Lumen en las superficies. Los valores más altos equivalen a una mayor fidelidad y pueden reducir la creación de artefactos, pero llevan asociado un coste de rendimiento. |
Trazados en pantalla | Activa o desactiva los trazados de espacio en pantalla para la iluminación global de Lumen. Activar los trazados en pantalla mejora la fidelidad de los reflejos, pero solo afecta a lo que se ve en pantalla. |
Rugosidad máx. para trazar | Establece el valor máximo de rugosidad para el que Lumen traza reflejos. |
Para seguir este tutorial, aplica estos valores a PPV_Room3:
Iluminación global
Método: ninguno
Calidad de iluminación de escena de Lumen:
0.25Detalle de la escena con Lumen:
0.25
Reflejos
Método: ninguno
Calidad:
0.25Trazados en pantalla: no marcado
Rugosidad máx. para trazar:
0.0
Para empezar los ejercicios, sigue estos pasos:
En el visor o en el esquematizador, localiza uno de los recursos emisivos que creaste en el tutorial anterior. Colócalo en el suelo como quieras.
En el esquematizador, selecciona
PPV_Room3.Dirígete al panel Detalles. Para usar la iluminación global de Lumen, amplía Iluminación global, marca Método y selecciona Lumen.
Tu escena debería quedar así:
Para usar reflejos de Lumen, amplía Reflejos, marca Método y selecciona Lumen.
Tu escena debería quedar así:
Los reflejos son más notorios en materiales con poca rugosidad. Dado que la rugosidad de
BP_Floorcuando está mojado es 0 (sin rugosidad), fija Rugosidad máx. para trazar en1.0.Tu escena debería quedar así:
Parte de la potencia emisiva se pierde en el suelo mojado. Para solucionar este problema, marca la opción Trazados en pantalla.
Tu escena debería quedar así:
Aunque se mejora la cantidad de luz reflejada, el reflejo en sí no es nítido. Para mejorar la claridad de los reflejos, sube Calidad a
1.0.Tu escena debería quedar así:
Se ha mejorado la claridad de los reflejos, pero hay un (sutil) artefacto visible detrás de la flecha.
Para solucionar este problema, puedes aumentar el número de muestras producidas por la iluminación global de Lumen. En Iluminación global de Lumen, marca Calidad de iluminación de escena de Lumen y fija su valor en
1.0.Selecciona Detalle de la escena con Lumen y establece su valor en
1.0.Tu escena final debería quedar así:
Con estos ajustes, has usado la iluminación global y los reflejos de Lumen para controlar la fidelidad visual y el rendimiento de Lvl_Adventure. Explora estos ajustes en tu propio nivel y plantéate dónde podrías asignar recursos para mejorar la calidad o dónde podrías querer conservarlos para mejorar el rendimiento.
Siguiente
En el siguiente tutorial, aprenderás a crear materiales de posprocesamiento y a aplicar un efecto en pantalla para indicar daño.