Iluminación para visualización arquitectónica en UE4.18 para VR. La búsqueda del fotorrealismo en tiempo real en la visualización arquitectónica (traducción). Unreal-Engine_4

Hay varios controles de brillo. Por ejemplo, si desea cambiar el brillo de la luz (Brillo), puede ingresar un nuevo número en lugar de "1,000000 ". O mantenga el mouse entre las dos flechas negras a la derecha. Haga clic y arrastre el mouse hacia arriba o hacia abajo y cambiará el brillo dinámicamente.


cerca del campo Color claro(color de la luz), puedes hacer clic en la lupa para abrir la paleta de colores, también puedes expandir esta pestañaColor claroabriendo la configuración de color enRGB. También puede hacer clic en el icono del cursor del mouse para obtener un color que puede seleccionar con el mouse en algún lugar del mapa. Pruebe en ambos sentidos ahora.

A continuación se muestra una lista de las propiedades más importantes.Asegúrate de probar cada uno de ellos por tu cuenta.


Brillo(brillo): todo es bastante obvio.
Exponente de caída- dureza de la luz o deterioro dentro de su radio. Acerca la luz a la pared y juega con este valor y verás cómo funciona.
Color claro- color de la luz.
Radio- zona de luz.
Es mejor dejar otras propiedades sin cambios, pero discutiremos algunas de ellas más adelante.
Hagamos la luz naranja, con un brillo lo suficientemente alto y un radio grande para llenar la habitación. Asegúrese de “reconstruir (reconstruir)” (Construir luz) iluminación para finalmente dar forma a la luz.


4) Luz deportiva

Alojamiento Destacar un poco más complicado que colocar un foco: lo puedes encontrar en Actor'Oh Genérico'a. Abra su navegador ( Genérico) y vaya a la pestaña Clases de actor. Abierto " Luz", y seleccione Luz deportiva. (Verás dos subcategorías, SpotLightMóvil Y FocoConmutable. Estos se usan principalmente en animación o relacionados con el juego, por lo que no los tocaremos por ahora).
Haga clic derecho en su escena y seleccione " Añade SpotLight aquí"Verás un foco blanco apuntando hacia abajo. Muévelo para que parezca que proyecta un círculo de luz en alguna parte.

Luz deportivatienen todas las mismas propiedades (color, brillo, radio, caída), sin embargo, tienen algunas propiedades adicionales. Asegúrese de que el foco esté seleccionado y abra sus propiedades. Encuentra dos nuevas propiedades.


ÁnguloConoExterior- ángulo externo del cono (los ángulos aquí son desde el eje del cono hasta la generatriz, de 0 a 90 grados).
ÁnguloConoInterior- Control de hotspot en el medio del cono. Si es 0, entonces habrá una luz "suave". Si este es el mismo radio, es igual aÁnguloConoExterior, el foco tendrá un círculo de luz brillante. (Juega con este valor y verás cómo funciona)


Puede rotar el foco usando la herramienta de rotación estándar en el editor. También puedes controlarlo en modo primera persona (haciendo clic en el botón "Bloquear actores seleccionados a la cámara " en la parte superior del visor de perspectiva.


Cambiar el ángulo del cono. Destacar para cubrir áreas más amplias. Ajusta la iluminación para conseguir el aspecto final.

5) Luz direccional

Esta luz incide en todas las zonas del nivel, tanto en el interior como en el exterior, no habrá sombra de las paredes de la habitación ni de cualquier otra cosa. Esta luz se utiliza mejor en niveles abiertos.

Puedes encontrar esta luz en el mismo lugar que DeporteLuz. Puede que no sea un gran error; al moverse por el nivel, las luces de las paredes pueden "parpadear". Después de “reconstruir” la iluminación o encender la luz, el parpadeo suele desaparecer.

Gire la luz para que no brille directamente hacia abajo. Doblar Luz Direccional puedes hacerlo de la misma manera que se describe en la sección DeporteLuz. Pero en lugar de ese cono de luz que indica la dirección, habrá una pequeña flecha azul.
Si tiene varios objetos muy juntos, con una cierta rotación de la luz aparecerá una sombra de los objetos.

Al “reconstruir” la luz, las sombras pueden verse así:

Esta sombra no se ve muy bien, pero se puede ver desde una gran distancia.


Pero si marcas la casilla, estropeasbFuerzaDinámicaLuzen entornos de luz ybElencoDinámicoSombrasen la configuración del objeto deseado, luego de "reconstruir" la luz, la sombra será clara:

Pero esta sombra desaparecerá a medida que te alejes de los objetos (puedes notar que la sombra de diferentes objetos desaparece a diferentes distancias). Pero sombras como las de los mapas de Epic no se consiguen con estos parámetros. Los hicieron a mano.
Si no necesita sombras, desactive "ElencoSombras"en el objeto que necesita, del cual no debe haber sombra, o en la fuente de luz deseada, si no quiere sombras de esta luz en absoluto.

6) Luz del cielo

Esta luz ilumina todo, en todas partes, sin crear sombras (por eso, una caída mínimaFPS), por lo que es mejor usarlo en niveles abiertos o asegurarse de que no haya lugares oscuros en el nivel.
Agreguémoslo (puedes encontrarlo enGenérico'e, en Luz'Oh).

Inmediatamente el nivel se vuelve mucho más luminoso (a excepción del techo, que no ha cambiado). Las superficies se iluminan "desde arriba", por lo que el suelo recibe mucha luz, las paredes una cantidad media de luz y el techo permanece sin iluminación.Aquí hay dos configuraciones (es difícil describir lo que hacen).

Brillo inferior- brillo (mezcla de colores, algo así, ¿qué es Hz de todos modos) (predeterminado 0)Color inferior- color (color secundario para zonas menos iluminadas, paredes y especialmente el techo).

Ajustando las propiedadesClaraboya, obtenemos que el color de abajo es rojo brillante y el color de arriba es azul brillante (con un brillo bastante brillante).Brillo inferior, es obvio.)Se nota cómo los colores rojo y azul se combinaron e hicieron que la pared fuera violeta. Esto debería ser obvio si eliminasPunto de luz.

