El sistema de materiales en Unreal Engine ofrece un editor de materiales basado en nodos mediante el cual conectas texturas, operaciones matemáticas, parámetros y expresiones para crear el aspecto de una superficie. El sistema de materiales optimiza y brinda materiales en tiempo real.
Para un usuario de Maya, este flujo de trabajo sería más parecido a cómo se construyen materiales en Hypershade, pero con algunas diferencias fundamentales.
Los materiales en Unreal Engine se construyen con lo siguiente:
Un editor de materiales simplificado, basado en nodos para flujos de trabajo y previsualización en tiempo real.
La renderización con base física (PBR) que resalta el realismo a través de entradas de propiedad definidas, como color base, metálico, rugosidad, especular y mapas normales.
Respuestas en tiempo real con cambios a los materiales, en el visor de vista previa con reflejos e iluminación en tiempo real.
Flujos de trabajo basados en parámetros con instancias de material para realizar ajustes a los materiales mediante anulaciones sin la necesidad de volver a compilar el material de base.
Atributos definitorios de un material
Los atributos que definen cómo un material se renderiza y reacciona a la iluminación y superficies en Unreal Engine se determina por sus propiedades, entradas de material y lógica de gráfico de material.
Propiedades y entradas del material
En el editor de materiales, podrás configurar los atributos definitorios de un material desde el panel de detalles. Existen tres propiedades principales que necesitarás considerar para el tipo de material que estás creando. Estas propiedades definen las entradas en el nodo de material principal que usarás para configurar el aspecto de tu material en el gráfico de material.
El dominio de material define para qué se puede usar el material en tu proyecto. Por ejemplo, una superficie en 3D, una interfaz de usuario, posprocesamiento, funciones de luz o calcomanías.
El modo de integración define cómo se integra el material con los píxeles de color del fondo que lo rodea. Por ejemplo, esto puede ser opaco, traslúcido, con máscara, además de otros tipos de opciones de integración.
El modelo de sombreado define cómo interactúa el material con la luz, lo que determina su apariencia visual y comportamiento de iluminación de superficies. Por ejemplo, los modelos de sombreado de tela y cabello usan diferentes entradas de material para lograr realismo en sus superficies comparado con el modelo de sombreado de iluminación predeterminada. Algunos modelos de sombreado añaden más complejidad y costo de rendimiento a sus materiales.
Con este conjunto de propiedades de material, puedes construir un material con las entradas disponibles en el nodo de material principal en el gráfico de material. La lista de entradas se atribuye directamente al dominio, modo de integración y modelo de sombreado que estén configurados para el material que estás desarrollando. Para la mayoría de materiales creados en Unreal Engine, usarás lo siguiente:
A continuación, puedes ver un ejemplo de las diferentes entradas en el nodo de material principal al cambiar solo el modo de integración para usar diferentes salidas.
Dominio de material: superficie Modo de integración: opaco Modelo de sombreado: iluminación predeterminada | Dominio de material: superficie Modo de integración: traslúcido Modelo de sombreado: iluminación predeterminada | Dominio de material: superficie Modo de integración: enmascarado Modelo de sombreado: iluminación predeterminada |
Debajo, hay algunos nombres de entradas comunes que se usan con los materiales de Hypershade de Maya y su equivalente en Unreal Engine. Esto también incluye su tipo de entrada de origen típico para cada una de estas entradas en Unreal Engine, al definir la lógica en el gráfico de materiales.
| Entradas de materiales de Hypershade de Maya | Entradas de material de Unreal Engine | Tipo de origen típico | Descripción de entrada de material |
|---|---|---|---|
Color | Color base | Textura o color | El color difuso principal de una superficie. |
Reflectividad | Metálico | Textura o escalar | Define si la superficie es metal (1) o no metal (0) en apariencia. |
Rugosidad | Rugosidad | Textura o escalar | Controla la suavidad de la superficie de suave (0) a rugoso (1). |
Reflectividad | Especular | Textura o escalar | Controla la intensidad reflectante de una superficie no metálica, de no reflectante (0) a reflectante (1). |
Relieve / Normal | Normal | Textura de mapa de normales | Aplica detalle de superficie con mapas de textura. |
Emisión / Color de emisión / Incandescencia | Color emisivo | Color o textura | Controla la intensidad de autoiluminación desde una superficie. |
Transparencia / Traslucidez | Opacidad | Textura o escalar | Controla cuán traslúcida es la superficie, desde completamente transparente (0) a opaco (1). |
Color de ambiente | Oclusión ambiental | Textura | Controla la intensidad de las sombras indirectas. |
Para más información y ejemplos sobre el uso de estas propiedades de material y sus entradas en materiales, consulta los siguientes temas:
Gráfico de materiales
El gráfico de materiales es el editor basado nodos donde conectarás tus texturas, expresiones, operaciones matemáticas y valores entre sí para definir el aspecto de una superficie. Los materiales pueden ser tan simples o complejos como lo necesites, para definir una superficie.
Los tipos de nodos comunes que usarás son los siguientes:
Muestra de textura
Este nodo esa los recursos de textura, como mapas de color y mapas de normales.
Constantes
Estos son números de valor único útiles para controlar propiedades escalares, como valores de entrada en un nodo de interpolación lineal, o para conectar directamente las entradas del nodo material principal para Metálico, Rugosidad u Opacidad.
Nodos de matemáticas
Estas son operaciones matemáticas para Añadir, Multiplicar, Restar, Dividir, Interpolación lineal (lerp), Potencia, Fijación, etc.
Nodos de utilidad
Estos son nodos que ayudan a construir lógica con otros nodos en el gráfico. Estos incluyen expresiones para Fresnel, vector de cámara, posición del entorno, coordenadas de texturas, etc.
Para obtener más información sobre el uso de lógica en el gráfico de material y funcionalidad general aquí, consulta los siguientes temas:
Notas adicionales sobre los materiales y las texturas
A continuación, podrás encontrar descripciones de alto nivel de temas relacionados con el desarrollo de materiales en Unreal Engine. Para obtener más información sobre descripciones en detalle de estos conceptos y aplicaciones, consulta sus páginas de documentación enlazadas.
Materiales e instancias de material
El sistema de materiales de Unreal Engine se construye con la personalización y la parametrización en mente para lograr una iluminación y un renderizado en tiempo real. Una manera de optimizar el trabajo con materiales es usar la instanciación de material como medio para personalizar parámetros sin afectar el material original del que deriva.
Entonces, si un material es el recurso primario que define cómo se ve e interactúa la superficie de un objeto con iluminación, una instancia de material usa atributos y parámetros del material base o derivado para anular estos valores, para crear variedad y personalización. Esto también puede ser más económico que usar materiales individuales para todos los objetos.
Puedes dividir las características de los materiales e instancias de material de las siguientes maneras:
| Características del material | Características de instancias de material |
|---|---|
Creado con un editor basado en nodos. | Utiliza un editor controlado por parámetros expuestos que pueden anularse desde el material de base. |
Contiene todas las entradas de características posibles de un material, como color, metálico, rugosidad, opacidad, etc. | Proporciona acceso únicamente a parámetros expuestos desde el material base que pueden anularse. |
Los cambios en el material necesitan recompilación antes de que se puedan previsualizar los cambios. | Proporciona respuestas en tiempo real para cambiar los parámetros mediante los cuales no necesitan que el material se recompile. |
El gráfico de material puede tener cualquier nivel de complejidad para alcanzar sus requisitos visuales. | El acceso únicamente a parámetros expuestos significa que esto mejora la eficiencia del flujo de trabajo y el rendimiento. |
Cambiar este material afecta todos los objetos que lo usan. | Cambiar esta instancia de material afecta únicamente a los objetos que lo usan, lo que las hace ideales para crear varias superficies que se ven similares y que parten de la misma base derivada con características similares. |
El mejor momento para pensar en usar una instancia de material junto con un material es cuando solamente necesitas personalizar detalles y ajustar parámetros, como el color de los materiales, sus texturas, escalamiento, y así. Deber crear nuevos materiales base cuando necesitas definir un comportamiento visual nuevo y el estilo (como opaco versus traslúcido) necesita que se configure una nueva lógica en el gráfico de material.
Los materiales, por lo general, necesitan un tiempo de configuración inicial más alto y son menos amigables con el rendimiento que el uso de una instancia de material para materiales con atributos y propiedades similares.
Para obtener más información sobre el uso de materiales con instancias de material en tu proyecto, consulta los siguientes temas:
Texturas
Como en Maya, las texturas son mapas de imagen que aplicas a los atributos de entrada del material que estás creando, como el color base, normal, rugosidad, para definir los detalles de una superficie. En Unreal Engine, son más importantes los conceptos de renderización basados en física y la respuesta en tiempo real al momento de desarrollar tus materiales.
Cuando importas texturas, puedes abrirlas en el editor de recursos de textura donde puedes ver información sobre ellas, configurar sus ajustes y hacer algunas adaptaciones.
Puedes hacer lo siguiente para mejorar y trabajar más eficientemente con las texturas en Unreal Engine:
Crea y ajusta las texturas con herramientas de terceros antes de importarlas.
Usa técnicas de empaquetado de canales para combinar múltiples texturas de escala de grises para entradas de material, como rugosidad, metálica y oclusión ambiental, en texturas únicas de RGB. Esto puede optimizar el rendimiento al referenciar una única textura en lugar de varias texturas diferentes.
El motor usa automáticamente la compresión de texturas, pero entender cómo aprovechar esto puede mejorar el rendimiento y la fidelidad visual.
Ten en cuenta los tamaños de la textura. Para el rendimiento en tiempo real, es ideal contar con las dimensiones de potencia de dos (128, 512, 1024, etc.) para texturas. Las texturas que no son de potencia de dos no usan el sistema de transmisión de textura del motor, que puede conducir a artefactos visuales a la distancia.
Para obtener más información sobre el uso de texturas en Unreal Engine, consulta los siguientes temas:
Marco de material de Substrate
El marco de material de Substrate de Unreal Engine es un enfoque para crear materiales que reemplazan el conjunto fijo de modelos de sombreado y modos de integración con un marco más expresivo y modular. La creación de materiales es la misma que con el sistema de materiales estándar; sin embargo, no te obliga a tener materiales individuales que usan un único modelo de sombreado y modo de integración. Puedes integrarlos uniformemente en este flujo de trabajo para crear materiales únicos con mayor complejidad.
Para obtener más información sobre el uso de Substrate en tus proyectos y los flujos de trabajo de creación de materiales, consulta Presentación de materiales de Substrate.
Renderización con base física con materiales
Unreal Engine usa renderización con base física (PBR) para sombrear y renderizar que simula apropiadamente el comportamiento de la interacción de la luz con superficies. Esto proporciona interacciones de luz físicamente viables para crear gráficos realistas y, más importante aún, predecibles en diferentes condiciones de iluminación, como luz solar directa versus iluminación interna, o incluso superficies fotorrealistas versus efectos estilizados, desde aspectos pintados a mano hasta sombreado plano.
Los principios clave que hay que tener en cuenta cuando se trabaja con materiales PBR en Unreal Engine son los siguientes:
Interacciones de iluminación realistas donde las superficies respondan apropiadamente y predeciblemente a diferentes configuraciones de iluminación, ya sea iluminación natural (exterior) o artificial (interior).
Consistencia con materiales para lucir correctos a lo largo de diferentes escenas y escenarios de iluminación.
Un flujo de trabajo mediante el cual los artistas definan materiales por sus propiedades físicas en lugar de valores arbitrarios, que pueden reducir la especulación al realizar ajustes de iluminación y sombreado en un entorno en tiempo real con respuesta instantánea en la escena.
Para obtener más información, consulta Materiales basados en la física.
Siguiente página
Iluminación y renderización en Unreal Engine para usuarios de Maya
Una introducción a las funciones de iluminación y renderización de Unreal Engine para usuarios de Maya.