Comprender cómo se representan y manipulan los datos en el editor de materiales es uno de los conceptos de principios en la creación de materiales en Unreal Engine. Las entradas en el nodo de material principal, que definen los atributos físicos de un material, se programan para aceptar un tipo específico de datos. Similarmente, muchos de los nodos de expresión de material utilizados para crear materiales no se compilarán a menos que reciban un tipo específico d datos en sus entradas.
En esta página, se proporcionan una descripción general de los cuatro tipos de datos disponibles en el editor de materiales y ejemplos de cómo se usan frecuentemente.
Tipos de datos Float
En los gráficos por computadora, Float es un tipo de datos que almacena un valor numérico único, positivo o negativo. Float es la designación abreviada de punto flotante, que significa que el número contiene un lugar decimal y no necesita ser un número entero (o entero). Los ejemplos de valores Float pueden incluir 1,0 -0,5; o 2,0.
En definitiva, todos los tipos de datos en el editor de materiales son variaciones de la variable Float. Donde difieren es en la cantidad de valores que almacenan. Mientras que un Float representa un número único, float2 almacena dos valores de punto flotante discretos. Por ejemplo: (1,0; 0,5).
En la siguiente tabla, se detallan los cuatro tipos de datos disponibles en el editor de materiales.
| Tipo de datos | Expresiones de material | Estructura de datos | Usos comunes |
|---|---|---|---|
| Float | Constante, Parámetro escalar | (r) | Metálico, Rugosidad, operaciones aritméticas |
| Float2 | Constant2Vector | (r, g) | Coordenadas UV o XY, escala |
| Float3 | Constant3Vector | (r, g, b) | Color (r, g, b) o coordenadas 3D (x, y, z) |
| Float4 | Constant4Vector, Parámetro vectorial, Texturas | (r, g, b, a) | Color con canal alfa, Texturas (r, g, b, a) |
Float
Como se describe arriba, un Float almacena un único valor de punto flotante. Puede ser positivo o negativo y contiene un lugar decimal. Hay dos expresiones de material que puedes usar para definir un Float.
Expresión de material de constante
Un nodo de expresión de material de constante" almacena un valor Float de constante único. Como es una constante, este valor no cambia una vez que se compila el material. La imagen a continuación muestra un nodo de constante que contiene un valor de 1,0**.
Parámetro escalar
Un parámetro escalar también almacena un Float. A diferencia de una constante, el parámetro escalar también se convierte en una variable con nombre que puedes modificar en una instancia de material una vez que se compila el material, o incluso en tiempo de ejecución. La imagen siguiente muestra un parámetro escalar con un nombre de rugosidad y un valor predeterminado de 0,6. Podrías usar esto para definir el atributo de rugosidad del material, a la vez que proporcionas a los artistas una manera de anular el valor en una instancia de material.
Para obtener más información sobre cuándo y cómo usar parámetros escalares en vez de constantes, lee la documentación sobre materiales instanciados.
Ejemplos
Algunas entradas en el nodo de material principal se definen mediante un valor Float. Por ejemplo, las [entradas] Metálico, Especular y Rugosidad (designing-visuals-rendering-and-graphics/materials/material-inputs) aceptan un valor Float entre 0 y 1. Por lo tanto, puedes transferir una expresión de material de constante o un parámetro escalar directamente al nodo de material principal para definir estos atributos.
Los parámetros de constantes y escalares se utilizan a menudo para controlar la magnitud de algunos efectos. A continuación, un parámetro escalar denominado Potencia emisiva se multiplica por un color sólido y se transfiere a la entrada Color emisivo. Al cambiar el valor en el parámetro Potencia emisiva, la salida emisiva se hace más brillante o más tenue.
Float2
Un valor Float2 almacena dos valores numéricos. Por ejemplo: (2,0; 3,0).
En el editor de materiales, la expresión de material Constant2Vector se utiliza para definir un valor Float2. Abajo se muestra una instancia de Constant2Vector con valores de 2,0 y 3,0 en cada uno de sus dos canales.
Constant2Vector
Constant2Vector es útil cada vez que necesitas definir o modificar un atributo que requiere datos de dos canales. En el panel Detalles, los dos valores están etiquetados como R y G, en referencia a los canales rojo y verde en color rgb, pero ese es solo un uso posible. Las coordenadas (UV, XY) y escala (ancho, alto) son otros atributos que podrías definir con Constant2Vector.
En el ejemplo siguiente, se agrega Constant2Vector a un nodo de coordenadas de texturas para modificar la posición de la textura en un plano. En la primera diapositiva, los valores en Constant2Vector son (0, 0), así que la posición de la textura no cambia.