Y lo último es el icono de Claraboya Es muy pequeño y lo más probable es que lo pierdas en un nivel grande. En propiedades, en Mostrar categorías, cambio dibujarescala en 10 .

7) Coloqué todo junto


Veamos que tan diferenteLuzSe utilizan objetos en la escena.
Abramos (Unreal Tournament 2007\UTGame\CookedPC\Private\Maps\DM-RisingSun.ut3), para que puedas ver cómo Epic ha utilizado este tipo de luces en un entorno práctico.
Cargue el mapa y verá algo como esto:

Mirar alrededor. ¿Sabes qué tipo de luz ilumina qué? Hay un montónPunto de luz Y DeporteLuzcerca hay lámparas y puertas luminosas. Pero, ¿qué ilumina la actividad de las rocas del fondo? Averigüemos.
Haga clic en ";Alternar Mostrar banderas"boton y enciende"Influencias de luz". Selecciona las rocas y verás dos líneas azules que salen de ellas.

Las líneas conducirán a dosLuz Direccional en el escenario.

Verás que ambosLuz Direccionaldirigidos en direcciones opuestas. Y si miras las propiedades, verás lo que están haciendo en el escenario. Un brillo (Brillo) 2.5 y emite un color amarillo: actúa como el sol. Brillo diferente 0.25 y emite un color azul pálido, luz como del cielo. Si ha eliminado todo (para hacer esto, haga clic derecho en cualquier fuente de luz y seleccioneSeleccionar todas las luces), con la excepción de estas dos fuentes de luz, el espacio seguirá teniendo un buen aspecto, a excepción de un par de docenas de objetos que fueron iluminados específicamente por otras fuentes de luz.

8) Buscar

Puedes seleccionar luces en ventanas gráficas 2D o 3D para descubrir qué hacen, pero echemos un vistazo a la herramienta... busqueda de actores". Puede abrirlo haciendo clic en el icono de binoculares en la parte superior de la ventana; haga esto ahora.

Búsqueda de actores abre una ventana con una lista de todo lo que hay en el mapa. Pero sólo queremos mirar la luz. Haga clic en " que contiene" y luego en la sección " Buscar", ingresar " ligerot". El número de objetos encontrados se muestra en la parte inferior de la pantalla, por ejemplo " 11 objetos encontrados".

Entonces, ¿qué tenemos? Alguno luces direccionales, luces direccionales, Y focos. Notificación claraboya. Si hace doble clic en una luz de la lista que se está utilizando en la escena, la cámara saltará a esa luz.
Tómate unos minutos y observa las propiedades de cada fuente y descubre el papel de cada una en la escena.



9) Volumen posproceso


Afecta la apariencia y el nivel de iluminación. Volumen posproceso Está situado alrededor de todo el escenario. Si alejas la ventana 3D, notarás sutiles cambios de color en la arena. El volumen de PostProcess controla el brillo y muchos otros efectos siempre que la cámara esté dentro.
Seleccionar Volumen posproceso y abre sus propiedades. (Parece un campo violeta en una proyección 2D, o puedes encontrarlo a través de Búsqueda de actores.)

Introducción

Mi nombre es Lasse Rohde y soy representante de xoio studio. Somos una pequeña agencia especializada en renderizar e ilustrar trabajos de arquitectura y marketing. Normalmente trabajamos en una especie de entorno 3D "tradicional" utilizando aplicaciones como 3ds Max y similares. Estamos constantemente probando nuevos motores de renderizado y actualmente preferimos Corona Renderer, V-Ray y Octane. Cada "motor" tiene sus propias fortalezas y siempre intentamos utilizar cada uno para nuestros propios fines. En mi opinión, hay varias tendencias principales en nuestra industria: el deseo de fotorrealismo y resultados rápidos, si no hablamos de tiempo real. . No esperar a que el resultado esté listo en una granja de renderizado siempre ha sido un sueño para nosotros, especialmente al crear animaciones. ¡La principal desventaja del "tiempo real" durante mucho tiempo fue la falta de calidad en comparación con las imágenes "prerenderizadas"! y animación. Entonces, si bien parecía muy interesante, su aplicación en un contexto de visualización parecía difícil de imaginar y, francamente, lucir "atrevido" era difícil de vender para clientes exigentes en los campos arquitectónico y empresarial. Pero las cosas cambiaron dramáticamente. ¡Los resultados creados hoy en día en “motores en tiempo real” son muy hermosos y convincentes!

¿Por qué Unreal Engine?

El lanzamiento de UE4 recibió mucha atención en nuestra industria y las posibilidades parecían infinitas. El sistema de materiales PBR (Physical Rendering) y el flujo de trabajo simple para crear un modelo en Unreal Engine fueron la razón más convincente para que lo intentáramos: ¡es una oportunidad para obtener calidad adicional! Si ha visto el trabajo de Koola (también disponible para descargar en Unreal Engine Marketplace), que se volvió viral hace unas semanas, probablemente estará tan convencido como nosotros de que Unreal Engine 4 es capaz de ofrecer una calidad impresionante. , Quiero brindarles un resumen rápido del flujo de trabajo para crear una escena de un apartamento en Berlín, que pueden descargar desde Marketplace (la tienda de la marca Unreal) y ver algunas de las técnicas y técnicas que encontré mientras trabajaba en la escena. Algunos de ellos los encontré por mi cuenta, mientras que otros se derivan de información que encontré en Internet. En Unreal Engine, los foros y la documentación son recursos extensos y extensos, al igual que el contenido principal que viene con el "motor" y los paquetes de escenas que puede obtener en Marketplace.

Apartamento en Berlín

