Crear y editar materiales estándar en Unreal Engine puede ser un proceso que lleve mucho tiempo. Para contribuir a acelerar y optimizar el flujo de trabajo de creación de materiales, Unreal Engine ofrece un tipo especial de material llamado Instancia de material. Este tutorial muestra cómo configurar y utilizar instancias de material en tus proyectos.
Instancias de material
Las instancias de material son una forma de crear un material principal que puedes utilizar como base para crear una amplia variedad de materiales secundarios de diferente aspecto (instancias de material).
Para lograr esta flexibilidad, Instancias de material utiliza un concepto llamado herencia: las propiedades del material principal se pasan a sus materiales secundarios. Las propiedades designadas como parámetros en el material principal se muestran a los artistas en el Editor de instancias de material.

Utilizando instancias de material, puedes crear numerosas variaciones de un solo material base:

La creación de instancias de material es un proceso de dos pasos
- Primero crea un material parametrizado, que utilizarás como material principal para tus instancias.
- Crea una Constante de instancia de material en el Explorador de contenido. A continuación, puedes personalizar el material en el Editor de instancias de material.
Si quieres información contextual adicional sobre las instancias de material, lee la descripción general aquí.
Creación de un material parametrizado
Una instancia de material hereda todos los atributos de su material principal, pero no todos estos atributos se pueden personalizar en el Editor de instancias de material de forma predeterminada.
Para hacer los atributos de material editables en una instancia de material, debes designar determinados atributos como parámetros utilizando nodos de parámetros en vez de Expresiones de material normales.
Hay dos formas de añadir nodos de parámetros a tu gráfico de material.
Adición de nodos de parámetros desde la paleta de material
Si buscas la palabra "parámetro" en la Paleta de material, o en el menú contextual del Editor de material, encontrarás todos los nodos de parámetros disponibles.
Puedes arrastrar estos nodos de parámetros desde la Paleta y soltarlos o seleccionarlos en el menú contextual para añadirlos a tu gráfico de material.

Parámetros del menú contextual (izquierda) y la paleta de materiales (derecha).
Atajos de teclado de los parámetros
Dos de los parámetros de material más utilizados tienen atajos de teclado en el Editor de material:
- Parámetro escalar: mantén pulsada la tecla s y haz clic en el gráfico de material para colocar un parámetro escalar. Un parámetro escalar es la versión parametrizada de una constante, y contiene un solo valor numérico.
- Parámetro vectorial: mantén pulsada la tecla v y haz clic en el gráfico de material para colocar un parámetro vectorial. Un parámetro vectorial es la versión parametrizada de un cuadrivector constante y contiene cuatro valores de punto flotante.
Utiliza el atajo de teclado o la paleta para colocar un parámetro escalar en tu gráfico de material:

Ponle un nombre al parámetro Dureza y conéctalo a la Entrada de material correspondiente.
Valor predeterminado e intervalo de valores
Si quieres configurar un valor predeterminado para el parámetro o limitar el intervalo de valores, puedes hacerlo en el panel de detalles.

Por ejemplo, la entrada Dureza acepta un valor de 0 a 1. Para asegurarte de que el parámetro Dureza esté siempre dentro de este intervalo esperado, ajusta los valores de Mínimo del control deslizante y Máximo del control deslizante en 0 y 1.
Si quieres un valor predeterminado de Dureza que no sea 0, introdúcelo en el campo Valor predeterminado.
Selecciona el parámetro Dureza y pulsa Ctrl+D para duplicar el nodo. Cambia el nombre del segundo parámetro escalar, Metálico, y conéctalo a la entrada adecuada. Ahora tu gráfico debería tener este aspecto:

Conversión de un nodo en un parámetro
También puedes convertir expresiones de material estándar en parámetros dentro de un gráfico de material existente.
A modo de demostración, coloca un nodo Constant3Vector en tu gráfico de material. Esta es una expresión de material estándar (no parametrizada), que suele utilizarse para definir el color básico de un material.

Para convertir este nodo en un parámetro, haz clic con el botón derecho en el nodo y selecciona Convertir en parámetro en el menú contextual.

Recuerda poner al parámetro un nombre único descriptivo, como BaseColor. El campo de nombre se selecciona automáticamente cuando conviertes un nodo.

Puedes cambiar el color en el campo Valor predeterminado que se muestra arriba, o puedes hacer doble clic en el nodo BaseColor para abrir el selector de color.

No puedes parametrizar todos los nodos de material de Unreal Engine, pero la opción Convertir en parámetro está disponible en el menú contextual para cualquier expresión de material que se pueda parametrizar.
Ejemplo de material parametrizado
Tu gráfico de material ya debe contener un parámetro vectorial conectado a BaseColor y dos parámetros escalares, conectados a las entradas Metálico y Dureza:

Estos tres parámetros te permitirán cambiar el color, la dureza y las propiedades metálicas del material cuando crees una instancia de material.
Haz clic en Aplicar en la esquina superior izquierda del Editor de material para compilar el material y, a continuación, haz clic en Guardar.

Creación de una instancia de material
Ahora que tienes un material sencillo parametrizado, puedes crear instancias de material y personalizarlas en el Editor de instancias de material.
Para crear una instancia de material, haz clic con el botón derecho en tu material en el Explorador de contenido y selecciona Crear instancia de material en el menú.

Tu instancia de material obtendrá su nombre del material que utilices para crearla. Para cambiar el nombre de la instancia de material, selecciónalo y pulsa F2 o haz clic en el campo de nombre.

Edición de una instancia de material
Haz doble clic en la instancia de material en el Explorador de contenido para abrir el Editor de instancias de material.

