Parámetros de colecciones
Una expresión de parámetro de colección se utiliza para referenciar un recurso de colección de parámetros de material. Se trata de grupos de parámetros que es posible reutilizar fácilmente en muchos recursos distintos, como materiales, blueprints y otros.
Permiten modificar un valor global, una vez en la colección de parámetros, y hacer que se propague a varios materiales referenciados en la colección. Si quieres más información, consulta la documentación Material Parameter Collections (Colecciones de parámetros de material).
Un material puede hacer referencia, como máximo, a dos MaterialParameterCollections distintas. Una suele utilizarse para valores globales del juego, mientras que la otra puede utilizarse para parámetros específicos de un nivel. Una colección puede tener hasta 1024 parámetros escalares y 1024 parámetros vectoriales.
DynamicParameter
La expresión DynamicParameter proporciona un conducto para que los emisores de partículas pasen hasta cuatro valores al material y que se pueda usar de cualquier forma. Estos valores se establecen en Niagara mediante un módulo ParameterDynamic colocado en un emisor.
| Propiedad | Descripción |
|---|---|
Nombres de parámetros | Una matriz con los nombres de los parámetros. Los valores que aparecen aquí determinarán el texto que se mostrará en las salidas de la expresión en el editor de materiales y serán los nombres que se utilicen para referenciar los parámetros en el módulo ParameterDynamic en Niagara. |
Valor por defecto | Especifica los valores iniciales que generará el parámetro (Vector4). |
| Salidas | |
Param1 | Proporciona el valor del primer parámetro de la propiedad nombres de parámetros. El nombre de esta salida puede cambiar en función de los valores de la propiedad nombres de parámetros. |
Param2 | Proporciona el valor del segundo parámetro de la propiedad nombres de parámetros. El nombre de esta salida puede cambiar en función de los valores de la propiedad nombres de parámetros. |
Param3 | Proporciona el valor del tercer parámetro de la propiedad nombres de parámetros. El nombre de esta salida puede cambiar en función de los valores de la propiedad nombres de parámetros. |
Param4 | Proporciona el valor del cuarto parámetro de la propiedad nombres de parámetros. El nombre de esta salida puede cambiar en función de los valores de la propiedad nombres de parámetros. |
FontSampleParameter
La expresión FontSampleParameter proporciona una forma de exponer un parámetro basado en una fuente en una constante de instancia de material, lo que facilita el uso de distintas fuentes en distintas instancias. El canal alfa de la fuente contendrá el valor del contorno de la fuente. Solo se pueden especificar páginas de fuentes válidas.
| Elemento | Descripción |
|---|---|
| Propiedades | |
Nombre del parámetro | Especifica el nombre que se utiliza para identificar el parámetro en instancias del material y a través del código. |
Grupo | Proporciona una forma de organizar los nombres de los parámetros en grupos o categorías dentro de una constante MaterialInstanceConstant. Todos los parámetros de un material que tengan el mismo nombre de propiedad de grupo aparecerán en esa categoría en el editor de instancias. |
Fuente | Contiene el recurso de fuente por defecto (del explorador de contenido) que se incluirá en la expresión. |
Página de textura de fuente | La página de textura de la fuente actual que se usará como parte de la textura. |
Parámetro escalar
La expresión ScalarParameter proporciona un único valor float (constante) al que puedes acceder y cambiar en una instancia de material o sobre la marcha mediante blueprint o código.
| Propiedad | Descripción |
|---|---|
Nombre del parámetro | Especifica el nombre que se utiliza para identificar el parámetro en instancias del material y a través del código. |
Grupo | Proporciona una forma de organizar los nombres de los parámetros en grupos o categorías dentro de una constante MaterialInstanceConstant. Todos los parámetros de un material que tengan el mismo nombre de propiedad de grupo aparecerán en esa categoría en el editor de instancias. |
Valor por defecto | Especifica el valor inicial que toma la constante. |
Puedes actualizar el valor de un parámetro escalar y ver los resultados inmediatamente sin tener que recompilar el material.
Parámetro escalar actualizado de 0 a 10.
StaticSwitchParameter
La expresión StaticSwitchParameter admite dos entradas y proporciona la primera si el valor del parámetro es true, y la segunda en caso contrario.
Este parámetro se llama estático porque no puede cambiar durante el tiempo de ejecución; solo se puede establecer en el editor de instancia de material. Los interruptores estáticos se aplican durante la compilación, no durante la tiempo de ejecución. Esto significa que cualquier rama del material que se haya descartado nunca se ejecuta, por lo que los interruptores estáticos no generan carga adicional en tiempo de ejecución Por otro lado, se debe compilar una nueva versión del material por cada combinación de parámetros estáticos utilizada en un material, por lo que, si se abusa de su uso, puede provocar un gran aumento en las permutaciones de los sombreadores. Intenta minimizar el número de parámetros estáticos del material y el número de permutaciones de estos materiales que se utilizan realmente.
| Propiedad | Descripción |
|---|---|
Nombre del parámetro | Especifica el nombre que se utiliza para identificar el parámetro en instancias del material y a través del código. |
Grupo | Proporciona una forma de organizar los nombres de los parámetros en grupos o categorías dentro de una constante MaterialInstanceConstant. Todos los parámetros de un material que tengan el mismo nombre de propiedad de grupo aparecerán en esa categoría en el editor de instancias. |
Valor por defecto | Si es true, se proporciona la primera entrada. De lo contrario, se proporciona la segunda entrada. |
Visualización extendida de título | Si es true, la barra de título de las expresiones muestra el valor de la expresión. |
| Entradas | |
A | Admite un valor de cualquier número de canales. |
B | Admite un valor de cualquier número de canales. |
Ejemplos de uso: Puedes usar interruptores estáticos para eliminar una rama entera de un material sin coste de tiempo de ejecución. Las instancias de material pueden tener distintos valores, lo que hace posible tener una configuración de sombreadores con plantilla sin pérdida de rendimiento.
Interruptor estático actualizado de true a false.
StaticBoolParameter
StaticBoolParameter funciona como StaticSwitchParameter, con la excepción de que solo crea un parámetro booleano y no implementa el interruptor. Puedes usar un StaticBoolParameter para pasar un valor por defecto a una entrada booleana en una función de materiales.
| Propiedad | Descripción |
|---|---|
Nombre del parámetro | Especifica el nombre que se utiliza para identificar el parámetro en instancias del material y a través del código. |
Grupo | Proporciona una forma de organizar los nombres de los parámetros en grupos o categorías dentro de una constante MaterialInstanceConstant. Todos los parámetros de un material que tengan el mismo nombre de propiedad de grupo aparecerán en esa categoría en el editor de instancias. |
Valor por defecto | El valor booleano por defecto del parámetro. Puede elegirse entre true (marcado) o false. |
Los interruptores estáticos se aplican durante la compilación, no durante la tiempo de ejecución. Esto implica que puedes anular el parámetro en el editor de instancia de material, pero no se puede cambiar durante el juego. Cualquier rama del material que se haya descartado nunca se ejecuta, por lo que los interruptores estáticos no generan carga adicional en tiempo de ejecución Por otro lado, se debe compilar una nueva versión del material por cada combinación de parámetros estáticos utilizada en un material, por lo que, si se abusa de su uso, puede provocar un gran aumento en las permutaciones de los sombreadores. Intenta minimizar el número de parámetros estáticos del material y el número de permutaciones de estos materiales que se utilizan realmente.
Este nodo se usa con MaterialFunctions.
StaticComponentMaskParameter
La expresión StaticComponentMaskParameter se comporta como una máscara de componente normal, salvo que puedes anular los valores de enmascarado en una instancia de material.
Este parámetro se llama estático porque no puede cambiar durante el tiempo de ejecución; solo se puede establecer en el editor de instancia de material. Los interruptores estáticos se aplican durante la compilación, no durante la tiempo de ejecución. Esto significa que cualquier rama del material que se haya descartado nunca se ejecuta, por lo que los interruptores estáticos no generan carga adicional en tiempo de ejecución Por otro lado, se debe compilar una nueva versión del material por cada combinación de parámetros estáticos utilizada en un material, por lo que, si se abusa de su uso, puede provocar un gran aumento en las permutaciones de los sombreadores. Intenta minimizar el número de parámetros estáticos del material y el número de permutaciones de estos materiales que se utilizan realmente.
| Propiedad | Descripción |
|---|---|
Nombre del parámetro | Especifica el nombre que se utiliza para identificar el parámetro en instancias del material y a través del código. |
Grupo | Proporciona una forma de organizar los nombres de los parámetros en grupos o categorías dentro de una constante MaterialInstanceConstant. Todos los parámetros de un material que tengan el mismo nombre de propiedad de grupo aparecerán en esa categoría en el editor de instancias. |
R por defecto | Si se marca, el canal rojo (el primer canal) del valor de entrada pasa al de salida. |
G por defecto | Si se marca, el canal verde (el segundo canal) del valor de entrada pasa al de salida. |
B por defecto | Si se marca esta opción, el canal azul (el tercer canal) del valor de entrada pasa al de salida. |
A por defecto | Si se marca, el canal alfa (el cuarto canal) del valor de entrada pasa al de salida. |
Ejemplos de uso: Puedes utilizar máscaras de componentes estáticos para que las instancias dicten qué canal de una máscara de texturas se utiliza. Si la máscara es estática (no necesita cambiar en tiempo de ejecución), entonces siempre se debe utilizar este enfoque en lugar de multiplicar una búsqueda de textura por un parámetro vectorial para enmascarar canales, ya que esto último desperdicia ancho de banda de textura e instrucciones del sombreador.
Los canales marcados pasan a la salida, mientras que los canales sin marcar se descartan.
Parámetro vectorial
La expresión VectorParameter es idéntica a Constant4Vector, salvo por que es un parámetro que puede modificarse en instancias del material y mediante código. Una de las ventajas de VectorParameter es que puedes establecer su valor con el selector de color.
| Elemento | Descripción |
|---|---|
| Propiedades | |
Nombre del parámetro | Especifica el nombre que se utiliza para identificar el parámetro en instancias del material y a través del código. |
Grupo | Proporciona una forma de organizar los nombres de los parámetros en grupos o categorías dentro de una constante MaterialInstanceConstant. Todos los parámetros de un material que tengan el mismo nombre de propiedad de grupo aparecerán en esa categoría en el editor de instancias. |
Valor por defecto
| El vector de salida por defecto, a menos que lo anule una constante de instancia de material.
|
VertexColor es mutuamente excluyente con el nodo Transform debido a los interpoladores limitados. Si usas un nodo Transform y VertexColor a la vez, VertexColor será todo blanco.
Programadores: Para las partículas sprite, los colores se transmiten al sombreador por vértice, mientras que los colores de las partículas de malla se establecen como constantes de sombreador.
TextureObjectParameter
La expresión TextureObjectParameter define un parámetro de textura y proporciona el objeto de textura. Esta expresión se suele usar para pasar parámetros de textura a una función de materiales con entradas de texturas. Las entradas de texturas en un nodo Material Function no son compatibles con los datos Float3 de un nodo TextureSample 2D, por lo que se necesita el objeto textura (T2d). Este nodo no muestrea realmente la textura, por lo que debe utilizarse junto con un nodo TextureSample.
| Propiedad | Descripción |
|---|---|
Nombre del parámetro | Especifica el nombre que se utiliza para identificar el parámetro en instancias del material y a través del código. |
Grupo | Proporciona una forma de organizar los nombres de los parámetros en grupos o categorías dentro de una constante MaterialInstanceConstant. Todos los parámetros de un material que tengan el mismo nombre de propiedad de grupo aparecerán en esa categoría en el editor de instancias. |
Textura | Especifica la textura muestreada por la expresión. |
Tipo de muestreador | El tipo de datos que se muestrearán y la salida desde el nodo. |
MipValueMode | Permite definir cómo personalizar el nivel de mip o las derivadas de la muestra respecto al valor que calcula por defecto el hardware. Afecta al aspecto y al rendimiento. |
Este nodo se usa con MaterialFunctions.
TextureSampleParameter2D
La expresión TextureSampleParameter2D es idéntica a TextureSample, salvo por el hecho de que es un parámetro que se puede modificar en instancias de material y mediante blueprint o código.
| Propiedad | Descripción |
|---|---|
Nombre del parámetro | Especifica el nombre que se utiliza para identificar el parámetro en instancias del material y a través del código. |
Grupo | Proporciona una forma de organizar los nombres de los parámetros en grupos o categorías dentro de una constante MaterialInstanceConstant. Todos los parámetros de un material que tengan el mismo nombre de propiedad de grupo aparecerán en esa categoría en el editor de instancias. |
Textura | Especifica la textura muestreada por la expresión. |
Tipo de muestreador | El tipo de datos que se muestrearán y la salida desde el nodo. |
MipValueMode | Permite definir cómo personalizar el nivel de mip o las derivadas de la muestra respecto al valor que calcula por defecto el hardware. Afecta al aspecto y al rendimiento. |
| Entradas | |
UV | Toma coordenadas de textura UV para usarlas en la textura. Si no se introducen valores en los UV, se utilizan las coordenadas de textura de la malla a la que se aplica el material. |
| Salidas | |
RGB | Proporciona el valor del color como un vector RGB de tres canales. |
R | Proporciona el canal rojo del color. |
G | Proporciona el canal verde del color. |
B | Proporciona del canal azul del color. |
A | Proporciona el canal alfa del color. Si una textura no contiene un canal alfa, conectar el canal 'alfa' a algo, aunque no sea técnicamente ilegal, siempre dará como resultado cero (negro). |
TextureSampleParameterSubUV
La expresión TextureSampleParameterSubUV es idéntica a la expresión ParticleSubUV, salvo por que es un parámetro que puede modificarse en instancias del material y mediante código.
| Elemento | Descripción |
|---|---|
| Propiedades | |
Nombre del parámetro | Especifica el nombre que se utiliza para identificar el parámetro en instancias del material y a través del código. |
Grupo | Proporciona una forma de organizar los nombres de los parámetros en grupos o categorías dentro de una constante MaterialInstanceConstant. Todos los parámetros de un material que tengan el mismo nombre de propiedad de grupo aparecerán en esa categoría en el editor de instancias. |
Mezcla | Mezcla todos los fotogramas de la disposición del sprite de SubUV en lugar de "saltar" de un fotograma al siguiente. |
Textura | Especifica la textura muestreada por la expresión. |
Tipo de muestreador | El tipo de datos que se muestrearán y la salida desde el nodo. |
MipValueMode | Permite definir cómo personalizar el nivel de mip o las derivadas de la muestra respecto al valor que calcula por defecto el hardware. Afecta al aspecto y al rendimiento. |
| Entradas | |
UV | La entrada de UV se ignora y no hace nada. |
| Salidas | |
RGB | Proporciona el valor del color como un vector RGB de tres canales. |
R | Proporciona el canal rojo del color. |
G | Proporciona el canal verde del color. |
B | Proporciona del canal azul del color. |
A | Proporciona el canal alfa del color. Si una textura no contiene un canal alfa, conectar el canal 'alfa' a algo, aunque no sea técnicamente ilegal, siempre dará como resultado cero (negro). |
TextureSampleParameterCube
La expresión TextureSampleParameterCube es idéntica a TextureSample, salvo por que solo acepta mapas de cubos y que es un parámetro que puede modificarse en instancias del material y mediante código.
| Propiedad | Descripción |
|---|---|
Nombre del parámetro | Especifica el nombre que se utiliza para identificar el parámetro en instancias del material y a través del código. |
Grupo | Proporciona una forma de organizar los nombres de los parámetros en grupos o categorías dentro de una constante MaterialInstanceConstant. Todos los parámetros de un material que tengan el mismo nombre de propiedad de grupo aparecerán en esa categoría en el editor de instancias. |
Textura | Especifica la textura muestreada por la expresión. |
Tipo de muestreador | El tipo de datos que se muestrearán y la salida desde el nodo. |
MipValueMode | Permite definir cómo personalizar el nivel de mip o las derivadas de la muestra respecto al valor que calcula por defecto el hardware. Afecta al aspecto y al rendimiento. |
| Entradas | |
UV | Toma coordenadas de textura UV para usarlas en la textura. Si no se introducen valores en los UV, se utilizan las coordenadas de textura de la malla a la que se aplica el material. Esta entrada acepta un valor vectorial de dos canales. |
| Salidas | |
RGB | Proporciona el valor del color como un vector RGB de tres canales. |
R | Proporciona el canal rojo del color. |
G | Proporciona el canal verde del color. |
B | Proporciona del canal azul del color. |
A | Proporciona el canal alfa del color. Si una textura no contiene un canal alfa, conectar el canal 'alfa' a algo, aunque no sea técnicamente no válido, siempre dará como resultado cero (negro). |
TextureSampleParameterMovie
La expresión TextureSampleParameterMovie es idéntica a TextureSample, salvo por que solo acepta texturas de vídeo (películas de Bink) y que es un parámetro que puede modificarse en instancias del material y mediante código.
| Propiedad | Descripción |
|---|---|
Nombre del parámetro | Especifica el nombre que se utiliza para identificar el parámetro en instancias del material y a través del código. |
Grupo | Proporciona una forma de organizar los nombres de los parámetros en grupos o categorías dentro de una constante MaterialInstanceConstant. Todos los parámetros de un material que tengan el mismo nombre de propiedad de grupo aparecerán en esa categoría en el editor de instancias. |
Textura | Especifica la textura muestreada por la expresión. |
Tipo de muestreador | El tipo de datos que se muestrearán y la salida desde el nodo. |
MipValueMode | Permite definir cómo personalizar el nivel de mip o las derivadas de la muestra respecto al valor que calcula por defecto el hardware. Afecta al aspecto y al rendimiento. |
| Entradas | |
UV | Toma coordenadas de textura UV para usarlas en la textura. Si no se introducen valores en los UV, se utilizan las coordenadas de textura de la malla a la que se aplica el material. |
| Salidas | |
RGB | Proporciona el valor del color como un vector RGB de tres canales. |
R | Proporciona el canal rojo del color. |
G | Proporciona el canal verde del color. |
B | Proporciona del canal azul del color. |
A | Proporciona el canal alfa del color. Si una textura no contiene un canal alfa, conectar el canal 'alfa' a algo, aunque no sea técnicamente ilegal, siempre dará como resultado cero (negro). |