He estado creando una serie de imágenes de este apartamento en un edificio histórico de Berlín desde 2013 usando 3ds Max con Corona Renderer. Es una forma flexible de manejar el mapeo de colores que realmente ayudó a resaltar el ambiente luminoso de esta escena. Esta fue también la razón por la que elegí UE4 para las pruebas. Noté que UE4 se usó con bastante éxito en escenas con iluminación cambiante y texturas ruidosas. Sospeché que no sería tan fácil conseguir sombras y GI (Iluminación Global) precisas en un interior ultra blanco. Y para ser honesto: ¡no es una tarea fácil!

Figura 1.

Arriba está el render original realizado en 3ds Max y Corona Renderer. Para ver otras imágenes, haga clic en .

A continuación se muestra un vídeo de la escena terminada.

Empezaré desde el principio:

Escena originalEl modelado se realizó en 3dsmax de forma apresurada. Así que realmente sólo entraré en detalles sobre las partes que se reflejan en las imágenes finales. Por supuesto, este enfoque no es posible en entornos de tiempo real. Para cambiar el propósito del objetivo cuando se usa en Unreal Engine, tuve que reducir un poco la escala porque amueblar y detallar todo el espacio habría tomado demasiado tiempo para probar.


Higo 2

Decidí exportar solo dos salas: puedes verlas en la parte inferior de la captura de pantalla de arriba.

Exportar geometría paraIrreal Motor-Esta es una tarea muy difícil SI tienes varias ideas. ¡Tiene sentido dividir estas ideas en partes! Debido a que Lightmass se calcula en un mapa separado para cada objeto, es bueno tener un poco de cuidado con valores altos, especialmente en objetos planos grandes como paredes y techos. Debido a esto, solo exporté las superficies interiores de las paredes que realmente vemos. También agregué un poco en la parte superior e inferior de las paredes para intersectarlas con el techo más tarde. Creo que esta es una buena manera de evitar "fugas de luz": artefactos de luz que aparecen cuando la geometría no está cubierta o no se cruza. Esto no es un problema cuando se trata de una escena oscura con mucha textura involucrada, pero como queremos espacios súper blancos, es importante crear una IG (iluminación global) lo más precisa posible, especialmente en las esquinas.


Fig.3

Segunda cosa más importante— crear un escaneo coordinado para el canal GI, que se guardará para el cálculo de la masa ligera en la UE. En 3ds Max, este sería el canal UV 2. El canal 1 es para usar todas las demás texturas como difusión, rugosidad, normales, etc. Unreal Engine calcula los canales a partir de 0, lo que puede resultar un poco confuso al principio, pero una vez que lo dominas, es simple. Nota: ¡Desenvolver solo es importante para el canal del mapa de luz! Para un canal de textura, puede funcionar cualquier tipo de mapeo, como cúbico o cilíndrico. En la mayoría de los casos, la operación de mapeo aplanado en 3ds Max con el modificador Unwrap (obteniendo un barrido donde se puede establecer el umbral y el grado de despliegue) es suficiente para obtener las coordenadas UV.


Figura 4

Si desea obtener todos los objetos en la escena en UE4 como estaban en su escena máxima, entonces necesita modificar los modelos para insertarlos en los lugares donde estaban durante la exportación. Para objetos individuales, como sillas, es conveniente exportarlos a Unreal Engine una vez y copiarlos dentro. Para hacer esto, necesitas acercar los objetos al centro en tu escena de 3ds Max, porque el centro del objeto (pivote) en el UE estará allí.

Higo 5


figura 6

Verá, estoy usando geometría de alta poli sin simplificación LOD (nivel de detalle). Por supuesto, esto solo se recomienda en escenas pequeñas como esta, pero como tengo experiencia suavizando la geometría y no quiero bordes irregulares en mis muebles, tiene sentido para mí. Aunque no tengo dudas de que la sala requiere optimización;). Asegúrate de que tu geometría se combine en un solo objeto y que los elementos tengan cada uno su propia ID de material para procesar diferentes materiales más adelante en UE4. Bueno, ¡guarda la geometría en .fbx! resolución y pasar al editor de Unreal Engine! Importar aIrreal Motor 4 ¡La importación de archivos FBX a Unreal Engine 4 funciona sin problemas! Lo hice en varias etapas. Preparé varios archivos, en este orden: - Geometría de la habitación en un archivo FBX separado. - Diferentes archivos para los modelos, cada uno con múltiples objetos. Asegúrate de desmarcar la casilla Combinar mallas para separar los objetos y no combinarlos en un solo objeto.

figura 7

Materiales

¡Soy bastante sencillo y un gran admirador de las configuraciones simples! Entonces, los sombreadores de ejemplo son muy simples y consisten en un mapa difuso, desaturado y mezclado con negro. El mismo mapa tiene color corregido e invertido en el canal de rugosidad. Listo.


figura 8

Un mapa Normal sería excesivo aquí, pero no te limites a explorar los materiales de la escena.


figura 9

Aquí ves el material de madera utilizado para las sillas y la mesa: la madera oscura con un reflejo mate revela la estructura y textura de la madera. En la siguiente imagen ves el doble de materiales que pueden ser de interés, las cortinas iluminadas por la luz del sol. - en un material reversible.


Higo 10

Debes establecer el Modelo de sombreado en "Subsuperficie" y agregar un nodo constante con un valor menor que 1 y vincularlo a la propiedad de opacidad de tu material para obtener este efecto. El vidrio en primer plano tiene aplicado un material de vidrio muy simple:


Figura 11

Tiene un color de difusión bastante oscuro, rugosidad nula y un alto valor de especularidad. También apliqué un nodo de Fresnel con un valor de 1,5 para controlar la opacidad y la refracción como en la vida real. Hay muchas formas más complejas de obtener un vidrio más realista, pero honestamente tuve algunos problemas para controlar los parámetros, por lo que este vidrio simple pareció funcionar bastante bien. Nota: seleccioné Dos caras y configuré el modo de iluminación translúcida "TLM Surface". en la pestaña Detalles en el panel izquierdo.


Figura 12

El material que quiero mostrar es el material que se aplicó al piso, lo quiero mostrar porque es el único material que tiene un mapa normal aplicado