Los valores en Constant2Vector controlan la posición de la textura.
Cuando el valor R se cambia a 0,5, la textura cambia en el eje horizontal, porque se agrega a la coordenada U de la textura. Esto hace que los bordes izquierdo y derecho del plano queden envueltos con la textura. Cuando el valor G se cambia a 0,5, la textura cambia a la posición vertical. El centro de la textura ahora está en las cuatro esquinas del plano.
Float3
Una instancia de Float3 almacena tres valores numéricos. En el editor de materiales, el nodo de Constant3Vector se utiliza para definir un valor Float3.
Constant3Vector
En Unreal Engine, el color de un píxel se define con tres valores que representan los canales de color rojo, verde y azul. Por lo tanto, un uso común para Float3 es definir un color sólido.
Si haces doble clic en un nodo de Constant3Vector, aparece un cuadro de diálogo del selector de colores, que te permite seleccionar un color con la rueda o la herramienta de cuentagotas. El selector de color también proporciona campos para introducir valores RGB, HSV o Hex si necesitas crear un color específico. También puedes iniciar el selector de colores si haces clic en el muestrario de colores en el panel Detalles.
Un segundo caso de uso para Float3 es definir las coordenadas (x, y, z). Por ejemplo, la entrada Desplazamiento de la posición del entorno acepta tres valores, que definen cuántas unidades está desplazado el material en los ejes x, y, z en el espacio del entorno.
En las cuatro diapositivas siguientes, cada valor en Constant3Vector se cambia a 800. Puedes ver cómo cambia la posición de la esfera, primero en el eje x, luego en el eje y y después en el eje z en la tercera diapositiva.

La entrada Desplazamiento de la posición del entorno toma tres valores para desplazar el material por los ejes x, y, z.
Parametrización de Constant3Vector
Si deseas parametrizar una instancia de Constant3Vector, haz clic con el botón derecho del mouse en ella y y elige Convertir a parámetro en el menú contextual. Esto convierte el nodo en un parámetro vectorial. El nodo de parámetro vectorial almacena cuatro valores (r, g, b, a), por lo tanto, es un Float4.
Sin embargo, cualquier entrada que requiere un Float3 simplemente utilizará los primeros tres valores y descartará el cuatro. Por ejemplo, la entrada Color base acepta un valor Float3. Si conectas un parámetro vectorial a Color base, se utilizarán los canales R, G y B, y se descartará el cuarto valor (el canal alfa). Debido a que Unreal Engine sabe qué canal descartar, puedes usar con seguridad un parámetro vectorial cuando necesitas parametrizar un valor Float3, por más que el nodo sea técnicamente un Float4.
Float4
Un valor Float4 almacena cuatro valores de punto flotante. Por ejemplo: (50,0; 0,0; 100,0; 0,5). Hay dos expresiones de material que se utilizan comúnmente para definir un Float4.
Constant4Vector
Constant4Vector almacena cuatro valores de constante. Constant4Vector se utiliza principalmente para representar el color RGBA, es decir, el color con un canal alfa. Al igual que Constant3Vector, puedes hacer doble clic en el nodo o hacer clic en el muestrario del panel Detalles para acceder al selector de colores.
Parámetro vectorial
Un parámetro vectorial es un Float4 parametrizado. Puedes crear un parámetro vectorial directamente desde la paleta o la lata. El uso más común de un parámetro vectorial es crear parámetros de color en un material que los artistas pueden anular con facilidad en las instancias de material. Por ejemplo, multiplicar un parámetro vectorial encima de una textura es una forma de agregar un control de tinte a algunos aspectos del material (como color base y emisivo).
Además de su utilidad en un flujo de trabajo de materiales parametrizado, el parámetro vectorial tiene una ventaja adicional. A diferencia de cualquier ejemplo anterior en esta página, cada canal de datos individual en un parámetro vectorial es accesible a través de los cinco pines de salida a la derecha del nodo. Según se etiquetan arriba, estos son:
- RGBA: muestra todos los valores en Float4. En el ejemplo de arriba: (0,0; 1,0; 0,5; 0,0).
- R: muestra el valor en el canal R solamente.
- G: muestra el valor en el canal G solamente.
- B: muestra el valor en el canal B solamente.
- A: muestra el valor en el canal A solamente.
Esto enfatiza un aspecto importante de la creación de materiales. En definitiva, la información que fluye a través de un gráfico de material está compuesta por los valores de punto flotante empaquetados y representados de distintas maneras. Aunque los canales de un parámetro vectorial están etiquetados RGBA en el panel Detalles, no significa que es necesario usarlos de esa forma en el material.
Más allá de representar color, podrías usar un parámetro vectorial para parametrizar cuatro valores discretos, pero relacionados. El nodo se usa de esta forma en el material principal de Megascans, donde se utiliza un parámetro vectorial para parametrizar el diseño UV y el desplazamiento del material.
Ten en cuenta que en este ejemplo se cambió el nombre de los canales RGBA a Diseño X, Diseño Y, Desplazamiento X y Desplazamiento Y. Puedes cambiar el nombre de los canales de un parámetro vectorial en el panel Detalles en Personalización de parámetros > Nombres de canales. Estos nombres son visibles en el editor de instancias de material cuando un artista anula valores de parámetros.
Lee más sobre el nodo de parámetro vectorial aquí, y obtén información adicional sobre parametrización de materiales en estas páginas.
Lectura adicional
Los cuatro tipos de datos presentados en esta página forma la base de toda la información que viaja por el gráfico de material. Es importante entender que los tipos de datos no necesariamente son inmutables. Por ejemplo, puedes combinar dos Float para formar un Float2. De manera similar, puedes extraer o aislar un único Float de un tipo de datos más grande.
Sigue leyendo sobre cómo manipular tipos de datos y reglas para realizar operaciones aritméticas en un gráfico de material aquí: Aritmética y manipulación de datos de materiales.