DefaultMaterial QML Type
Le permite definir un material para elementos 3D utilizando el flujo de trabajo especular/brillo. Más...
| Import Statement: | import QtQuick3D |
| Inherits: | |
| Status: | Deprecated since 6.4 |
Este tipo está obsoleto desde QtQuick3D 6.4. Desaconsejamos su uso en código nuevo.
Propiedades
- blendMode : enumeration
- bumpAmount : real
- bumpMap : Texture
- diffuseColor : color
- diffuseLightWrap : real
- diffuseMap : Texture
- emissiveFactor : vector3d
- emissiveMap : Texture
- fresnelPower : real
- indexOfRefraction : real
- lighting : enumeration
- lineWidth : real
- normalMap : Texture
- opacity : real
- opacityChannel : enumeration
- opacityMap : Texture
- pointSize : real
- roughnessChannel : enumeration
- roughnessMap : Texture
- specularAmount : real
- specularMap : Texture
- specularModel : enumeration
- specularReflectionMap : Texture
- specularRoughness : real
- specularTint : color
- translucencyChannel : enumeration
- translucencyMap : Texture
- translucentFalloff : real
- vertexColorsEnabled : bool
Descripción detallada
Prefiera utilizar PrincipledMaterial o SpecularGlossyMaterial en su lugar.
Advertencia: Este material sólo se proporciona por razones de compatibilidad, y no debe ser utilizado en código nuevo. Prefiera usar SpecularGlossyMaterial para crear materiales usando el flujo de trabajo especular/brillo o PrincipledMaterial para crear materiales usando el flujo de trabajo metal/rugosidad.
Antes de que un Modelo pueda ser renderizado en una escena, debe tener al menos un material adjunto que describa como la malla debe ser sombreada. El DefaultMaterial es un material fácil de usar que te permite describir tu material usando un flujo de trabajo de tipo especular/brillo. El material es sensible por defecto y puede ser utilizado para sombrear un modelo sin cambiar ninguna propiedad.
Flujo de trabajo especular/brillo
El material por defecto proporciona una forma de crear materiales utilizando un flujo de trabajo de tipo especular/brillo. Las principales propiedades del material se controlan a través de las propiedades specular, roughness, y diffuse color.
Especular
La propiedad specular reflectivity describe la cantidad y el color especular de la superficie de un objeto. Para materiales reflectantes la principal contribución de color, proviene de esta propiedad.
Brillo (Rugosidad)
El brillo de una superficie depende de lo lisa o irregular que sea. Una superficie lisa tendrá una reflexión de la luz más intensa que una superficie rugosa, donde la reflexión de la luz será más dispersa. En el material por defecto, el brillo del material se controla a través de la propiedad roughness.
Color difuso
La propiedad diffuse color describe el color básico del material, y a diferencia del color base de PrincipledMaterial, el color difuso no contiene ninguna información sobre la reflectancia del material. Sin embargo, para superficies reflectantes el color difuso debe ser negro, ya que esto permitirá que el color especular contribuya.
Documentación de propiedades
blendMode : enumeration
Esta propiedad determina cómo se mezclan los colores del modelo renderizado con los de detrás.
| Constante | Descripción |
|---|---|
DefaultMaterial.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 y no hay mapas de textura en el material con píxeles semitransparentes en ellos, 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. |
DefaultMaterial.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á utilizando objetos semiopacos y experimenta saltos cuando las caras o modelos se ordenan de forma diferente, utilizar la mezcla en pantalla es una forma de producir resultados sin saltos. |
DefaultMaterial.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 Qt Quick Arquitectura 3D.
bumpAmount : real
Esta propiedad controla la cantidad de desplazamiento simulado para bumpMap o normalMap. El valor por defecto es 0 deshabilitando el efecto de protuberancia. El rango es [0, 1].
bumpMap : Texture
Esta propiedad define una Textura en escala de grises para simular un desplazamiento fino de la geometría a través de la superficie del material. Los píxeles más brillantes indican regiones elevadas. La cantidad del efecto se controla mediante la propiedad bumpAmount.
Nota: los mapas de relieve no afectarán a la silueta de un modelo.
diffuseColor : color
Esta propiedad determina el color difuso (albedo) del material. Establecer el color difuso a un tinte negro creará un material puramente especular (por ejemplo, metales o espejos).
diffuseLightWrap : real
Esta propiedad determina la cantidad de envoltura de la luz para el mapa de translucidez. Un valor de 0 no envolverá la luz en absoluto, mientras que un valor de 1 envolverá la luz alrededor de todo el objeto.
diffuseMap : Texture
Esta propiedad define una Textura para aplicar al material. Usando Textura con transparencia también se aplicará el canal alfa como un mapa de opacidad.
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.
Véase también emissiveFactor.
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 0 deshabilitando el efecto fresnel.
indexOfRefraction : real
Esta propiedad controla qué ángulos de reflexión se ven afectados por fresnelPower. El valor por defecto es 1.45. El valor debe ser mayor o igual que 1.0.
Nota: Ningún material conocido en el mundo tiene un ior mucho mayor que 3.0.
lighting : enumeration
Esta propiedad define qué método de iluminación se utiliza al generar este material.
El valor por defecto es DefaultMaterial.FragmentLighting
Cuando se utiliza DefaultMaterial.FragmentLighting, la iluminación difusa y especular se calculan para cada píxel renderizado. Ciertos efectos (como Fresnel o bump map) requieren DefaultMaterial.FragmentLighting para funcionar.
Cuando se utiliza DefaultMaterial.NoLighting no se calcula la iluminación. Este modo es (previsiblemente) muy rápido, y bastante efectivo cuando se usan mapas de imagen que no necesitan ser sombreados por iluminación.
| Constante | Descripción |
|---|---|
DefaultMaterial.NoLighting | No se calcula la iluminación. |
DefaultMaterial.FragmentLighting | Se calcula la iluminación por fragmento. |
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.
Nota: A diferencia de la mayoría de las propiedades de material, la anchura de la línea está integrada en un objeto de canalización de gráficos, de forma similar a blendMode. Por lo tanto, un valor diferente conduce a tener que crear un nuevo objeto de canalización, que con el tiempo puede llegar a ser costoso (rendimiento y uso de recursos) si la propiedad se cambia con frecuencia a muchos valores diferentes. Por ejemplo, animar esta propiedad es posible, pero debería evitarse.
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. La cantidad del efecto es controlada por la propiedad bumpAmount.
Nota: Los mapas de normales no afectarán a la silueta de un modelo.
opacity : real
Esta propiedad baja la opacidad de sólo este material, separado del modelo. El valor por defecto es 1.0. El rango es [0.0, 1.0].
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.
roughnessChannel : enumeration
Esta propiedad define el canal de textura utilizado para leer el valor de rugosidad de roughnessMap. 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. |
roughnessMap : Texture
Esta propiedad define una Textura para controlar la rugosidad especular del material. Si la textura contiene múltiples canales(RGBA), entonces el canal correcto puede ser establecido usando la propiedad roughnessChannel.
specularAmount : real
Esta propiedad controla la intensidad de la especularidad (brillos y reflejos). El valor por defecto es 0 deshabilitando la especularidad. El rango es [0.0, 1.0].
Nota: Esta propiedad no afecta a specularReflectionMap, pero si afecta a la cantidad de reflejos de una escena SceneEnvironment::lightProbe.
Nota: A menos que tu malla sea de alta resolución, puede que necesites usar DefaultMaterial.FragmentLighting para obtener buenos reflejos especulares de las luces de la escena.
specularMap : Texture
Esta 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.
specularModel : enumeration
Esta propiedad determina qué funciones se utilizan para calcular los brillos especulares de las luces de la escena.
| Constante | Descripción |
|---|---|
DefaultMaterial.Default | La iluminación especular utiliza el modelo de iluminación por defecto. |
DefaultMaterial.KGGX | La iluminación especular utiliza el modelo de iluminación GGX. |
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.
specularRoughness : 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.
specularTint : color
Esta propiedad define un color utilizado para ajustar los reflejos especulares. Utilizar blanco para ningún efecto
translucencyChannel : enumeration
Esta propiedad define el canal de textura utilizado para leer el valor de translucidez de translucencyMap. 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. |
translucencyMap : Texture
Esta propiedad define una Textura en escala de grises que controla la cantidad de luz que puede atravesar el material por detrás.
translucentFalloff : real
Esta propiedad define la cantidad de decaimiento de la translucidez basada en el ángulo de las normales del objeto respecto a la fuente de luz.
vertexColorsEnabled : bool
Cuando esta propiedad está activada, el material utilizará los colores de vértice de la malla. Estos se multiplicarán por cualquier otro color especificado para el material.
© 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.