Figura 13

Aquí ves un material con color difuso, textura rugosa y un mapa normal. El color es gris claro, con el valor 4. La rugosidad parece un poco más compleja: a la izquierda ves el mismo mapa, tres veces más grande, con un nodo TexCoord. El canal rojo se multiplica por los demás y luego se conecta como alfa en la interpolación del nodo lineal (Lerp) para mezclar sus valores. 0,3 y 0,2 en este ejemplo, obtenemos un sutil reflejo ruidoso en el suelo de las tablas. Luego lo refinamos con el nodo "Power" para obtener la cantidad correcta de rugosidad, y este material también salió bien. Normal se expone nuevamente a TexCoord y luego se despliega a través del nodo "FlattenNormal" para obtener solo un relieve fino en el. material. Preparación del modelo Antes de agregar objetos a tu escena, siempre es mejor dispersar tus materiales geométricamente. Sólo tienes que hacer esto una vez y puedes aplicar diferentes materiales. Es un proceso rápido: aquí puedes ver lo importante que es aplicar diferentes ID de materiales a tus objetos para poder colocar los diferentes materiales en su lugar.


Figura 14

Construyendo la escena En resumen, importa todo junto. Primero, debes arrastrar la geometría a la habitación. La mejor manera de montar una escena es arrastrar y soltar en una escena vacía.


Higo 15

Los polígonos de la parte exterior de las paredes no son visibles aquí, como expliqué anteriormente: solo son unilaterales para un mejor cálculo de la masa de luz. En tales casos, sería bueno configurar la resolución del mapa de luz (obtenida mediante escaneo). Objetos grandes con un valor alto, para paredes, por ejemplo, establezco el valor en 2048.

Figura 16

Como se mencionó anteriormente, las "fugas de luz" pueden ser un problema. Para evitar esto, coloqué cajas negras alrededor de todo el escenario. Parece un poco desordenado por fuera, pero está limpio por dentro;)


Figura 17

Iluminación y sus parámetros.

La configuración de la iluminación también es bastante sencilla: utilicé el "método Koola", una combinación del sol y puntos de luz en el frente de la ventana para simular el flujo de luz. ¡Es muy eficaz y fácil de gestionar! Ahora sólo unos pocos ajustes son importantes para calcular la iluminación global.

Figura 18

He aumentado significativamente los rayos reflejados y la calidad de la iluminación. También bajé el suavizado a 0,6. Los detalles están mejor definidos y las sombras no se desvanecen tanto. También ajusté la iluminación directa en la sombra dinámica para obtener mejores sombras. ¡Esto también es importante para el movimiento de la luz más adelante en la animación!

Figura 19

El último paso antes de hacer clic en "Crear" es establecer la Calidad de iluminación en "Producción".

Higo 20

¡Esto debería dar como resultado una iluminación más suave en todo momento! En realidad, cuando llegué a este punto por primera vez, ¡quedé encantado! En realidad, esa es la parte fuerte de este motor: ¡emocionarte! ¡Poder moverme dentro de mi "renderizado" en tiempo real fue un momento verdaderamente feliz! Postprocesamiento Una de las características más importantes es la capacidad de aplicar corrección de color y efectos de cámara directamente en el editor. Esto se puede hacer con PostProcessVolume en la configuración global. Hice algunos ajustes de saturación, franjas y viñetas, croma y desactivé la exposición automática estableciendo los valores mínimo y máximo en 1 y aumenté el brillo general configurando la compensación de exposición en alrededor de 1,42. ¡También agregué un punto destacado, que me parece increíble porque todo sucede en tiempo real!


Figura 21

Configuración de animación La capacidad de moverse libremente dentro de una escena hace que la animación sea una tarea muy fácil y agradable debido a la retroalimentación instantánea del entorno en tiempo real. Como usuario frecuente de software de composición, no me llevó mucho tiempo acostumbrarme a las herramientas integradas y configurar animaciones. Lo primero que debía hacer era crear un Matinee Actor (un conjunto de herramientas para crear secuencias de vídeo).

Figura 22

Cuando abras Matinee, verás una ventana con una sección de seguimiento y un editor de curvas.


Figura 23

Configurar la cámara y la animación es sencillo. El movimiento se controla mediante fotogramas clave y curvas de la misma forma que en otros programas de animación. El trabajo de edición se realiza únicamente en el editor Matinee.


Figura 24

¡Puedes ver la trayectoria de la cámara solo en el editor y controlar la edición sobre la marcha! Después de realizar la animación preliminar en Matinee, exporto la animación como .AVI, la termino en Premiere y la ajusto a la música.

Conclusión

Todo el proceso, desde exportar desde 3ds Max e importar a Unreal Engine 4, trabajar con sombras e iluminación, crear animaciones y luego publicarlas en YouTube, me llevó aproximadamente un día. Esta velocidad es inaudita en ArchVIZ y refleja el potencial clave que se encuentra en el corazón del uso de Unreal Engine 4 para renderizar el trabajo. La falta de renderizado durante la etapa de "producción" de imágenes realmente hace que el proceso de creación sea muy flexible y gratuito. ¡El rápido resultado de nuestras acciones es una verdadera revolución! Estamos constantemente probando y pensando en las posibilidades de aplicar este tipo de proceso creativo y tecnológico en nuestro trabajo diario. ¡Hay muchas aplicaciones posibles y nos gustaría mucho explorarlas! Lasse, xio


Cuando trabajan en un proyecto, los arquitectos y diseñadores recurren a un método de presentación como la visualización 3D. En la mayoría de los casos, se trata de una imagen estática obtenida mediante los visualizadores vRay, MentalRay, Corona y otros.

Este artículo se centrará en la visualización de proyectos arquitectónicos utilizando Unreal Engine. Veamos todos los pros y los contras, y también compartamos mis impresiones y experiencia usando el ejemplo de un proyecto terminado:

Modelado

UE4 acepta modelos 3D en formato .obj y .fbx.