El Editor de instancias de material es la interfaz en la que puedes personalizar parámetros de material para producir variaciones de tu material principal con diferente aspecto.
Una instancia de material en el Editor de instancias de material.
Ajuste de parámetros de material
Los parámetros de material están en el panel de detalles, en la parte derecha del Editor de instancias de material. Ten en cuenta que estos parámetros toman sus nombres de los nodos de parámetros de tu gráfico de material original.
Utiliza los siguientes pasos para editar un parámetro:

- Marca el cuadro situado junto al parámetro para habilitar su edición.
- Escribe un nuevo valor en el campo o haz clic en él y arrastra para deslizar el valor hacia arriba y hacia abajo. En los parámetros vectoriales, haz clic en el muestrario de colores para activar el selector de color.
- Para restablecer el valor predeterminado de un parámetro, haz clic en el icono de flecha que se muestra aquí.
Cuando ajustas los parámetros, la vista previa de material se actualiza en tiempo real en el Editor de instancias de material y en el nivel si el material está aplicado actualmente a algún actor.
Uso de grupos de parámetros
Puedes ordenar tus parámetros en Grupos de parámetros para mejorar la organización y la legibilidad de tus instancias de material.
Aunque el ejemplo anterior, con solo tres parámetros, es fácil de leer, la interacción con los materiales maestros muy parametrizados puede ser ineficiente si no utilizas grupos de parámetros.
El control deslizante que aparece a continuación muestra una instancia de material con y sin grupos. En el ejemplo sin grupos de parámetros, los parámetros escalares aparecen en una sola lista sin organizar. La instancia con grupos de parámetros está perfectamente organizada por atributo de material.


Cómo utilizar los grupos de parámetros
Los grupos de parámetros se configuran en el material principal, no en la instancia de material. Esto se hace en el panel de detalles del Editor de material.
Selecciona un nodo de parámetros de material en tu gráfico de material.

En el panel de detalles, escribe un nombre en el campo Grupo. Puedes ponerles a tus grupos el nombre que quieras, pero te sugerimos que agrupes los parámetros por el atributo de material que controlan.

Cuando asignas un nombre de grupo de parámetros a una expresión de parámetro de material, ese nombre aparece en el menú desplegable situado junto al campo Grupo.
Para el resto de tus parámetros, puedes escribir nuevos nombres de grupo o seleccionar uno de los grupos de parámetros existentes en el menú desplegable.

Ordenamiento de parámetros en grupos
Puedes utilizar el campo Prioridad de orden para cambiar el orden en el que aparecen los parámetros en un grupo. De forma predeterminada, todos los parámetros aparecen por orden alfabético, que puede ser un orden confuso o ineficiente en el Editor de instancias de material. En el control deslizante que se muestra a continuación, los controles de desplazamiento y mosaico UV se rompen cuando aparecen por orden alfabético; sin embargo, si se asigna un valor de prioridad de orden a cada parámetro, la experiencia mejora.


Para cambiar el orden de un parámetro, selecciona el nodo e introduce un nuevo valor en el campo Prioridad de orden en el panel de detalles.

Ordenamiento de grupos de parámetros
De forma predeterminada, los grupos de parámetros aparecen por orden alfabético en el Editor de instancias de material.
Hay dos formas de cambiar el orden de tus grupos de parámetros. Una solución es, simplemente, añadir números a tus nombres de grupo.
El material principal de megascans utiliza este método, y numera los grupos de parámetros así: 00-07.

Esto permite que los grupos de parámetros se muestren en el mismo orden en el que aparecen en el nodo de material principal.
Prioridad de orden de grupo
También puedes utilizar la propiedad Prioridad de orden de grupo del panel de detalles para cambiar el orden de tus grupos de parámetros. Esta propiedad está en el material principal, no en la instancia de material.
- Anula la selección de todos los nodos del gráfico de material para acceder a sus propiedades de material.
- En el panel de detalles, expande Ordenamiento de grupos y, a continuación, Datos de grupo de parámetros.
-
La matriz de esta sección muestra todos los parámetros de tu material. Expande cada índice y cambia la Prioridad de orden de grupo para modificar el orden de los grupos.
Cambio del material principal de una instancia de material
En el Editor de instancias de material puedes cambiar fácilmente el material principal utilizado por una instancia de material.
Para cambiar el material principal, abre una instancia de material en el Editor de instancias de material. En la sección General del panel de detalles, busca la propiedad Principal.

Utiliza el menú desplegable para buscar y seleccionar un material principal diferente. También puedes seleccionar un material en el Explorador de contenido y hacer clic en el botón Utilizar recurso seleccionado en el Explorador de contenido (flecha izquierda).
Ten en cuenta que, si cambias el material principal, pueden cambiar por completo el aspecto y las propiedades de la instancia de material. Es posible que los parámetros que utilizabas antes ya no estén disponibles en el nuevo material principal.

Por ejemplo, si seleccionas el material M_Metal_Gold en la lista desplegable, los tres parámetros que estaban presentes en el ejemplo M_Parameterized (dureza, metálico y color básico) ya no estarán disponibles en la instancia dorada.

Conclusión
Las instancias de material son una potente herramienta que puedes utilizar en todos los aspectos de tu proyecto. Pueden servirte para cualquier cosa, desde facilitar la adición de cierto grado de variación en las armas y los objetos hasta ayudar a los artistas a hacer un mejor uso de los materiales disponibles. Las instancias de material pueden contribuir a optimizar y unificar la forma de crear y utilizar materiales en tu proyecto.