PrincipledMaterial QML Type
Le permite definir un material para elementos 3D utilizando el flujo de trabajo metal/rugosidad. Más...
| Import Statement: | import QtQuick3D |
| Inherits: |
Propiedades
- alphaCutoff : real
- alphaMode : enumeration
- attenuationColor : color
- attenuationDistance : real
- baseColor : color
- baseColorChannel : enumeration
(since 6.8) - baseColorMap : Texture
- baseColorSingleChannelEnabled : bool
(since 6.8) - blendMode : enumeration
- clearcoatAmount : real
- clearcoatChannel : enumeration
- clearcoatFresnelBias : real
- clearcoatFresnelPower : real
- clearcoatFresnelScale : real
- clearcoatFresnelScaleBiasEnabled : real
- clearcoatMap : Texture
- clearcoatNormalMap : Texture
- clearcoatNormalStrength : real
- clearcoatRoughnessAmount : real
- clearcoatRoughnessChannel : enumeration
- clearcoatRoughnessMap : Texture
- emissiveChannel : enumeration
(since 6.8) - emissiveFactor : vector3d
- emissiveMap : Texture
- emissiveSingleChannelEnabled : bool
(since 6.8) - fresnelBias : real
- fresnelPower : real
- fresnelScale : real
- fresnelScaleBiasEnabled : real
- heightAmount : real
- heightChannel : enumeration
- heightMap : Texture
- indexOfRefraction : real
- invertOpacityMapValue : real
(since 6.8) - lighting : enumeration
- lineWidth : real
- maxHeightMapSamples : int
- metalness : real
- metalnessChannel : enumeration
- metalnessMap : Texture
- minHeightMapSamples : int
- normalMap : Texture
- normalStrength : real
- occlusionAmount : real
- occlusionChannel : enumeration
- occlusionMap : Texture
- opacity : real
- opacityChannel : enumeration
- opacityMap : Texture
- pointSize : real
- roughness : real
- roughnessChannel : enumeration
- roughnessMap : Texture
- specularAmount : real
- specularChannel : enumeration
(since 6.8) - specularMap : Texture
- specularReflectionMap : Texture
- specularSingleChannelEnabled : bool
(since 6.8) - specularTint : real
- thicknessChannel : enumeration
- thicknessFactor : real
- thicknessMap : Texture
- transmissionChannel : enumeration
- transmissionFactor : real
- transmissionMap : Texture
- vertexColorAlphaMask : enumeration
(since 6.8) - vertexColorBlueMask : enumeration
(since 6.8) - vertexColorGreenMask : enumeration
(since 6.8) - vertexColorRedMask : enumeration
(since 6.8) - vertexColorsEnabled : bool
(since 6.5) - vertexColorsMaskEnabled : bool
(since 6.8)
Descripción detallada
Antes de que un Modelo pueda ser renderizado en una escena, debe tener al menos un material adjunto que describa cómo la malla debe ser sombreada. El PrincipledMaterial es un material PBR de metal/rugosidad que pretende ser un material fácil de usar con un conjunto mínimo de parámetros. Además de tener pocos parámetros, todos los valores de entrada están estrictamente normalizados entre 0 y 1 y tienen valores por defecto sensibles, lo que significa que incluso sin cambiar ningún valor, el material se puede utilizar para sombrear un modelo. Para obtener una introducción sobre cómo las diferentes propiedades del material de principios afecta a cómo se sombrea un modelo, consulte el ejemplo Material de principios.
Flujo de trabajo Metal/Rugosidad
El material Principled es lo que se conoce como un material metal/rugosidad, en esencia eso significa que las características principales del material se controlan a través de las propiedades metallness, roughness, y base color.
Metalidad
Los materiales del mundo real se clasifican en dos categorías principales: metales y dieléctricos (no metales). En el material Principled, la categoría a la que pertenece un material se decide mediante el valor metalness. Establecer el valor metalness a 0, significa que el material es un dialéctrico, mientras que todo lo que está por encima de 0 se considera un metal. En realidad los metales tendrán un valor metalness de 1, pero son posibles valores entre 0 y 1, y suelen utilizarse para metales con reflectancia reducida. Por ejemplo, para representar la corrosión, o similar, en un material, el metalness del material debe reducirse para dar a la salida propiedades más similares a un material dieléctrico. Dado que el valor metalness afecta a la reflectancia del material, puede ser tentador utilizar la metalidad para ajustar el brillo, pero considere primero qué tipo de material desea describir. Aumentar el valor de metalness para dar a un material dieléctrico un aspecto más pulido, introducirá propiedades que no son exactas para un material dieléctrico, así que considere si sería más apropiado ajustar, por ejemplo, el valor de roughness en su lugar.
Rugosidad
La roughness de un material describe el estado de la superficie de un objeto. Un valor bajo de roughness significa que el objeto tiene una superficie lisa y, por tanto, será más reflectante que un material con un valor más alto de roughness.
Color base
El base color de un material de metal/rugosidad contiene tanto los datos difusos como los especulares, cuánto se interpreta el color base como uno u otro viene dictado principalmente por el valor metalness. Por ejemplo, un material con un valor de metal de 1, tendrá la mayor parte de su color base interpretado como color especular, mientras que el color difuso sería un tinte negro. Lo contrario ocurriría para un material con un valor de metalness de 0. Esto es, por supuesto, un poco simplificado, pero da una idea aproximada de cómo el base color y metalness valor interactúa. Para aquellos más familiarizados con un flujo de trabajo Especular/Brillo, hay una clara diferencia aquí que vale la pena señalar, a saber, que los datos de color de los dos materiales no son directamente compatibles, ya que en un Especular/Brillo material, el color difuso y especular proviene de entradas separadas.
Documentación de propiedades
alphaCutoff : real
La propiedad alphaCutoff puede utilizarse para especificar el valor de corte cuando se utiliza Mask alphaMode. Los fragmentos en los que el valor alfa caiga por debajo del umbral se renderizarán totalmente transparentes (0.0 para todos los canales de color). Cuando el valor alfa es igual o superior al valor de corte, el color no se verá afectado en modo alguno.
El valor por defecto es 0.5.
Véase también alphaMode.
alphaMode : enumeration
Esta propiedad especifica cómo se utilizan el valor de color alfa de baseColor y el canal alfa de un base color map.
Nota: La prueba de corte alfa sólo tiene en cuenta el alfa del color base. opacity y Node::opacity no se tienen en cuenta ahí.
Nota: Al muestrear un mapa de color base, el valor alfa efectivo es el alfa muestreado multiplicado por el alfa de baseColor.
| Constante | Descripción |
|---|---|
PrincipledMaterial.Default | No se aplica ninguna prueba, el valor alfa efectivo se transmite tal cual. Tenga en cuenta que un alfa de baseColor o baseColorMap menor que 1.0 no implica automáticamente una mezcla alfa, el objeto con el material puede seguir siendo tratado como opaco, si no hay otras propiedades relevantes (como, una opacidad menor que 1, la presencia de un mapa de opacidad, o un valor blendMode no predeterminado) desencadenan el tratamiento del objeto como semitransparente. Para asegurarse de que la mezcla alfa se produce independientemente de cualquier otra propiedad del objeto o material, establezca Blend en su lugar. |
PrincipledMaterial.Blend | No se aplica ninguna prueba de corte, pero garantiza que se produce la mezcla alfa. El objeto con este material nunca será tratado como opaco por el renderizador. |
PrincipledMaterial.Opaque | No se aplica ninguna prueba de corte y se asume que el objeto renderizado es totalmente opaco, lo que significa que los valores alfa en el color de vértice, color base y mapa de color base se ignoran y en su lugar se sustituye por un valor de 1.0. Este modo no garantiza que no se produzcan mezclas alfa. Si las propiedades relevantes (como, una opacidad menor que 1, un mapa de opacidad, o un blendMode no predeterminado) lo dicen, entonces el objeto seguirá siendo tratado como semitransparente por el canal de renderizado, al igual que con el Default alphaMode. |
PrincipledMaterial.Mask | Se aplica una prueba basada en alphaCutoff. Si el valor alfa efectivo cae por debajo de alphaCutoff, el fragmento se cambia a totalmente transparente y se descarta (con todas las implicaciones del descarte: el búfer de profundidad no se escribe para ese fragmento). En caso contrario, el alfa se cambia a 1,0, de modo que el fragmento se vuelve totalmente opaco. En lo que respecta a la mezcla alfa, el comportamiento de este modo es idéntico al de Opaque, independientemente del resultado de la prueba de corte. Esto significa que se cumplen las Notas de Implementación de cobertura alfa de la especificación glTF 2. Los objetos con pruebas de corte alfa también pueden proyectar sombras ya que se comportan como objetos opacos por defecto, a menos que las propiedades relevantes (como, una opacidad menor que 1, un mapa de opacidad, o un blendMode no predeterminado) impliquen lo contrario (en cuyo caso proyectar sombras no será posible). |
Véase también alphaCutoff y blendMode.
attenuationColor : color
Esta propiedad define el color en que se convierten las luces blancas debido a la absorción cuando alcanzan la distancia de atenuación. El valor por defecto es Qt.White
attenuationDistance : real
Esta propiedad define la Densidad del medio dada como la distancia media que recorre la luz en el medio antes de interactuar con una partícula. El valor se da en el espacio del mundo. El valor por defecto es +infinity.
baseColor : color
Esta propiedad establece el color base para el material. Dependiendo del tipo de material especificado (metálico o dieléctrico) los canales difuso y especular se establecerán apropiadamente. Por ejemplo, un material dieléctrico tendrá un color difuso igual al color base, mientras que su color especular, dependiendo de la cantidad de especular, tendrá un color especular brillante. Para los metales, los canales difuso y especular se mezclarán a partir del color base y tendrán un canal difuso oscuro y un canal especular cercano al color base.
Véase también baseColorMap y alphaMode.
baseColorChannel : enumeration [since 6.8]
Esta propiedad define el canal de textura utilizado para leer el valor baseColor de baseColorMap. Para utilizar un único canal de textura como color hay que habilitar la propiedad baseColorSingleChannelEnabled. El valor por defecto es Material.R.
| Constante | Descripción |
|---|---|
Material.R | Leer valor del canal R de la textura. |
Material.G | Leer valor del canal G de la textura. |
Material.B | Leer valor del canal B de la textura. |
Material.A | Leer valor del canal A de la textura. |
Esta propiedad se introdujo en Qt 6.8.
baseColorMap : Texture
Esta propiedad define la textura utilizada para establecer el color base del material.
Véase también baseColor y alphaMode.
baseColorSingleChannelEnabled : bool [since 6.8]
Cuando esta propiedad está activada, el material utilizará el valor único del baseColorChannel del baseColorMap como valor RGB y utilizará 1.0 como valor alfa. El valor por defecto es false.
Esta propiedad se introdujo en Qt 6.8.
blendMode : enumeration
Esta propiedad determina cómo se mezclan los colores del modelo renderizado con los de detrás.
| Constante | Descripción |
|---|---|
PrincipledMaterial.SourceOver | Modo de fusión por defecto. Los objetos opacos ocluyen los objetos detrás de ellos. Este modo por defecto no garantiza la mezcla alfa en el proceso de renderizado para los modelos que utilizan este material, sino que hace que la decisión dependa de una serie de factores: si la opacidad total del objeto y del material es 1.0, no hay mapa de opacidad en el material, y alphaMode no tiene un valor que fuerce la mezcla alfa, entonces el modelo se trata como opaco, lo que significa que se renderiza con la prueba de profundidad y la escritura en profundidad activadas, junto con otros objetos opacos, con la mezcla desactivada. En caso contrario, el modelo se trata como semitransparente y se renderiza después de los objetos opacos, junto con otros objetos semitransparentes en un orden de atrás hacia delante basado en la distancia de su centro a la cámara, con la mezcla alfa activada. |
PrincipledMaterial.Screen | Los colores se mezclan utilizando un multiplicador invertido, produciendo un resultado más claro. Este modo de mezcla es independiente del orden; si está usando objetos semi-opacos y experimenta 'popping' cuando las caras o modelos se ordenan de forma diferente, usar la mezcla en Pantalla es una forma de producir resultados sin popping. |
PrincipledMaterial.Multiply | Los colores se mezclan utilizando una multiplicación, produciendo un resultado más oscuro. Este modo de mezcla también es independiente del orden. |
Véase también alphaMode y Qt Quick Arquitectura 3D.
clearcoatAmount : real
Esta propiedad define la intensidad de la capa de barniz.
El valor por defecto es 0.0
clearcoatChannel : enumeration
Esta propiedad define el canal de textura utilizado para leer el valor de la cantidad de capa transparente de clearcoatMap. El valor por defecto es Material.R.
| Constante | Descripción |
|---|---|
Material.R | Leer valor del canal R de la textura. |
Material.G | Leer valor del canal G de la textura. |
Material.B | Leer valor del canal B de la textura. |
Material.A | Leer valor del canal A de la textura. |
clearcoatFresnelBias : real
Esta propiedad empuja hacia delante los reflejos frontales (mirando directamente a la superficie) mientras mantiene los reflejos vistos en ángulos de rozamiento. Para que los cambios afecten al material hay que activar clearcoatFresnelScaleBiasEnabled. El valor por defecto es 0.0.
clearcoatFresnelPower : real
Esta propiedad disminuye los reflejos de frente (mirando directamente a la superficie) mientras mantiene los reflejos vistos en ángulos de rozamiento. El valor por defecto es 5.0.
clearcoatFresnelScale : real
Esta propiedad escala los reflejos frontales (mirando directamente a la superficie) mientras mantiene los reflejos vistos en ángulos rasantes. Para que los cambios afecten al material hay que activar clearcoatFresnelScaleBiasEnabled. El valor por defecto es 1.0.
clearcoatFresnelScaleBiasEnabled : real
Estableciendo el valor a true el material tendrá en cuenta Clearcoat Fresnel Scale y Clearcoat Fresnel Bias. El valor por defecto es false.
clearcoatMap : Texture
Esta propiedad define una textura utilizada para determinar la intensidad de la capa de barniz. El valor declearcoatAmount se multiplicará por el valor leído de esta textura.
clearcoatNormalMap : Texture
Esta propiedad define una textura utilizada para determinar el mapeado normal aplicado a la capa de barniz.
clearcoatNormalStrength : real
Esta propiedad controla la cantidad de desplazamiento simulado para el clearcoatNormalMap.
clearcoatRoughnessAmount : real
Esta propiedad define la rugosidad de la capa de barniz. El valor por defecto es 0.0
clearcoatRoughnessChannel : enumeration
Esta propiedad define el canal de textura utilizado para leer la cantidad de rugosidad de la capa transparente desde clearcoatRoughnessMap. El valor por defecto es Material.G.
| Constante | Descripción |
|---|---|
Material.R | Leer valor del canal R de la textura. |
Material.G | Leer valor del canal G de la textura. |
Material.B | Leer valor del canal B de la textura. |
Material.A | Leer valor del canal A de la textura. |
clearcoatRoughnessMap : Texture
Esta propiedad define una textura utilizada para determinar la rugosidad de la capa de barniz. El valor declearcoatRoughnessAmount se multiplicará por el valor leído de esta textura.
emissiveChannel : enumeration [since 6.8]
Esta propiedad define el canal de textura utilizado para leer el valor de emisividad de emissiveMap. Para utilizar un único canal de textura como color hay que habilitar la propiedad emissiveSingleChannelEnabled. El valor por defecto es Material.R.
| Constante | Descripción |
|---|---|
Material.R | Leer valor del canal R de la textura. |
Material.G | Leer valor del canal G de la textura. |
Material.B | Leer valor del canal B de la textura. |
Material.A | Leer valor del canal A de la textura. |
Esta propiedad se introdujo en Qt 6.8.
emissiveFactor : vector3d
Esta propiedad determina el color de auto-iluminación para este material. Si se establece un mapa emisivo, los componentes x, y, y z se utilizan como factores (multiplicadores) para los canales R, G y B de la textura, respectivamente. El valor por defecto es (0, 0, 0) y significa que no hay ninguna contribución emisiva.
Nota: Establecer el lightingMode a DefaultMaterial.NoLighting significa que el Factor emisivo no tiene efecto en la escena.
emissiveMap : Texture
Esta propiedad establece una Textura RGB que se utilizará para especificar la intensidad del color emisivo.
emissiveSingleChannelEnabled : bool [since 6.8]
Cuando esta propiedad está activada, el material utilizará el valor único de la emissiveChannel desde la emissiveMap como valor RGB. El valor por defecto es false.
Esta propiedad se introdujo en Qt 6.8.
fresnelBias : real
Esta propiedad empuja hacia delante los reflejos frontales (mirando directamente a la superficie) mientras mantiene los reflejos vistos en ángulos de rozamiento. Para que los cambios afecten al material hay que activar fresnelScaleBiasEnabled. El valor por defecto es 0.0.
fresnelPower : real
Esta propiedad disminuye los reflejos de frente (mirando directamente a la superficie) mientras mantiene los reflejos vistos en ángulos de rozamiento. El valor por defecto es 5.0.
fresnelScale : real
Esta propiedad escala los reflejos frontales (mirando directamente a la superficie) mientras mantiene los reflejos vistos en ángulos rasantes. Para que los cambios afecten al material hay que activar fresnelScaleBiasEnabled. El valor por defecto es 1.0.
fresnelScaleBiasEnabled : real
Estableciendo el valor a true el material tendrá en cuenta la Escala de Fresnel y el Sesgo de Fresnel. El valor por defecto es false.
heightAmount : real
Esta propiedad contiene el factor utilizado para modificar los valores de la textura heightMap. El valor debe estar entre 0.0 y 1.0. El valor por defecto es 0.0 lo que significa que el desplazamiento de altura estará desactivado, incluso si se establece un mapa de altura.
heightChannel : enumeration
Esta propiedad define el canal de textura utilizado para leer el valor de altura de heightMap. El valor por defecto es Material.R.
| Constante | Descripción |
|---|---|
Material.R | Leer valor del canal R de la textura. |
Material.G | Leer valor del canal G de la textura. |
Material.B | Leer valor del canal B de la textura. |
Material.A | Leer valor del canal A de la textura. |
heightMap : Texture
Esta propiedad define una textura utilizada para determinar la altura a la que se desplazará la textura cuando se renderice mediante el uso de Parallax Mapping. Se espera que los valores sean lineales de 0.0 a 1.0, donde 0.0 significa sin desplazamiento y 1.0 significa desplazamiento máximo.
indexOfRefraction : real
Esta propiedad define el índice de refracción del material. El valor por defecto de 1.5 será el valor ideal para materiales como el plástico o el vidrio, pero otros materiales como el agua, el asfalto, el zafiro o el diamante requerirán un valor ajustado para parecer más realistas. Para materiales realistas el indexOfRefraction debería estar entre 1.0 y 3.0
Algunos ejemplos de índices de refracción de materiales comunes son:
| Material | Índice de refracción |
|---|---|
| Aire | 1.0 |
| Agua | 1.33 |
| Vidrio | 1.55 |
| Zafiro | 1.76 |
| Diamante | 2.42 |
Nota: Ningún material conocido en el mundo tiene ior mucho mayor que 3.0.
invertOpacityMapValue : real [since 6.8]
Esta propiedad invierte el valor de opacidad de opacityMap. El valor por defecto es false.
Esta propiedad se introdujo en Qt 6.8.
lighting : enumeration
Esta propiedad define qué método de iluminación se utiliza al generar este material.
El valor por defecto es PrincipledMaterial.FragmentLighting
Cuando se utiliza PrincipledMaterial.FragmentLighting, la iluminación difusa y especular se calcula para cada píxel renderizado. Ciertos efectos (como Fresnel o normal map) requieren PrincipledMaterial.FragmentLighting para funcionar.
Cuando se utiliza PrincipledMaterial.NoLighting no se calcula la iluminación. Este modo es (previsiblemente) muy rápido, y es bastante efectivo cuando se usan mapas de imagen que no necesitan ser sombreados por iluminación. Todas las demás propiedades de sombreado excepto los valores baseColor, los valores alfa y los colores de los vértices serán ignorados.
| Constante | Valor |
|---|---|
PrincipledMaterial.NoLighting | |
PrincipledMaterial.FragmentLighting |
lineWidth : real
Esta propiedad determina el ancho de las líneas renderizadas, cuando la geometría está utilizando un tipo primitivo de líneas o tiras de líneas. El valor por defecto es 1.0. Esta propiedad no es relevante cuando se renderizan otros tipos de geometría, como por ejemplo, mallas triangulares.
Atención: Los anchos de línea distintos de 1 pueden no estar soportados en tiempo de ejecución, dependiendo de la API gráfica subyacente. En tal caso, se ignorará la solicitud de cambio de anchura. Por ejemplo, no es de esperar que ninguna de las siguientes API admita líneas anchas: Direct3D, Metal, OpenGL con contextos de perfil de núcleo.
maxHeightMapSamples : int
Esta propiedad define el número máximo de muestras utilizadas para realizar el Mapeado de Oclusión Paralela utilizando heightMap. El valor maxHeightMapSamples es el número de muestras de heightMap que se utilizan cuando se mira en paralelo a una superficie. El valor por defecto es 32.
El número real de muestras utilizadas para cada fragmento estará entre minHeightMapSamples y maxHeightMapSamples dependiendo del ángulo de la cámara respecto a la superficie que se está renderizando.
Nota: Este valor sólo debe ajustarse para afinar los materiales utilizando un heightMap en el caso de que aparezcan artefactos no deseados.
metalness : real
La propiedad metalidad define la metalidad del material. El valor está normalizado, donde 0.0 significa que el material es un material dieléctrico (no metálico) y un valor de 1.0 significa que el material es un metal.
Nota: En principio, los materiales son dieléctricos con una metalidad de 0, o metales con una metalidad de 1. Los valores de metalidad entre 0 y 1 están permitidos y darán un material que es una mezcla entre los diferentes modelos.
El rango es [0.0, 1.0]. El valor por defecto es 0.
metalnessChannel : enumeration
Esta propiedad define el canal de textura utilizado para leer el valor de metalness de metalnessMap. El valor por defecto es Material.B.
| Constante | Descripción |
|---|---|
Material.R | Leer valor del canal R de la textura. |
Material.G | Leer valor del canal G de la textura. |
Material.B | Leer valor del canal B de la textura. |
Material.A | Leer valor del canal A de la textura. |
metalnessMap : Texture
Esta propiedad establece una Textura que se utilizará para establecer la cantidad de metal para las diferentes partes del material.
minHeightMapSamples : int
Esta propiedad define el número mínimo de muestras utilizadas para realizar el Mapeado de Oclusión Paralela utilizando el heightMap. El valor minHeightMapSamples es el número de muestras del heightMap se utilizan cuando se mira directamente a una superficie (cuando la vista de la cámara es perpendicular al fragmento). El valor predeterminado es 8.
El número real de muestras utilizadas para cada fragmento estará entre minHeightMapSamples y maxHeightMapSamples dependiendo del ángulo de la cámara con respecto a la superficie que se está renderizando.
Nota: Este valor sólo debe ajustarse para afinar los materiales utilizando un heightMap en el caso de que aparezcan artefactos no deseados.
normalMap : Texture
Esta propiedad define una imagen RGB utilizada para simular el desplazamiento fino de la geometría a través de la superficie del material. Los canales RGB indican las desviaciones normales XYZ.
Nota: Los mapas de normales no afectarán a la silueta de un modelo.
normalStrength : real
Esta propiedad controla la cantidad de desplazamiento simulado para el normalMap.
occlusionAmount : real
Esta propiedad contiene el factor utilizado para modificar los valores de la textura occlusionMap. El valor debe estar entre 0.0 y 1.0. El valor por defecto es 1.0
occlusionChannel : enumeration
Esta propiedad define el canal de textura utilizado para leer el valor de oclusión de occlusionMap. El valor por defecto es Material.R.
| Constante | Descripción |
|---|---|
Material.R | Leer valor del canal R de la textura. |
Material.G | Leer valor del canal G de la textura. |
Material.B | Leer valor del canal B de la textura. |
Material.A | Leer valor del canal A de la textura. |
occlusionMap : Texture
Esta propiedad define una textura utilizada para determinar cuánta luz deben recibir las diferentes áreas del material. Se espera que los valores sean lineales de 0.0 a 1.0, donde 0.0 significa que no hay iluminación y 1.0 significa que el efecto de la iluminación no se modifica.
Véase también occlusionAmount.
opacity : real
Esta propiedad baja la opacidad de sólo este material, separado del modelo.
opacityChannel : enumeration
Esta propiedad define el canal de textura utilizado para leer el valor de opacidad de opacityMap. El valor por defecto es Material.A.
| Constante | Descripción |
|---|---|
Material.R | Leer valor del canal R de la textura. |
Material.G | Leer valor del canal G de la textura. |
Material.B | Leer valor del canal B de la textura. |
Material.A | Leer valor del canal A de la textura. |
opacityMap : Texture
Esta propiedad define una Textura utilizada para controlar la opacidad de forma diferente para las distintas partes del material.
pointSize : real
Esta propiedad determina el tamaño de los puntos renderizados, cuando la geometría utiliza un tipo primitivo de puntos. El valor por defecto es 1.0. Esta propiedad no es relevante cuando se renderizan otros tipos de geometría, como por ejemplo, mallas triangulares.
Atención: Los tamaños de punto distintos de 1 pueden no estar soportados en tiempo de ejecución, dependiendo de la API gráfica subyacente. Por ejemplo, establecer un tamaño distinto de 1 no tiene efecto con Direct 3D.
roughness : real
Esta propiedad controla el tamaño del brillo especular generado por las luces, y la claridad de los reflejos en general. Valores mayores aumentan la rugosidad, suavizando los brillos especulares y difuminando los reflejos. El rango es [0.0, 1.0]. El valor por defecto es 0.
roughnessChannel : enumeration
Esta propiedad define el canal de textura utilizado para leer el valor de rugosidad de roughnessMap. El valor por defecto es Material.G.
| Constante | Descripción |
|---|---|
Material.R | Leer valor del canal R de la textura. |
Material.G | Leer valor del canal G de la textura. |
Material.B | Leer valor del canal B de la textura. |
Material.A | Leer valor del canal A de la textura. |
roughnessMap : Texture
Esta propiedad define una Textura para controlar la rugosidad especular del material.
specularAmount : real
Esta propiedad controla la intensidad de la especularidad (brillos y reflejos).
El rango es [0.0, 1.0]. El valor por defecto es 1.0.
Nota: Para los no dieléctricos (metales) esta propiedad no tiene efecto.
Nota: Esta propiedad no afecta a specularReflectionMap, pero sí afecta a la cantidad de reflejos de una escena SceneEnvironment::lightProbe.
specularChannel : enumeration [since 6.8]
Esta propiedad define el canal de textura utilizado para leer el valor del color especular de specularMap. Para utilizar un único canal de textura como color hay que habilitar la propiedad specularSingleChannelEnabled. El valor por defecto es Material.R.
| Constante | Descripción |
|---|---|
Material.R | Leer valor del canal R de la textura. |
Material.G | Leer valor del canal G de la textura. |
Material.B | Leer valor del canal B de la textura. |
Material.A | Leer valor del canal A de la textura. |
Esta propiedad se introdujo en Qt 6.8.
specularMap : Texture
La propiedad define una Textura RGB para modular la cantidad y el color de la especularidad a través de la superficie del material. Estos valores se multiplican por specularAmount.
Nota: El mapa especular será ignorado a menos que el material sea dieléctrico.
specularReflectionMap : Texture
Esta propiedad establece una Textura utilizada para los reflejos especulares en el material.
Esto se usa típicamente para realizar mapeado de entorno: al rotar el modelo, el mapa aparecerá como si se reflejara en el entorno. Para que esto funcione como se espera, el mappingMode de la textura debe ser ajustado a Texture.Environment. Los mapas de reflexión especular son una manera fácil de añadir un aspecto de alta calidad con un coste relativamente bajo.
Nota: Asociando un light probe con el SceneEnvironment, y por lo tanto confiando en la iluminación basada en la imagen, se pueden conseguir efectos de reflexión ambiental similares. Sin embargo, las sondas de luz son una solución conceptualmente diferente y, en cuanto a rendimiento, potencialmente más cara. Cada enfoque tiene sus usos específicos, y el que se utilice debe decidirse caso por caso. Cuando se trata de la Textura establecida a la propiedad, specularReflectionMap tiene una ventaja, ya que no presenta limitaciones y soporta todo tipo de texturas, incluyendo las que obtienen sus datos de una sub-escena Qt Quick a través de sourceItem.
Nota: Las imágenes nítidas hacen que tu material parezca muy brillante; cuanto más difumines tu imagen más suave parecerá tu material.
Véase también Texture::mappingMode.
specularSingleChannelEnabled : bool [since 6.8]
Cuando esta propiedad está activada, el material utilizará el valor único de la specularChannel desde la specularMap como valor RGB. El valor por defecto es false.
Esta propiedad se introdujo en Qt 6.8.
specularTint : real
Esta propiedad define cuanto del color base contribuye a las reflexiones especulares.
Nota: Esta propiedad sólo se aplica a materiales dieléctricos.
thicknessChannel : enumeration
Esta propiedad define el canal de textura utilizado para leer la cantidad de espesor de transmissionMap. El valor por defecto es Material.G.
| Constante | Descripción |
|---|---|
Material.R | Leer valor del canal R de la textura. |
Material.G | Leer valor del canal G de la textura. |
Material.B | Leer valor del canal B de la textura. |
Material.A | Leer valor del canal A de la textura. |
thicknessFactor : real
Esta propiedad define el espesor del volumen bajo la superficie. A diferencia de muchas otras propiedades de PrincipledMaterial, el valor definido en thicknessFactor es un valor de 0.0 a +infinito para el grosor en el espacio de coordenadas del modelo. Un valor de 0.0 significa que el material es de pared delgada. El valor por defecto es 0.0
thicknessMap : Texture
Esta propiedad define una textura utilizada para definir el grosor de un volumen de material. El valor de thicknessFactor se multiplicará por el valor leído de esta textura.
transmissionChannel : enumeration
Esta propiedad define el canal de textura utilizado para leer el porcentaje de transmisión de transmissionMap. El valor por defecto es Material.R.
| Constante | Descripción |
|---|---|
Material.R | Leer valor del canal R de la textura. |
Material.G | Leer valor del canal G de la textura. |
Material.B | Leer valor del canal B de la textura. |
Material.A | Leer valor del canal A de la textura. |
transmissionFactor : real
Esta propiedad define el porcentaje de luz que se transmite a través de la superficie del material. El valor por defecto es 0.0
transmissionMap : Texture
Esta propiedad define una textura utilizada para determinar el porcentaje de luz que se transmite a través de la superficie.. El valor de transmissionFactor se multiplicará por el valor leído de esta textura.
vertexColorAlphaMask : enumeration [since 6.8]
Esta propiedad define el canal alfa del color del vértice utilizado como máscara de especificación. El valor es una combinación de bits de banderas. El valor por defecto es PrincipledMaterial.NoMask.
| Constante | Descripción |
|---|---|
PrincipledMaterial.NoMask | . |
PrincipledMaterial.ClearcoatAmountMask | . |
PrincipledMaterial.ClearcoatRoughnessAmountMask | . |
PrincipledMaterial.ClearcoatNormalStrengthMask | . |
PrincipledMaterial.HeightAmountMask | . |
PrincipledMaterial.MetalnessMask | . |
PrincipledMaterial.RoughnessMask | . |
PrincipledMaterial.NormalStrengthMask | . |
PrincipledMaterial.OcclusionAmountMask | . |
PrincipledMaterial.SpecularAmountMask | . |
PrincipledMaterial.ThicknessFactorMask | . |
PrincipledMaterial.TransmissionFactorMask | . |
Esta propiedad se introdujo en Qt 6.8.
vertexColorBlueMask : enumeration [since 6.8]
Esta propiedad define el canal azul del color del vértice utilizado como máscara de especificación. El valor es una combinación de bits de banderas. El valor por defecto es PrincipledMaterial.NoMask.
| Constante | Descripción |
|---|---|
PrincipledMaterial.NoMask | . |
PrincipledMaterial.ClearcoatAmountMask | . |
PrincipledMaterial.ClearcoatRoughnessAmountMask | . |
PrincipledMaterial.ClearcoatNormalStrengthMask | . |
PrincipledMaterial.HeightAmountMask | . |
PrincipledMaterial.MetalnessMask | . |
PrincipledMaterial.RoughnessMask | . |
PrincipledMaterial.NormalStrengthMask | . |
PrincipledMaterial.OcclusionAmountMask | . |
PrincipledMaterial.SpecularAmountMask | . |
PrincipledMaterial.ThicknessFactorMask | . |
PrincipledMaterial.TransmissionFactorMask | . |
Esta propiedad se introdujo en Qt 6.8.
vertexColorGreenMask : enumeration [since 6.8]
Esta propiedad define el canal verde del color del vértice utilizado como máscara de especificación. El valor es una combinación de bits de banderas. El valor por defecto es PrincipledMaterial.NoMask.
| Constante | Descripción |
|---|---|
PrincipledMaterial.NoMask | . |
PrincipledMaterial.ClearcoatAmountMask | . |
PrincipledMaterial.ClearcoatRoughnessAmountMask | . |
PrincipledMaterial.ClearcoatNormalStrengthMask | . |
PrincipledMaterial.HeightAmountMask | . |
PrincipledMaterial.MetalnessMask | . |
PrincipledMaterial.RoughnessMask | . |
PrincipledMaterial.NormalStrengthMask | . |
PrincipledMaterial.OcclusionAmountMask | . |
PrincipledMaterial.SpecularAmountMask | . |
PrincipledMaterial.ThicknessFactorMask | . |
PrincipledMaterial.TransmissionFactorMask | . |
Esta propiedad se introdujo en Qt 6.8.
vertexColorRedMask : enumeration [since 6.8]
Esta propiedad define el canal rojo del color del vértice utilizado como máscara de especificación. El valor es una combinación de bits de banderas. El valor por defecto es PrincipledMaterial.NoMask.
| Constante | Descripción |
|---|---|
PrincipledMaterial.NoMask | . |
PrincipledMaterial.ClearcoatAmountMask | . |
PrincipledMaterial.ClearcoatRoughnessAmountMask | . |
PrincipledMaterial.ClearcoatNormalStrengthMask | . |
PrincipledMaterial.HeightAmountMask | . |
PrincipledMaterial.MetalnessMask | . |
PrincipledMaterial.RoughnessMask | . |
PrincipledMaterial.NormalStrengthMask | . |
PrincipledMaterial.OcclusionAmountMask | . |
PrincipledMaterial.SpecularAmountMask | . |
PrincipledMaterial.ThicknessFactorMask | . |
PrincipledMaterial.TransmissionFactorMask | . |
Esta propiedad se introdujo en Qt 6.8.
vertexColorsEnabled : bool [since 6.5]
Cuando esta propiedad está activada, el material utilizará los colores de vértice de la malla. Estos serán multiplicados por cualquier otro color especificado para el material. El valor por defecto es true.
Esta propiedad se introdujo en Qt 6.5.
vertexColorsMaskEnabled : bool [since 6.8]
Cuando esta propiedad está activada, el material utilizará los colores de los vértices de la malla como máscara de varias propiedades, por ejemplo RoughnessAmount, SpecularAmount, ... . El valor por defecto es false.
Esta propiedad se introdujo en Qt 6.8.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.