Puedes modelar y exportar objetos en cualquier editor 3D (3ds Max, Blender, Maya, etc.). Es deseable que el modelo tenga una buena topología y polígonos dentro de límites razonables (si hablamos de interiores, entonces los objetos principales, como un sofá, cama, etc. no debe exceder los 100 mil triángulos, ya que esto afecta mucho el rendimiento). Es mejor, por supuesto, hacer la retopología de cada modelo manualmente, pero para lograr un resultado aceptable, también puede utilizar herramientas, programas o complementos automáticos.

Todos los modelos deben tener un escaneo; cuanto más suave sea, mejor será la calidad de la textura y, de cara al futuro, las luces y sombras, que se calculan previamente en Unreal Engine.

Materiales

Para construir lógica en UE4 utilizan un sistema de nodos Cianotipo. Reemplaza la necesidad de programar, pero no excluye la capacidad de escribir en C++.

A continuación se muestran los principales sombreadores utilizados en la escena construida. Cianotipo:

Árbol:



Dado que para crear superficies en relieve el motor solo requiere un mapa normal, es posible crear procedimentalmente este mapa a partir de una imagen en blanco y negro usando el nodo NormalFromHeightmap.

Metal teñido:



En este ejemplo, se utilizó un mapa en blanco y negro, mezclado con valores numéricos y aplicado a las propiedades Metálico y Rugosidad.

Vaso:



La transparencia del material se ve afectada por la propiedad Opacidad, que está controlada por el nodo flotante (valor de 0 a 1)

Los siguientes son ejemplos de cuatro propiedades básicas que determinan la naturaleza física de un material. Combinarlos de varias maneras hace posible crear casi cualquier tipo posible de superficie física en el mundo real.

Color básico Metálico De espejo Aspereza

Iluminación

La escena utiliza tres tipos de iluminación:

Una vez colocados todos los objetos y fuentes de luz, es necesario calcular la escena:

Este es un tipo de análogo de renderizado que calcula las interacciones de todas las fuentes de luz estáticas con modelos estáticos. En pocas palabras, proyecta y crea sombras.

Si, después del renderizado, el modelo o la fuente de luz se mueve o elimina, la sombra permanecerá y será necesario volver a calcular la escena.

Ejemplo:

Interactivo

Para mejorar el diseño arquitectónico, recomiendo agregar algunos elementos interactivos, como abrir y cerrar puertas, música y diversos efectos sonoros y visuales. A continuación veremos algunos de ellos.

1. Abrir y cerrar la puerta
Considere una opción simple donde la puerta se abre automáticamente si un jugador se acerca y se cierra si el jugador se aleja:

La puerta en sí consta de dos elementos: un modelo estático de la entrada y una hoja interactiva, cuya lógica se describe en Cianotipo.

EN componentes El dibujo incluye un modelo estático 3D de la hoja de la puerta y una figura. Caja, que desempeña el papel de desencadenante:

La estructura de nodos se ve así:


Los nodos OnComponentBeginOverlap y OnComponentEndOverlap son responsables de la colisión con el disparador.
Timeline_0 es una animación con la función Float Track (Nueva pista 0).
Make Rot crea rotación a lo largo de cualquier eje, en este caso el eje Z (Guía).

Función Float Track (Nueva pista 0):


El valor cambia de 0 a -90 grados en 1 segundo

Todo lo que tenemos que hacer es compilar Cianotipo y agréguelo a la escena, alineándolo exactamente con la entrada.

2. efectos de sonido
Puedes darle vida a tu proyecto agregando Sonido ambiental. Por ejemplo, reproduzca música discreta de fondo o agregue un efecto de sonido al abrir o cerrar puertas.

3. Postprocesamiento
En un sentido amplio, el posprocesamiento es todo lo que sucede después de los pasos principales de la construcción de una imagen.
Puede realizar el posprocesamiento ya sea en cámara o con un bloque Volumen posterior al proceso, agregándolo al proyecto y ajustando las dimensiones. Al ingresar a este bloque se iniciará el proceso de posprocesamiento.

Por ejemplo, un bloque Volumen posterior al proceso con mayor brillo se recomienda instalar en habitaciones mal iluminadas:

Entonces Volumen posterior al proceso parece en la escena:

Unreal Engine 4 admite muchos efectos para el posprocesamiento; es posible que no todos te resulten útiles, pero enumeraré algunos de ellos:

  • Viñeta- oscurecer o aclarar los bordes del marco
  • Profundidad de campo- todo lo que está más cerca o más lejos que la distancia de enfoque pierde gradualmente nitidez y se ve borroso
  • Floración- luz recibida de fuentes de luz brillantes
  • Destello de lente- reproduce el efecto de refracción de la luz solar en la lente de la cámara
  • Película (ruido)- produce ruido animado, simulando una cámara de cine

resumámoslo

A pesar de la aparente complejidad del trabajo, Unreal Editor 4 parece amigable. Y con el creciente rendimiento del hardware informático, el renderizado GPU puede cambiar la forma tradicional en que trabajan los visualizadores, diseñadores y arquitectos.

De las desventajas, me gustaría señalar un par de puntos. Por el momento, conseguir una imagen fotorrealista no es fácil, pero si te lanzas de lleno al proyecto y le dedicas más tiempo, entonces

Puede importar texturas usando el botón "Importar" en el navegador de contenido. Unreal 4 admite una amplia variedad de formatos de textura: desde .tgas y .png hasta .psds y .jpg. Un consejo importante es asegurarse de que los mapas normales estén comprimidos como TC Normalmap para evitar errores visuales en el motor. También tenga en cuenta que si la resolución de su textura no es múltiplo de dos (por ejemplo, 1024x349), no se ejecutarán o no tendrán propiedades MipMap.

  1. Ahorro de memoria: texturas de paquetes de canales

Una de las cosas de Unreal es la cantidad de control que tienes al crear tus propios materiales. Cuando crea múltiples máscaras en blanco y negro para texturas como rugosidad o transmisión, puede ahorrar memoria ocultando cada máscara en un canal R, G o B separado y luego accediendo a cada canal de esa textura por separado.

  1. Representación basada físicamente

