PrincipledMaterial QML Type
Ermöglicht die Definition eines Materials für 3D-Objekte unter Verwendung des Arbeitsablaufs Metall/Rauheit. Mehr...
| Import Statement: | import QtQuick3D |
| Inherits: |
Eigenschaften
- 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)
Detaillierte Beschreibung
Bevor ein Modell in einer Szene gerendert werden kann, muss ihm mindestens ein Material zugewiesen werden, das beschreibt, wie das Mesh schattiert werden soll. Das PrincipledMaterial ist ein PBR-Metall/Rauheit-Material, das ein einfach zu verwendendes Material mit einem minimalen Satz von Parametern sein soll. Zusätzlich zu den wenigen Parametern sind alle Eingabewerte streng zwischen 0 und 1 normalisiert und haben sinnvolle Standardwerte, was bedeutet, dass das Material auch ohne Änderung der Werte zum Shadering eines Modells verwendet werden kann. Eine Einführung, wie sich die verschiedenen Eigenschaften des Principled Materials auf die Schattierung eines Modells auswirken, finden Sie im Beispiel Principled Material.
Arbeitsablauf Metall/Rauheit
Das Principled Material ist ein sogenanntes Metall/Rauheit-Material, was im Wesentlichen bedeutet, dass die Hauptmerkmale des Materials durch die Eigenschaften metallness, roughness und base color gesteuert werden.
Metallizität
Die Materialien der realen Welt werden in zwei Hauptkategorien eingeteilt: Metalle und Dielektrika (Nicht-Metalle). Im Prinzipiellen Material wird die Kategorie, zu der ein Material gehört, durch den Wert metalness bestimmt. Wenn der Wert metalness auf 0 gesetzt wird, bedeutet dies, dass das Material ein Dialektikum ist, während alles über 0 als Metall angesehen wird. In der Realität haben Metalle einen metalness Wert von 1, aber Werte zwischen 0 und 1 sind möglich und werden normalerweise für Metalle mit reduziertem Reflexionsgrad verwendet. Um z. B. Korrosion oder Ähnliches auf einem Material darzustellen, sollte der metalness Wert des Materials reduziert werden, um die Eigenschaften eines dielektrischen Materials zu erreichen. Da sich der Wert metalness auf den Reflexionsgrad des Materials auswirkt, könnte es verlockend sein, die Metallizität zur Anpassung des Glanzes zu verwenden, aber überlegen Sie zuerst, welche Art von Material Sie beschreiben möchten. Wenn Sie den Wert metalness erhöhen, um einem dielektrischen Material ein polierteres Aussehen zu verleihen, führt dies zu Eigenschaften, die für ein dielektrisches Material nicht zutreffend sind. Überlegen Sie daher, ob es nicht sinnvoller wäre, stattdessen z. B. den Wert roughness anzupassen.
Rauheit
Die roughness eines Materials beschreibt den Zustand der Oberfläche eines Objekts. Ein niedriger roughness Wert bedeutet, dass das Objekt eine glatte Oberfläche hat und daher stärker reflektiert als ein Material mit einem höheren roughness Wert.
Grundfarbe
Die base color eines Metall-/Rauheitsmaterials enthält sowohl die diffusen als auch die spiegelnden Daten. Wie sehr die Grundfarbe als das eine oder das andere interpretiert wird, hängt in erster Linie vom metalness Wert ab. Beispielsweise wird bei einem Material mit einem Metallwert von 1 der größte Teil der Grundfarbe als spiegelnde Farbe interpretiert, während die diffuse Farbe ein schwarzer Farbton ist. Bei einem Material mit einem Metalness-Wert von 0 wäre das Gegenteil der Fall. Dies ist natürlich etwas vereinfacht, vermittelt aber eine grobe Vorstellung davon, wie die Werte base color und metalness interagieren. Für diejenigen, die mit einem Specular/Glossiness-Workflow vertrauter sind, gibt es hier einen klaren Unterschied, der erwähnenswert ist, nämlich dass die Farbdaten der beiden Materialien nicht direkt kompatibel sind, da in einem Specular/Glossiness material die diffuse und die spiegelnde Farbe aus separaten Eingaben stammen.
Dokumentation der Eigenschaft
alphaCutoff : real
Die Eigenschaft alphaCutoff kann verwendet werden, um den Cutoff-Wert bei der Verwendung von Mask alphaMode festzulegen. Fragmente, bei denen der Alpha-Wert unter den Schwellenwert fällt, werden vollständig transparent dargestellt (0.0 für alle Farbkanäle). Wenn der Alphawert gleich oder größer als der Cutoff-Wert ist, wird die Farbe in keiner Weise beeinflusst.
Der Standardwert ist 0,5.
Siehe auch alphaMode.
alphaMode : enumeration
Diese Eigenschaft gibt an, wie der Alphafarbwert von baseColor und der Alphakanal eines base color map verwendet werden.
Hinweis: Der Alpha-Cutoff-Test berücksichtigt nur die Grundfarbe Alpha. opacity und Node::opacity werden dabei nicht berücksichtigt.
Hinweis: Beim Sampling einer Basisfarbkarte ist der effektive Alphawert der gesampelte Alphawert multipliziert mit dem Alphawert von baseColor.
| Konstante | Beschreibung |
|---|---|
PrincipledMaterial.Default | Es wird kein Test durchgeführt, der effektive Alphawert wird so weitergegeben, wie er ist. Beachten Sie, dass ein baseColor oder baseColorMap Alphawert, der kleiner als 1.0 ist, nicht automatisch Alpha-Blending impliziert. Das Objekt mit dem Material kann immer noch als undurchsichtig behandelt werden, wenn keine anderen relevanten Eigenschaften (wie z. B. eine Deckkraft kleiner als 1, das Vorhandensein einer Deckkraft-Map oder ein nicht standardmäßiger blendMode Wert) dazu führen, dass das Objekt als halbtransparent behandelt wird. Um sicherzustellen, dass Alpha-Blending unabhängig von anderen Objekt- oder Materialeigenschaften erfolgt, setzen Sie stattdessen Blend. |
PrincipledMaterial.Blend | Es wird kein Cutoff-Test angewendet, sondern garantiert, dass Alpha-Blending stattfindet. Das Objekt mit diesem Material wird daher vom Renderer nie als undurchsichtig behandelt. |
PrincipledMaterial.Opaque | Es wird kein Cutoff-Test angewendet und das gerenderte Objekt wird als vollständig undurchsichtig angesehen, d. h. die Alpha-Werte in der Vertex-, Basis- und Grundfarbenkarte werden ignoriert und stattdessen wird ein Wert von 1,0 verwendet. Dieser Modus garantiert nicht, dass kein Alpha-Blending stattfindet. Wenn relevante Eigenschaften (z. B. eine Deckkraft kleiner als 1, eine Deckkraft-Map oder ein nicht standardmäßiger blendMode) dies besagen, wird das Objekt von der Rendering-Pipeline dennoch als halbtransparent behandelt, genau wie beim Default alphaMode. |
PrincipledMaterial.Mask | Es wird ein Test auf der Grundlage von alphaCutoff durchgeführt. Wenn der effektive Alphawert unter alphaCutoff fällt, wird das Fragment auf vollständig transparent geändert und verworfen (mit allen Konsequenzen des Verwerfens: der Tiefenpuffer wird für dieses Fragment nicht geschrieben). Andernfalls wird der Alphawert auf 1,0 geändert, so dass das Fragment vollständig undurchsichtig wird. Wenn es um Alpha-Blending geht, ist das Verhalten dieses Modus identisch mit Opaque, unabhängig vom Ergebnis des Cutoff-Tests. Das bedeutet, dass die Implementierungshinweise zur Alpha-Abdeckung in der glTF 2-Spezifikation erfüllt sind. Objekte mit Alpha-Cutoff-Tests können auch Schatten werfen, da sie sich standardmäßig wie undurchsichtige Objekte verhalten, es sei denn, die relevanten Eigenschaften (wie z.B. eine Opazität kleiner als 1, eine Opazitätskarte oder ein nicht standardmäßiger blendMode) implizieren etwas anderes (in diesem Fall ist Schattenwurf nicht möglich). |
Siehe auch alphaCutoff und blendMode.
attenuationColor : color
Diese Eigenschaft definiert die Farbe, in die sich weißes Licht aufgrund von Absorption verwandelt, wenn es die Dämpfungsdistanz erreicht. Der Standardwert ist Qt.White
attenuationDistance : real
Diese Eigenschaft definiert die Dichte des Mediums, angegeben als die durchschnittliche Entfernung, die das Licht im Medium zurücklegt, bevor es mit einem Teilchen interagiert. Der Wert wird im Weltraum angegeben. Der Standardwert ist +infinity.
baseColor : color
Diese Eigenschaft legt die Grundfarbe für das Material fest. Je nach Art des angegebenen Materials (Metall oder Dielektrikum) werden die diffusen und spiegelnden Kanäle entsprechend eingestellt. Ein dielektrisches Material hat zum Beispiel eine diffuse Farbe, die der Grundfarbe entspricht, während die Spiegelfarbe, abhängig von der Spiegelungsmenge, eine helle Spiegelungsfarbe hat. Bei Metallen werden die diffusen und spiegelnden Kanäle aus der Grundfarbe gemischt und haben einen dunklen diffusen Kanal und einen spiegelnden Kanal nahe der Grundfarbe.
Siehe auch baseColorMap und alphaMode.
baseColorChannel : enumeration [since 6.8]
Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den Wert baseColor von baseColorMap zu lesen. Um einen einzelnen Texturkanal als Farbe zu verwenden, müssen Sie baseColorSingleChannelEnabled aktivieren. Der Standardwert ist Material.R.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus Textur R-Kanal lesen. |
Material.G | Wert aus dem G-Kanal der Textur lesen. |
Material.B | Wert aus Textur B-Kanal lesen. |
Material.A | Wert aus dem A-Kanal der Textur lesen. |
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
baseColorMap : Texture
Diese Eigenschaft definiert die Textur, die zum Festlegen der Grundfarbe des Materials verwendet wird.
Siehe auch baseColor und alphaMode.
baseColorSingleChannelEnabled : bool [since 6.8]
Wenn diese Eigenschaft aktiviert ist, verwendet das Material den Einzelwert von baseColorChannel aus baseColorMap als RGB-Wert und 1,0 als Alpha-Wert. Der Standardwert ist false.
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
blendMode : enumeration
Diese Eigenschaft legt fest, wie die Farben des gerenderten Modells mit denen des dahinter liegenden Modells verschmelzen.
| Konstante | Beschreibung |
|---|---|
PrincipledMaterial.SourceOver | Standardüberblendungsmodus. Undurchsichtige Objekte verdecken Objekte hinter ihnen. Dieser Standardmodus garantiert keine Alphaüberblendung in der Rendering-Pipeline für Modelle, die dieses Material verwenden, sondern macht die Entscheidung von einer Reihe von Faktoren abhängig: Wenn die Gesamtdeckkraft des Objekts und des Materials 1.0 ist, es keine Deckkraftkarte im Material gibt und alphaMode nicht auf einen Wert gesetzt ist, der eine Alphaüberblendung erzwingt, dann wird das Modell als undurchsichtig behandelt, d. h. es wird mit aktivierter Tiefenprüfung und Tiefenschreibfunktion zusammen mit anderen undurchsichtigen Objekten gerendert, wobei die Überblendung deaktiviert ist. Andernfalls wird das Modell als halbtransparent behandelt und nach den undurchsichtigen Objekten gerendert, zusammen mit anderen halbtransparenten Objekten in einer Reihenfolge von hinten nach vorne, basierend auf dem Abstand ihres Zentrums von der Kamera, mit aktiviertem Alpha-Blending. |
PrincipledMaterial.Screen | Die Farben werden mit einer invertierten Multiplikation gemischt, was ein helleres Ergebnis ergibt. Dieser Überblendungsmodus ist unabhängig von der Reihenfolge. Wenn Sie mit halb-opaken Objekten arbeiten und bei Gesichtern oder Modellen, die unterschiedlich sortiert sind, ein "Popping" feststellen, ist die Verwendung der Rasterüberblendung eine Möglichkeit, um Ergebnisse ohne Popping zu erzielen. |
PrincipledMaterial.Multiply | Die Farben werden mit einem Multiplikator gemischt, wodurch ein dunkleres Ergebnis erzielt wird. Dieser Überblendungsmodus ist auch unabhängig von der Reihenfolge. |
Siehe auch alphaMode und Qt Quick 3D-Architektur.
clearcoatAmount : real
Diese Eigenschaft definiert die Intensität der Klarlackschicht.
Der Standardwert ist 0.0
clearcoatChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den Wert der Klarlackmenge von clearcoatMap zu lesen. Der Standardwert ist Material.R.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus Textur R-Kanal lesen. |
Material.G | Wert aus dem G-Kanal der Textur lesen. |
Material.B | Wert aus Textur B-Kanal lesen. |
Material.A | Wert aus dem A-Kanal der Textur ablesen. |
clearcoatFresnelBias : real
Mit dieser Eigenschaft werden Reflexionen bei direktem Blick auf die Oberfläche nach vorne verschoben, während Reflexionen bei Streifwinkeln erhalten bleiben. Um Änderungen am Material vornehmen zu können, müssen Sie clearcoatFresnelScaleBiasEnabled aktivieren. Der Standardwert ist 0.0.
clearcoatFresnelPower : real
Diese Eigenschaft verringert die Reflexionen bei direktem Blick auf die Oberfläche, während die Reflexionen bei Streifwinkeln erhalten bleiben. Der Standardwert ist 5.0.
clearcoatFresnelScale : real
Diese Eigenschaft skaliert Frontalreflexionen (direkter Blick auf die Oberfläche), während Reflexionen, die aus Streifwinkeln gesehen werden, erhalten bleiben. Um Änderungen am Material vornehmen zu können, müssen Sie clearcoatFresnelScaleBiasEnabled aktivieren. Der Standardwert ist 1.0.
clearcoatFresnelScaleBiasEnabled : real
Wenn Sie den Wert auf true setzen, berücksichtigt das Material Clearcoat Fresnel Scale und Clearcoat Fresnel Bias. Der Standardwert ist false.
clearcoatMap : Texture
Diese Eigenschaft definiert eine Textur, die zur Bestimmung der Intensität der Klarlackschicht verwendet wird. Der Wert vonclearcoatAmount wird mit dem aus dieser Textur gelesenen Wert multipliziert.
clearcoatNormalMap : Texture
Diese Eigenschaft definiert eine Textur, mit der die auf die Klarlackschicht angewendete Normalzuordnung bestimmt wird.
clearcoatNormalStrength : real
Diese Eigenschaft steuert den Betrag der simulierten Verschiebung für die clearcoatNormalMap.
clearcoatRoughnessAmount : real
Diese Eigenschaft definiert die Rauheit der Klarlackschicht. Der Standardwert ist 0.0
clearcoatRoughnessChannel : enumeration
Diese Eigenschaft legt den Texturkanal fest, der verwendet wird, um die Rauhigkeit der Klarlacke aus clearcoatRoughnessMap zu lesen. Der Standardwert ist Material.G.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus Textur R-Kanal lesen. |
Material.G | Wert aus Textur G-Kanal lesen. |
Material.B | Wert aus Textur B-Kanal lesen. |
Material.A | Wert aus dem A-Kanal der Textur ablesen. |
clearcoatRoughnessMap : Texture
Diese Eigenschaft definiert eine Textur, die zur Bestimmung der Rauheit der Klarlackschicht verwendet wird. Der Wert vonclearcoatRoughnessAmount wird mit dem aus dieser Textur gelesenen Wert multipliziert.
emissiveChannel : enumeration [since 6.8]
Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den Emissionswert von emissiveMap zu lesen. Um einen einzelnen Texturkanal als Farbe zu verwenden, müssen Sie emissiveSingleChannelEnabled aktivieren. Der Standardwert ist Material.R.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus Textur R-Kanal lesen. |
Material.G | Wert aus dem G-Kanal der Textur lesen. |
Material.B | Wert aus Textur B-Kanal lesen. |
Material.A | Wert aus dem A-Kanal der Textur lesen. |
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
emissiveFactor : vector3d
Diese Eigenschaft bestimmt die Farbe der Selbstbeleuchtung für dieses Material. Wenn eine Emissionskarte eingestellt ist, werden die x-, y- und z-Komponenten als Faktoren (Multiplikatoren) für die R-, G- und B-Kanäle der Textur verwendet. Der Standardwert ist (0, 0, 0) und bedeutet, dass es keinen Emissionsbeitrag gibt.
Hinweis: Wenn Sie den Beleuchtungsmodus auf DefaultMaterial.NoLighting setzen, hat der Emissionsfaktor keine Auswirkungen auf die Szene.
emissiveMap : Texture
Diese Eigenschaft legt eine RGB-Textur fest, die verwendet wird, um die Intensität der emittierenden Farbe zu bestimmen.
emissiveSingleChannelEnabled : bool [since 6.8]
Wenn diese Eigenschaft aktiviert ist, verwendet das Material den Einzelwert von emissiveChannel aus emissiveMap als RGB-Wert. Der Standardwert ist false.
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
fresnelBias : real
Mit dieser Eigenschaft werden Reflexionen bei direktem Blick auf die Oberfläche nach vorne verschoben, während Reflexionen bei Streifwinkeln erhalten bleiben. Um Änderungen am Material vornehmen zu können, müssen Sie fresnelScaleBiasEnabled aktivieren. Der Standardwert ist 0.0.
fresnelPower : real
Diese Eigenschaft verringert die Reflexionen bei direktem Blick auf die Oberfläche, während die Reflexionen bei Streifwinkeln erhalten bleiben. Der Standardwert ist 5.0.
fresnelScale : real
Diese Eigenschaft skaliert Frontalreflexionen (direkter Blick auf die Oberfläche), während Reflexionen, die aus Streifwinkeln gesehen werden, erhalten bleiben. Um Änderungen am Material vornehmen zu können, müssen Sie fresnelScaleBiasEnabled aktivieren. Der Standardwert ist 1.0.
fresnelScaleBiasEnabled : real
Wenn der Wert auf true gesetzt wird, berücksichtigt das Material die Fresnel-Skala und die Fresnel-Verzerrung. Der Standardwert ist false.
heightAmount : real
Diese Eigenschaft enthält den Faktor, der verwendet wird, um die Werte aus der Textur heightMap zu ändern. Der Wert sollte zwischen 0.0 und 1.0 liegen. Der Standardwert ist 0,0, was bedeutet, dass die Höhenverschiebung deaktiviert wird, auch wenn eine Höhenkarte eingestellt ist.
heightChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den Höhenwert von heightMap zu lesen. Der Standardwert ist Material.R.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus dem R-Kanal der Textur lesen. |
Material.G | Wert aus dem G-Kanal der Textur lesen. |
Material.B | Wert aus Textur B-Kanal lesen. |
Material.A | Wert aus dem A-Kanal der Textur ablesen. |
heightMap : Texture
Diese Eigenschaft definiert eine Textur, die verwendet wird, um die Höhe zu bestimmen, um die die Textur verschoben wird, wenn sie durch die Verwendung von Parallax Mapping gerendert wird. Es wird erwartet, dass die Werte linear von 0,0 bis 1,0 sind, wobei 0,0 keine Verschiebung und 1,0 die maximale Verschiebung bedeutet.
indexOfRefraction : real
Diese Eigenschaft definiert den Brechungsindex des Materials. Der Standardwert von 1.5 ist der ideale Wert für Materialien wie Kunststoff oder Glas, aber andere Materialien wie Wasser, Asphalt, Saphir oder Diamant erfordern einen angepassten Wert, um realistischer zu wirken. Für realistische Materialien sollte der indexOfRefraction normalerweise zwischen 1.0 und 3.0
Einige Beispiele für gängige Brechungsindizes von Materialien sind:
| Material | Brechungsindex |
|---|---|
| Luft | 1.0 |
| Wasser | 1.33 |
| Glas | 1.55 |
| Saphir | 1.76 |
| Diamant | 2.42 |
Anmerkung: Kein bekanntes Material auf der Welt hat einen wesentlich höheren Wert als 3.0.
invertOpacityMapValue : real [since 6.8]
Diese Eigenschaft invertiert den Opazitätswert von opacityMap. Der Standardwert ist false.
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
lighting : enumeration
Diese Eigenschaft legt fest, welche Beleuchtungsmethode bei der Erstellung dieses Materials verwendet wird.
Der Standardwert ist PrincipledMaterial.FragmentLighting
Bei der Verwendung von PrincipledMaterial.FragmentLighting wird die diffuse und spiegelnde Beleuchtung für jedes gerenderte Pixel berechnet. Bestimmte Effekte (z. B. eine Fresnel- oder Normal-Map) erfordern PrincipledMaterial.FragmentLighting, um zu funktionieren.
Bei der Verwendung von PrincipledMaterial.NoLighting wird keine Beleuchtung berechnet. Dieser Modus ist (vorhersehbar) sehr schnell und ist recht effektiv, wenn Bildkarten verwendet werden, die nicht durch Beleuchtung schattiert werden müssen. Alle anderen Schattierungseigenschaften mit Ausnahme der baseColor Werte, der Alphawerte und der Vertexfarben werden ignoriert.
| Konstante | Wert |
|---|---|
PrincipledMaterial.NoLighting | |
PrincipledMaterial.FragmentLighting |
lineWidth : real
Diese Eigenschaft bestimmt die Breite der gerenderten Linien, wenn die Geometrie einen primitiven Typ von Linien oder Linienstreifen verwendet. Der Standardwert ist 1.0. Diese Eigenschaft ist nicht relevant, wenn andere Geometrietypen gerendert werden, z. B. Dreiecksnetze.
Warnung: Andere Linienbreiten als 1 werden je nach der zugrunde liegenden Grafik-API zur Laufzeit möglicherweise nicht unterstützt. Wenn dies der Fall ist, wird die Anforderung, die Breite zu ändern, ignoriert. Es ist zum Beispiel nicht zu erwarten, dass breite Linien unterstützt werden: Direct3D, Metal, OpenGL mit Kernprofilkontexten.
maxHeightMapSamples : int
Diese Eigenschaft definiert die maximale Anzahl der Samples, die für die Durchführung von Parallex Occlusion Mapping unter Verwendung von heightMap verwendet werden. Der Wert maxHeightMapSamples ist die Anzahl der Samples von heightMap, die verwendet werden, wenn parallel zu einer Oberfläche geschaut wird. Der Standardwert ist 32.
Die tatsächliche Anzahl der Samples, die für jedes Fragment verwendet wird, liegt zwischen minHeightMapSamples und maxHeightMapSamples, abhängig vom Winkel der Kamera relativ zur gerenderten Oberfläche.
Hinweis: Dieser Wert sollte nur für die Feinabstimmung von Materialien unter Verwendung von heightMap angepasst werden, falls unerwünschte Artefakte vorhanden sind.
metalness : real
Die Eigenschaft Metallizität definiert die Metallizität des Materials. Der Wert ist normalisiert, wobei 0,0 bedeutet, dass das Material ein Dielektrikum (nichtmetallisch) ist und ein Wert von 1,0 bedeutet, dass das Material ein Metall ist.
Hinweis: Im Prinzip sind Materialien entweder Dielektrika mit einer Metallizität von 0 oder Metalle mit einer Metallizität von 1. Metallizitätswerte zwischen 0 und 1 sind dennoch zulässig und ergeben ein Material, das eine Mischung zwischen den verschiedenen Modellen ist.
Der Bereich ist [0.0, 1.0]. Der Standardwert ist 0.
metalnessChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den Metalness-Wert von metalnessMap zu lesen. Der Standardwert ist Material.B.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus Textur R-Kanal lesen. |
Material.G | Wert aus dem G-Kanal der Textur lesen. |
Material.B | Wert aus Textur B-Kanal lesen. |
Material.A | Wert aus dem A-Kanal der Textur ablesen. |
metalnessMap : Texture
Diese Eigenschaft legt eine Textur fest, die verwendet wird, um den Metallisierungsgrad für die verschiedenen Teile des Materials festzulegen.
minHeightMapSamples : int
Diese Eigenschaft definiert die minimale Anzahl von Samples, die für die Durchführung von Parallex Occlusion Mapping unter Verwendung von heightMap verwendet werden. Der Wert minHeightMapSamples ist die Anzahl der Samples von heightMap, die verwendet werden, wenn man direkt auf eine Oberfläche schaut (wenn die Kameraansicht senkrecht zum Fragment steht). Der Standardwert ist 8.
Die tatsächliche Anzahl der Samples, die für jedes Fragment verwendet wird, liegt zwischen minHeightMapSamples und maxHeightMapSamples, abhängig vom Winkel der Kamera relativ zur gerenderten Oberfläche.
Hinweis: Dieser Wert sollte nur für die Feinabstimmung von Materialien unter Verwendung von heightMap angepasst werden, falls unerwünschte Artefakte vorhanden sind.
normalMap : Texture
Diese Eigenschaft definiert ein RGB-Bild, das verwendet wird, um eine feine Geometrieverschiebung über die Oberfläche des Materials zu simulieren. Die RGB-Kanäle zeigen XYZ-Normalabweichungen an.
Hinweis: Normalenbilder haben keinen Einfluss auf die Silhouette eines Modells.
normalStrength : real
Diese Eigenschaft steuert den Betrag der simulierten Verschiebung für die normalMap.
occlusionAmount : real
Diese Eigenschaft enthält den Faktor, der verwendet wird, um die Werte aus der Textur occlusionMap zu ändern. Der Wert sollte zwischen 0,0 und 1,0 liegen. Der Standardwert ist 1.0
occlusionChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den Okklusionswert von occlusionMap zu lesen. Der Standardwert ist Material.R.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus dem R-Kanal der Textur lesen. |
Material.G | Wert aus dem G-Kanal der Textur lesen. |
Material.B | Wert aus Textur B-Kanal lesen. |
Material.A | Wert aus dem A-Kanal der Textur ablesen. |
occlusionMap : Texture
Diese Eigenschaft definiert eine Textur, mit der festgelegt wird, wie viel Licht die verschiedenen Bereiche des Materials erhalten sollen. Es wird erwartet, dass die Werte linear von 0,0 bis 1,0 verlaufen, wobei 0,0 bedeutet, dass keine Beleuchtung erfolgt und 1,0 bedeutet, dass die Wirkung der Beleuchtung unverändert bleibt.
Siehe auch occlusionAmount.
opacity : real
Diese Eigenschaft verringert die Deckkraft nur dieses Materials, unabhängig vom Modell.
opacityChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den Deckkraftwert von opacityMap zu lesen. Der Standardwert ist Material.A.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus dem R-Kanal der Textur lesen. |
Material.G | Wert aus dem G-Kanal der Textur lesen. |
Material.B | Wert aus Textur B-Kanal lesen. |
Material.A | Wert aus dem A-Kanal der Textur ablesen. |
opacityMap : Texture
Diese Eigenschaft definiert eine Textur, die verwendet wird, um die Deckkraft für verschiedene Teile des Materials unterschiedlich zu steuern.
pointSize : real
Diese Eigenschaft bestimmt die Größe der gerenderten Punkte, wenn die Geometrie einen primitiven Punkttyp verwendet. Der Standardwert ist 1.0. Diese Eigenschaft ist nicht relevant, wenn andere Geometrietypen gerendert werden, z. B. Dreiecksnetze.
Warnung: Andere Punktgrößen als 1 werden je nach der zugrunde liegenden Grafik-API zur Laufzeit möglicherweise nicht unterstützt. Die Einstellung einer anderen Größe als 1 hat zum Beispiel keine Auswirkungen auf Direct 3D.
roughness : real
Diese Eigenschaft steuert die Größe der von Lichtern erzeugten Glanzlichter und die Klarheit von Reflexionen im Allgemeinen. Größere Werte erhöhen die Rauheit, machen die Glanzlichter weicher und die Reflexionen unschärfer. Der Bereich ist [0.0, 1.0]. Der Standardwert ist 0.
roughnessChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, mit dem der Rauheitswert von roughnessMap gelesen wird. Der Standardwert ist Material.G.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus Textur R-Kanal lesen. |
Material.G | Wert aus dem G-Kanal der Textur lesen. |
Material.B | Wert aus Textur B-Kanal lesen. |
Material.A | Wert aus dem A-Kanal der Textur ablesen. |
roughnessMap : Texture
Diese Eigenschaft definiert eine Textur zur Steuerung der spiegelnden Rauheit des Materials.
specularAmount : real
Diese Eigenschaft steuert die Stärke des Glanzes (Glanzlichter und Reflexionen).
Der Bereich ist [0.0, 1.0]. Der Standardwert ist 1.0.
Hinweis: Für Nicht-Dielektrika (Metalle) hat diese Eigenschaft keine Wirkung.
Hinweis: Diese Eigenschaft wirkt sich nicht auf die specularReflectionMap aus, wohl aber auf die Stärke der Reflexionen einer Szene SceneEnvironment::lightProbe.
specularChannel : enumeration [since 6.8]
Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den spiegelnden Farbwert von specularMap zu lesen. Um einen einzelnen Texturkanal als Farbe zu verwenden, müssen Sie die specularSingleChannelEnabled aktivieren. Der Standardwert ist Material.R.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus Textur R-Kanal lesen. |
Material.G | Wert aus dem G-Kanal der Textur lesen. |
Material.B | Wert aus Textur B-Kanal lesen. |
Material.A | Wert aus dem A-Kanal der Textur lesen. |
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
specularMap : Texture
Die Eigenschaft definiert eine RGB-Textur zur Modulation der Menge und der Farbe des Glanzes auf der Oberfläche des Materials. Diese Werte werden mit dem Wert specularAmount multipliziert.
Hinweis: Die Specular Map wird ignoriert, es sei denn, das Material ist dielektrisch.
specularReflectionMap : Texture
Diese Eigenschaft legt eine Textur fest, die für spiegelnde Highlights auf dem Material verwendet wird.
Dies wird in der Regel verwendet, um ein Environment Mapping durchzuführen: Wenn das Modell gedreht wird, erscheint die Karte, als ob sie von der Umgebung reflektiert wird. Damit dies wie erwartet funktioniert, muss die Textur mappingMode auf Texture.Environment gesetzt werden. Specular Reflection Maps sind eine einfache Möglichkeit, mit relativ geringem Aufwand ein hochwertiges Aussehen zu erzielen.
Hinweis: Durch die Verknüpfung von light probe mit der SceneEnvironment und der damit verbundenen bildbasierten Beleuchtung lassen sich ähnliche Umgebungsreflexionseffekte erzielen. Lichtsonden sind jedoch eine konzeptionell andere und, was die Leistung angeht, potenziell teurere Lösung. Jeder Ansatz hat seinen eigenen spezifischen Nutzen, und es muss von Fall zu Fall entschieden werden, welcher verwendet werden soll. Wenn es um die Textur geht, die auf die Eigenschaft gesetzt wird, ist specularReflectionMap im Vorteil, da sie keine Einschränkungen aufweist und alle Arten von Texturen unterstützt, auch solche, die ihre Daten aus einer Qt Quick Unterszene über sourceItem beziehen.
Hinweis: Scharfe Bilder lassen Ihr Material sehr glänzend aussehen; je mehr Sie Ihr Bild verwischen, desto weicher erscheint Ihr Material.
Siehe auch Texture::mappingMode.
specularSingleChannelEnabled : bool [since 6.8]
Wenn diese Eigenschaft aktiviert ist, verwendet das Material den Einzelwert von specularChannel aus specularMap als RGB-Wert. Der Standardwert ist false.
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
specularTint : real
Diese Eigenschaft legt fest, wie viel der Grundfarbe zu den spiegelnden Reflexionen beiträgt.
Hinweis: Diese Eigenschaft gilt nur für dielektrische Materialien.
thicknessChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den Dickenwert von transmissionMap zu lesen. Der Standardwert ist Material.G.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus dem R-Kanal der Textur lesen. |
Material.G | Wert aus dem G-Kanal der Textur lesen. |
Material.B | Wert aus Textur B-Kanal lesen. |
Material.A | Wert aus dem A-Kanal der Textur ablesen. |
thicknessFactor : real
Diese Eigenschaft definiert die Dicke des Volumens unter der Oberfläche. Im Gegensatz zu vielen anderen Eigenschaften von PrincipledMaterial ist der in thicknessFactor definierte Wert ein Wert von 0,0 bis +unendlich für die Dicke im Koordinatenraum des Modells. Ein Wert von 0,0 bedeutet, dass das Material dünnwandig ist. Der Standardwert ist 0.0
thicknessMap : Texture
Diese Eigenschaft definiert eine Textur, die zur Bestimmung der Dicke eines Materialvolumens verwendet wird. Der Wert von thicknessFactor wird mit dem aus dieser Textur gelesenen Wert multipliziert.
transmissionChannel : enumeration
Diese Eigenschaft legt den Texturkanal fest, der zum Lesen des Übertragungsprozentsatzes von transmissionMap verwendet wird. Der Standardwert ist Material.R.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus Textur R-Kanal lesen. |
Material.G | Wert aus dem G-Kanal der Textur lesen. |
Material.B | Wert aus Textur B-Kanal lesen. |
Material.A | Wert aus dem A-Kanal der Textur ablesen. |
transmissionFactor : real
Diese Eigenschaft legt den Prozentsatz des Lichts fest, das durch die Oberfläche des Materials durchgelassen wird. Der Standardwert ist 0.0
transmissionMap : Texture
Diese Eigenschaft definiert eine Textur, die verwendet wird, um den Prozentsatz des Lichts zu bestimmen, das durch die Oberfläche durchgelassen wird. Der Wert von transmissionFactor wird mit dem aus dieser Textur gelesenen Wert multipliziert.
vertexColorAlphaMask : enumeration [since 6.8]
Diese Eigenschaft legt den Alphakanal der Scheitelpunktfarbe fest, der als Spezifizierungsmaske verwendet wird. Der Wert ist eine Bit-weise Kombination von Flags. Der Standardwert ist PrincipledMaterial.NoMask.
| Konstante | Beschreibung |
|---|---|
PrincipledMaterial.NoMask | . |
PrincipledMaterial.ClearcoatAmountMask | . |
PrincipledMaterial.ClearcoatRoughnessAmountMask | . |
PrincipledMaterial.ClearcoatNormalStrengthMask | . |
PrincipledMaterial.HeightAmountMask | . |
PrincipledMaterial.MetalnessMask | . |
PrincipledMaterial.RoughnessMask | . |
PrincipledMaterial.NormalStrengthMask | . |
PrincipledMaterial.OcclusionAmountMask | . |
PrincipledMaterial.SpecularAmountMask | . |
PrincipledMaterial.ThicknessFactorMask | . |
PrincipledMaterial.TransmissionFactorMask | . |
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
vertexColorBlueMask : enumeration [since 6.8]
Diese Eigenschaft legt den Blaukanal der Scheitelfarbe fest, der als Spezifizierungsmaske verwendet wird. Der Wert ist eine Bit-weise Kombination von Flags. Der Standardwert ist PrincipledMaterial.NoMask.
| Konstante | Beschreibung |
|---|---|
PrincipledMaterial.NoMask | . |
PrincipledMaterial.ClearcoatAmountMask | . |
PrincipledMaterial.ClearcoatRoughnessAmountMask | . |
PrincipledMaterial.ClearcoatNormalStrengthMask | . |
PrincipledMaterial.HeightAmountMask | . |
PrincipledMaterial.MetalnessMask | . |
PrincipledMaterial.RoughnessMask | . |
PrincipledMaterial.NormalStrengthMask | . |
PrincipledMaterial.OcclusionAmountMask | . |
PrincipledMaterial.SpecularAmountMask | . |
PrincipledMaterial.ThicknessFactorMask | . |
PrincipledMaterial.TransmissionFactorMask | . |
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
vertexColorGreenMask : enumeration [since 6.8]
Diese Eigenschaft legt den Grünkanal der Scheitelfarbe fest, der als Spezifizierungsmaske verwendet wird. Der Wert ist eine Bit-weise Kombination von Flags. Der Standardwert ist PrincipledMaterial.NoMask.
| Konstante | Beschreibung |
|---|---|
PrincipledMaterial.NoMask | . |
PrincipledMaterial.ClearcoatAmountMask | . |
PrincipledMaterial.ClearcoatRoughnessAmountMask | . |
PrincipledMaterial.ClearcoatNormalStrengthMask | . |
PrincipledMaterial.HeightAmountMask | . |
PrincipledMaterial.MetalnessMask | . |
PrincipledMaterial.RoughnessMask | . |
PrincipledMaterial.NormalStrengthMask | . |
PrincipledMaterial.OcclusionAmountMask | . |
PrincipledMaterial.SpecularAmountMask | . |
PrincipledMaterial.ThicknessFactorMask | . |
PrincipledMaterial.TransmissionFactorMask | . |
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
vertexColorRedMask : enumeration [since 6.8]
Diese Eigenschaft legt den Rotkanal der Scheitelfarbe fest, der als Spezifizierungsmaske verwendet wird. Der Wert ist eine Bit-weise Kombination von Flags. Der Standardwert ist PrincipledMaterial.NoMask.
| Konstante | Beschreibung |
|---|---|
PrincipledMaterial.NoMask | . |
PrincipledMaterial.ClearcoatAmountMask | . |
PrincipledMaterial.ClearcoatRoughnessAmountMask | . |
PrincipledMaterial.ClearcoatNormalStrengthMask | . |
PrincipledMaterial.HeightAmountMask | . |
PrincipledMaterial.MetalnessMask | . |
PrincipledMaterial.RoughnessMask | . |
PrincipledMaterial.NormalStrengthMask | . |
PrincipledMaterial.OcclusionAmountMask | . |
PrincipledMaterial.SpecularAmountMask | . |
PrincipledMaterial.ThicknessFactorMask | . |
PrincipledMaterial.TransmissionFactorMask | . |
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
vertexColorsEnabled : bool [since 6.5]
Wenn diese Eigenschaft aktiviert ist, verwendet das Material die Scheitelfarben des Netzes. Diese werden mit allen anderen für das Material angegebenen Farben multipliziert. Der Standardwert ist true.
Diese Eigenschaft wurde in Qt 6.5 eingeführt.
vertexColorsMaskEnabled : bool [since 6.8]
Wenn diese Eigenschaft aktiviert ist, verwendet das Material Scheitelfarben aus dem Netz als Maske für verschiedene Eigenschaften, z. B. RoughnessAmount, SpecularAmount, ... . Der Standardwert ist false.
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
© 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.