Con la llegada de nuevas capacidades de renderizado en motores como Unreal 4, el renderizado físico ha ganado una gran popularidad.

Aprender cómo deberían ser exactamente las propiedades físicas de los materiales con máscaras de rugosidad y metalidad se puede comparar con cómo funcionaban los motores de juegos en la última generación. Este conocimiento ayuda a mantener los materiales con un aspecto realista en diferentes condiciones de iluminación.

  1. Reutilizar textura

Otro elemento sorprendente del Editor de materiales de Unreal 4 es que permite la reutilización de texturas. Esto le ayudará no sólo a ahorrar memoria, sino también a ahorrar tiempo. A veces, el canal rojo de la textura del albedo de la roca se puede utilizar como una máscara en blanco y negro para la rugosidad. La textura de tejas de Photoshop se puede aplicar fácilmente al ladrillo y también se puede mezclar con otra textura para mezclarla con otros elementos.

  1. No agregues texturas innecesarias

A veces ciertas texturas no son necesarias. Para materiales 100% no metálicos, como madera o tierra, la textura del metal se puede reemplazar en el Editor de materiales con una constante de coma flotante simple y el valor 0. El mismo principio se puede aplicar a múltiples versiones del mismo material. No necesitas mapas normales separados, por ejemplo, para tres tipos de ladrillos que difieren en color. Puedes usar un mapa normal para todos.

  1. Creando un conjunto de materiales básicos.

Una forma de ahorrar tiempo y trabajo- creando un conjunto básico de materiales que se pueden utilizar para diferentes objetos. Cuando empiezo proyectos, creo un material base para cada tipo de objeto que necesito. Por ejemplo, si estuviera haciendo una escena de la naturaleza, me gustaría conseguir materiales base para el terreno, los accesorios o la vegetación. Por supuesto, siempre tendrás que ir añadiendo elementos a este conjunto a medida que avanzas, pero así se realizará la mayor parte del proceso.

  1. Reutilización de material

Una gran característica del material base es su capacidad de cambiar en tiempo real. Puede utilizar estos cambios para probar rápidamente muchos valores diferentes sin tener que volver a compilar el material. Siempre que uso material difícil, siempre tengo lista una copia de prueba. Lo necesito para fijar valores base más realistas para el material final.

  1. Comentarios y organización de materiales.

Para materiales complejos, Unreal 4 ofrece herramientas de organización muy útiles. Al seleccionar un grupo de nodos y presionar C, se colocan esos nodos en un comentario, que luego se puede mover como un grupo y codificar por colores. Los comentarios (y nodos individuales) pueden contener explicaciones textuales básicas.

  1. Funciones de los materiales.

Las funciones materiales se pueden llamar varias veces para ejecutar un conjunto específico de instrucciones. Se crean fuera del material en el Navegador de contenido, pero luego se pueden llamar para simplificarlos. Pueden contener sus propias entradas y pueden ser una excelente manera de ahorrar tiempo cuando necesita llamar a múltiples operaciones repetitivas.

  1. Materiales de hojas

El follaje puede ser una de las cosas más difíciles de hacer porque... No es nada fácil garantizar que se muestre correctamente en cualquier motor de juego. En UE4 versión 4.18 existe un modelo de sombreado de follaje que facilita esta tarea. Lo recomiendo mucho porque admite la transmisión subterránea, lo cual es beneficioso en la mayoría de los casos. También recomiendo agregar una luz del cielo a tu escena para ayudar a equilibrar algunas de las áreas más oscuras de la malla de follaje que pueden estar en sombra.

  1. Color de vértice

Acceder a los colores Vertex en materiales.- una de mis funciones favoritas en Unreal 4. Pueden ser increíblemente poderosas cuando se usan de manera creativa. Desde la oclusión ambiental hasta enmascarar el viento y el desplazamiento del mundo para el follaje, su versatilidad es enorme. Son especialmente útiles al mezclar texturas. Los colores de los vértices pueden importarse desde un software 3D externo o importarse y dibujarse en el editor.

  1. Detallado difuso y normal.

Dado que puede ajustar la configuración de textura UV, puede mejorar los detalles del material combinando un conjunto de textura adicional. Por lo general, se trata de mapas difusos o normales, que luego se superponen alternativamente sobre los básicos. Puede utilizar cualquier método que desee, como la función de fusión de superposición, mientras que se pueden aplicar mapas normales detallados agregando canales rojos y verdes a la base.

  1. Mezclando texturas en materiales.

¿Quiere combinar texturas en el editor de materiales, pero sólo está familiarizado con los modos de fusión de Photoshop? Epic ha superado tus expectativas. Junto con muchas características útiles del material, incluye la mayoría de los modos de fusión con los que todos los usuarios de Photoshop están familiarizados. Desde Superposición hasta Sobreexposición lineal, se pueden encontrar en la ventana de paleta dentro del Editor de materiales. Pueden resultar especialmente útiles para agregar detalles a sus materiales.

  1. Conocimiento de tipos de fuentes de iluminación.

Unreal ofrece cuatro tipos diferentes de luz para usar en ambientes:Luz direccional, puntual, puntual y celeste. Luz direccional Ideal para zonas al aire libre o cualquier fuente de luz inusual. Luz Punto es omnidireccional y Lugar similar a él, pero tiene las limitaciones definidas por el cono. luz del cielo se puede utilizar para agregar luz al entorno, capturando partes distantes de su mapa. También se admiten Cubemaps personalizados.

  1. Agregar niebla a tu escena

Existe una forma estándar de crear la densa niebla habitual que todos conocemos. Unreal 4 ofrece otras dos formas de agregar niebla a tu escena. La niebla atmosférica responde al ángulo y la intensidad de la iluminación direccional. Puede crear niebla basándose en la luz atmosférica ambiental real. Height Fog brinda un poco más de control de color y le permite agregar un efecto de niebla más simple que se vuelve menos denso en las partes superiores del mapa y más denso en las partes inferiores.

  1. Creando haces de luz inteligentes

Rayos de luz o " los rayos de dios "Puede ser una poderosa herramienta visual y son creadas por partículas en el aire iluminadas por ciertas fuentes de luz. En Unreal 4 se pueden crear de varias formas. La forma más común es permitirles utilizar las propiedades de la luz direccional. También se pueden fabricar utilizando geometría y materiales inteligentes.

  1. Disparo de alta resolución

Si bien se pueden generar resoluciones de video personalizadas desde Matinee, existe una manera rápida y fácil de crear imágenes de alta resolución directamente desde el editor. Al hacer clic en la pequeña flecha hacia abajo en la esquina superior izquierda de su ventana gráfica, puede abrir un pequeño menú desplegable. En la parte inferior puede abrir la ventana Captura de pantalla de alta resolución. Desde allí, se pueden capturar capturas de pantalla de alta resolución y enviarlas a la carpeta de su proyecto: carpeta proyecto/guardado/Capturas de pantalla.

  1. Ajustar colores y tablas de búsqueda

Los colores de renderizado finales se pueden personalizar según las preferencias artísticas. Si bien existen opciones para ajustes básicos como contraste y tinte, se puede realizar una corrección de color personalizada utilizando tablas de búsqueda de colores. Estas tablas permiten una conversión de color compleja y se pueden crear utilizando el archivo base disponible en el sitio web de Epic Unreal 4 y en Photoshop u otros programas de ajuste de imágenes.

  1. Edición de transiciones de luz y luces

Las transiciones de luz y las luces se han vuelto populares en los juegos y en 3D y se pueden habilitar y personalizar en UE4 usando zonas de posprocesamiento dedicadas.- volúmenes post-proceso. El flujo luminoso es ajustable según casi todas las características. El tamaño, el color, la intensidad y el umbral se pueden cambiar e incluso se pueden utilizar para enmascarar texturas de suciedad y simular lentes sucias. Asimismo, también se pueden encender los flashes y ajustar su forma e intensidad.

  1. Creando profundidad de campo

Unreal 4 admite nitidez gaussiana y personalizada. Ambas opciones existen en la configuración de Volúmenes de posproceso. También cabe señalar que las herramientas que ayudan a difuminar objetos finos delante de objetos distantes a veces pueden crear problemas. Se debe tener cuidado al aplicar profundidad de campo, por ejemplo, al follaje u otros elementos similares.

  1. Autoexposición y adaptación ocular.

El control de exposición automático está habilitado de forma predeterminada y simula el ajuste del ojo a áreas brillantes u oscuras. El efecto es sorprendente, pero puede crear variables visuales en constante cambio que son difíciles de mantener internamente. Puede ajustar el rango de exposición en la configuración de volúmenes después del procesamiento. Se puede desactivar estableciendo el brillo mínimo igual al máximo. La compensación de exposición se puede utilizar para ajustar la configuración de exposición básica.

  1. Funciones de luz

Una característica interesante de Unreal 4 es la compatibilidad con materiales con funcionalidad de iluminación. Estos materiales actúan como máscaras de luz y se pueden utilizar para crear cualquier cosa, desde variaciones de color personalizadas en la luz hasta sombras de nubes en el suelo. Se crean configurando la función Dominio del material en Luz en el Editor de materiales y se pueden usar con luces puntuales, puntuales y direccionales.

  1. Ahorra tiempo copiando y pegando

Otra característica que debes conocer sobre Unreal 4 es que cualquier objeto en un nivel se puede copiar y pegar directamente en otro nivel dentro del mismo proyecto. Aparecerá con las mismas propiedades y en la misma ubicación.

Y lo mejor es que todo lo copiado de Unreal se puede pegar en un documento de texto. Luego, este texto se puede copiar y volver a pegar en otro nivel de Unreal 4.

  1. Modo Visualización y visualización de pases de render.

Saber qué constituye su imagen es una parte integral del trabajo en cualquier motor 3D, y trabajar en un renderizador diferido como UE4 permite algunos modos de visualización útiles. Al presionar Alt y 1-8 se alterna entre diferentes modos de visualización, como Sin iluminación o solo iluminación, pero si presiona el botón Modo de visualización en la ventana Viewport, puede ver pases de renderizado individuales. Esto puede resultar útil para visualizar una amplia gama de materiales, como la rugosidad.

Si bien Unreal es increíblemente poderoso, no todas las estaciones de trabajo se crean de la misma manera. Si tiene problemas de rendimiento del motor, lo primero que debe habilitar son las opciones de escala del motor en la Configuración de la barra de herramientas del editor. Desactivar algunas opciones como el antialiasing realmente puede acelerar las cosas. Otro truco consiste en agrupar muchos objetos en un contorno del mundo. Luego puede alternar su visibilidad para mejorar el rendimiento.

En este artículo, te mostraré cómo crear una selección de ruta en UE4. Normalmente, los desarrolladores están acostumbrados a hacer esto de dos maneras diferentes:

  • Renderiza la malla dos veces. En este caso, primero se renderiza una malla (con un material estándar) y luego una segunda (con una escala ligeramente mayor y un material emisivo)
  • Se utiliza un algoritmo de reconocimiento de bordes. Se especifica como material de posprocesamiento.

En este artículo hablaré del segundo método, porque... es más fácil de integrar en proyectos existentes. Esta guía está escrita asumiendo que está familiarizado con los conceptos básicos de UE4 (específicamente, cómo funciona el Editor de materiales). Además, para comprender cómo implementar el algoritmo de reconocimiento de contornos en forma de material UE4, también serán útiles los conocimientos básicos en el campo del procesamiento de imágenes.

Pasos básicos

La realización del efecto de selección de contorno en forma de material de posprocesamiento se realiza en varias etapas:

  • Cree un material de posprocesamiento que resalte el contorno de los objetos con la opción Renderizar profundidad personalizada habilitada.
  • Agregar este material de posproceso a la lista Blendables, que se encuentra en los parámetros del bloque Volumen de posproceso.
  • Habilitar el parámetro Profundidad personalizada de renderizado para todas las mallas esqueléticas y estáticas para las que desea seleccionar un contorno

A continuación explicaré cada uno de estos pasos con más detalle. Si está aquí sólo para descargar el material, puede ir directamente a la sección "Descargas", que se encuentra al final del artículo.

mapa de profundidad

UE4 tiene una gran característica que le permite renderizar mallas individuales en un mapa de profundidad separado y luego usarlo en materiales. Este mapa de profundidad contiene información sobre la distancia entre cada píxel, tanto en las coordenadas mundiales como en el campo de visión de la cámara. Un mapa de profundidad típico se parece a esto:

Nuestro mapa de profundidad es similar, excepto que solo muestra objetos que tienen habilitada la opción Renderizar profundidad personalizada:

El mapa de profundidad simplifica significativamente el uso de efectos como la selección de contornos, cuya creación es el tema central de este artículo.

creacion de material

La etapa más difícil. Crearemos un material que implementará el operador Sobel, plegado con un mapa de profundidad personalizado. En otras palabras, aplicaremos un filtro de reconocimiento de bordes al mapa de profundidad personalizado.

Comencemos con el algoritmo de convolución. Hay algunas matemáticas bastante sofisticadas detrás de esto, pero en realidad todo se reduce a unos pocos pasos simples.

  • Tome el píxel P
  • Tome 8 píxeles PN adyacentes al píxel P
  • Multiplicamos los valores de píxeles P y PN por los valores en el núcleo de convolución (es decir, hacemos 9 multiplicaciones)
  • Suma los valores resultantes.
  • Devolviendo el resultado

Primero necesitas usar el mapa de profundidad. Esto se hace simplemente: agregue un nodo Textura de escena y conéctelo al Color Emisivo del material. También configure el ID de textura de escena en CustomDepth.

Ahora usemos los píxeles adyacentes. Para hacer esto, puede usar el parámetro UV en el nodo Textura de escena. Pero el problema es que los parámetros UV funcionan en coordenadas de textura, es decir. use valores desde “0.0” (esquina superior izquierda de la textura) hasta “1.1” (esquina inferior derecha de la textura). Por lo tanto, debemos tomar los valores de alto y ancho de la textura invertida, multiplicarlos por el desplazamiento desde el centro de la celda (-1, -1) y luego agregarlos a las coordenadas UV del píxel actual. De esta forma seleccionaremos el píxel superior izquierdo.

En el Editor de materiales se verá así:

Ahora hacemos lo mismo con los siete píxeles adyacentes restantes. Como resultado, el cálculo del desplazamiento de los ocho píxeles adyacentes se verá así:

Entonces, tenemos un conjunto de parámetros UV para todos los píxeles adyacentes, por lo que ahora podemos usar los datos del mapa de profundidad personalizado. Creé una función de material simple para esto: toma coordenadas UV como entrada y luego devuelve el valor del píxel procesado.

Si utilizamos esta función para procesar datos de píxeles adyacentes, entonces, de hecho, tendremos todos los datos necesarios para el reconocimiento de contornos. Ahora creemos otra función material que hará la convolución.

En el lado izquierdo hay dos conjuntos de parámetros de entrada. Los primeros 9 vectores son simplemente los valores de píxeles que procesaremos. Los otros 3 vectores se utilizan para los valores del núcleo de convolución. Básicamente es solo una matriz de 3x3, pero como UE4 Material Editor no tiene un tipo de datos para una matriz, hice la mía propia usando los parámetros Vector3.

Entonces hemos recopilado todas las piezas del algoritmo. Ahora sólo queda combinarlos dentro del material final.

El operador de Sobel implica esencialmente dos funciones de convolución: vertical y horizontal. Probablemente hayas notado que la única diferencia entre los dos es la entrada del núcleo de convolución.

Ahora combinemos estos dos valores.

A continuación, abra el editor de materiales, cree un vector utilizando los valores calculados y luego devuelva la longitud del vector. El resultado será una imagen negra con un contorno alrededor de las mallas que tienen habilitada la Profundidad personalizada de renderizado. Ya solo queda mezclar el efecto resultante con la imagen final. En mi caso, usaré el operador "SI", pero tú puedes incrustar el algoritmo a tu manera. No hay nada complicado en esto.

NOTA: Asegúrese de que su material esté en el dominio de posproceso y no en el dominio de superficie (es decir, el "dominio de material"; esta es la configuración a través de la cual configura para qué se utilizará el material). Esto se puede cambiar en las propiedades del material.

Configuración de escena

Ahora que el material está listo, debemos agregarlo a la lista de efectos de posproducción de la escena. Seleccione el bloque Volumen de posproceso para su escena y busque el elemento Blendables. Agregue un nuevo componente a la lista Blendables y luego seleccione el material que creamos de la lista. Si no tiene un bloque de posprocesamiento en su escena, cree uno. También asegúrese de que la propiedad Unbound del bloque Post Process esté establecida en verdadero. De lo contrario, el jugador solo verá el efecto de fila si está dentro del bloque Volumen posterior al proceso.

Para verificar el resultado, coloque algo de malla en la escena y active su parámetro Profundidad personalizada de renderizado.

Cianotipo

Configuré la escena para que el efecto de fila solo apareciera en la retícula estática si el jugador apuntaba hacia ella. Decidí usar la plantilla FPS. Además, agregué la función Trace al plano MyCharacter. Se llama mediante un temporizador que marca cada 0,1 segundos y comprueba si el jugador está mirando una cuadrícula estática. Si parece, el parámetro Profundidad personalizada de renderizado está configurado en "verdadero". Si el jugador deja de apuntar a la retícula, la variable Profundidad personalizada de renderizado cambia a "falso". Puede ver cómo funciona todo en el archivo, cuyo enlace se encuentra a continuación en la sección "Descargas".




Arriba