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:

Material

Eigenschaften

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 Shaden 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, deren Alphawert unter den Schwellenwert fällt, werden vollständig transparent gerendert (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 legt fest, 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: Bei der Abtastung einer Grundfarbenkarte ist der effektive Alphawert der abgetastete Alphawert multipliziert mit dem Alphawert von baseColor.

KonstanteBeschreibung
PrincipledMaterial.DefaultEs 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.BlendEs 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.OpaqueEs 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 von weniger 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.MaskEs 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, die als durchschnittliche Entfernung angegeben wird, die 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. Abhängig von der 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.

KonstanteBeschreibung
Material.RWert aus Textur R-Kanal lesen.
Material.GWert aus dem G-Kanal der Textur lesen.
Material.BWert aus Textur B-Kanal lesen.
Material.AWert aus dem A-Kanal der Textur lesen.

Diese Eigenschaft wurde in Qt 6.8 eingeführt.


baseColorMap : Texture

Diese Eigenschaft definiert die Textur, die verwendet wird, um die Grundfarbe des Materials festzulegen.

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 bestimmt, wie die Farben des gerenderten Modells mit denen dahinter übereinstimmen.

KonstanteBeschreibung
PrincipledMaterial.SourceOverStandardüberblendungsmodus. Undurchsichtige Objekte verdecken die Objekte hinter ihnen. Dieser Standardmodus garantiert nicht von sich aus Alpha-Blending 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 Opazitätskarte im Material gibt und alphaMode nicht auf einen Wert gesetzt ist, der Alpha-Blending erzwingt, dann wird das Modell als opak behandelt, d. h. es wird mit aktivierter Tiefenprüfung und Tiefenschreibfunktion zusammen mit anderen opaken Objekten gerendert, wobei das Blending 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.ScreenDie 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.MultiplyDie 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 aus clearcoatMap zu lesen. Der Standardwert ist Material.R.

KonstanteBeschreibung
Material.RWert aus Textur R-Kanal lesen.
Material.GWert aus dem G-Kanal der Textur lesen.
Material.BWert aus Textur B-Kanal lesen.
Material.AWert 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 frontalen Reflexionen (direkter Blick auf die Oberfläche), während die Reflexionen unter Streifwinkeln beibehalten werden. Der Standardwert ist 5.0.


clearcoatFresnelScale : real

Mit dieser Eigenschaft werden frontale Reflexionen (direkter Blick auf die Oberfläche) verringert, während Reflexionen unter Streifwinkeln beibehalten werden. 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 Normalenabbildung bestimmt wird.


clearcoatNormalStrength : real

Diese Eigenschaft steuert den Betrag der simulierten Verschiebung für die clearcoatNormalMap.


clearcoatRoughnessAmount : real

Mit dieser Eigenschaft wird die Rauheit der Klarlackschicht definiert. Der Standardwert ist 0.0


clearcoatRoughnessChannel : enumeration

Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um die Rauhigkeit der Klarlackschicht aus clearcoatRoughnessMap zu lesen. Der Standardwert ist Material.G.

KonstanteBeschreibung
Material.RWert aus Textur R-Kanal lesen.
Material.GWert aus Textur G-Kanal lesen.
Material.BWert aus Textur B-Kanal lesen.
Material.AWert aus Textur A-Kanal 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.

KonstanteBeschreibung
Material.RWert aus Textur R-Kanal lesen.
Material.GWert aus dem G-Kanal der Textur lesen.
Material.BWert aus Textur B-Kanal lesen.
Material.AWert 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 emissive Map gesetzt ist, werden die x-, y- und z-Komponenten als Faktoren (Multiplikatoren) für den R-, G- und B-Kanal 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 frontalen Reflexionen (direkter Blick auf die Oberfläche), während die Reflexionen unter Streifwinkeln beibehalten werden. Der Standardwert ist 5.0.


fresnelScale : real

Mit dieser Eigenschaft werden frontale Reflexionen (direkter Blick auf die Oberfläche) verringert, während Reflexionen unter Streifwinkeln beibehalten werden. Um Änderungen am Material vornehmen zu können, müssen Sie fresnelScaleBiasEnabled aktivieren. Der Standardwert ist 1.0.


fresnelScaleBiasEnabled : real

Wenn Sie den Wert auf true setzen, berücksichtigt das Material Fresnel-Skala und Fresnel-Verzerrung. Der Standardwert ist false.


heightAmount : real

Diese Eigenschaft enthält den Faktor, der verwendet wird, um die Werte aus der heightMap Textur 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.

KonstanteBeschreibung
Material.RWert aus Textur R-Kanal lesen.
Material.GWert aus dem G-Kanal der Textur lesen.
Material.BWert aus Textur B-Kanal lesen.
Material.AWert aus dem A-Kanal der Textur lesen.

heightMap : Texture

Diese Eigenschaft definiert eine Textur, die verwendet wird, um die Höhe zu bestimmen, um die die Textur beim Rendern durch die Verwendung von Parallax Mapping verschoben 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:

MaterialBrechungsindex
Luft1.0
Wasser1.33
Glas1.55
Saphir1.76
Diamant2.42

Hinweis: Kein bekanntes Material auf der Welt hat einen größeren ior 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 Erzeugung 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 (wie 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.

KonstanteWert
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 man parallel zu einer Oberfläche schaut. 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 metalness definiert den Metallgehalt des Materials. Der Wert ist normalisiert, wobei 0,0 bedeutet, dass das Material ein dielektrisches (nicht-metallisches) Material 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 zum Lesen des Metalness-Wertes von metalnessMap verwendet wird. Der Standardwert ist Material.B.

KonstanteBeschreibung
Material.RWert aus Textur R-Kanal lesen.
Material.GWert aus dem G-Kanal der Textur lesen.
Material.BWert aus Textur B-Kanal lesen.
Material.AWert aus Textur A-Kanal lesen.

metalnessMap : Texture

Diese Eigenschaft legt eine Textur fest, die verwendet wird, um den Metallisierungsgrad für die verschiedenen Teile des Materials einzustellen.


minHeightMapSamples : int

Diese Eigenschaft definiert die Mindestanzahl 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 blickt (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 das Ausmaß der simulierten Verschiebung für die normalMap.


occlusionAmount : real

Diese Eigenschaft enthält den Faktor, der verwendet wird, um die Werte aus der occlusionMap Textur 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.

KonstanteBeschreibung
Material.RWert aus Textur R-Kanal lesen.
Material.GWert aus dem G-Kanal der Textur lesen.
Material.BWert aus Textur B-Kanal lesen.
Material.AWert aus Textur A-Kanal lesen.

occlusionMap : Texture

Diese Eigenschaft definiert eine Textur, die verwendet wird, um zu bestimmen, 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 der Effekt der Beleuchtung unverändert bleibt.

Siehe auch occlusionAmount.


opacity : real

Diese Eigenschaft verringert die Deckkraft nur dieses Materials, getrennt vom Modell.


opacityChannel : enumeration

Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den Opazitätswert von opacityMap zu lesen. Der Standardwert ist Material.A.

KonstanteBeschreibung
Material.RWert aus Textur R-Kanal lesen.
Material.GWert aus dem G-Kanal der Textur lesen.
Material.BWert aus Textur B-Kanal lesen.
Material.AWert aus Textur A-Kanal lesen.

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 des von Lichtern erzeugten Glanzlichts 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, der zum Lesen des Rauheitswertes von roughnessMap verwendet wird. Der Standardwert ist Material.G.

KonstanteBeschreibung
Material.RWert aus Textur R-Kanal lesen.
Material.GWert aus dem G-Kanal der Textur lesen.
Material.BWert aus Textur B-Kanal lesen.
Material.AWert aus Textur A-Kanal lesen.

roughnessMap : Texture

Diese Eigenschaft definiert eine Textur zur Steuerung der Spiegelungsrauhigkeit 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 Auswirkung.

Hinweis: Diese Eigenschaft wirkt sich nicht auf specularReflectionMap aus, wohl aber auf die Menge der Reflexionen in 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.

KonstanteBeschreibung
Material.RWert aus Textur R-Kanal lesen.
Material.GWert aus dem G-Kanal der Textur lesen.
Material.BWert aus Textur B-Kanal lesen.
Material.AWert aus dem A-Kanal der Textur lesen.

Diese Eigenschaft wurde in Qt 6.8 eingeführt.


specularMap : Texture

Die Eigenschaft definiert eine RGB-Textur, um die Menge und die Farbe des Glanzes auf der Oberfläche des Materials zu modulieren. Diese Werte werden mit dem 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 eine Umgebungszuordnung vorzunehmen: 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 Sub-Szene ü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 Reflektionen beiträgt.

Hinweis: Diese Eigenschaft gilt nur für dielektrische Materialien.


thicknessChannel : enumeration

Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um die Dicke von transmissionMap zu lesen. Der Standardwert ist Material.G.

KonstanteBeschreibung
Material.RWert aus Textur R-Kanal lesen.
Material.GWert aus Textur G-Kanal lesen.
Material.BWert aus Textur B-Kanal lesen.
Material.AWert 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 definiert den Texturkanal, der verwendet wird, um den Transmissionsprozentsatz aus transmissionMap zu lesen. Der Standardwert ist Material.R.

KonstanteBeschreibung
Material.RWert aus Textur R-Kanal lesen.
Material.GWert aus dem G-Kanal der Textur lesen.
Material.BWert aus Textur B-Kanal lesen.
Material.AWert aus dem A-Kanal der Textur ablesen.

transmissionFactor : real

Diese Eigenschaft definiert den prozentualen Anteil des Lichts, 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 definiert den Alphakanal der Scheitelfarbe, der als Maske für die Spezifizierung verwendet wird. Der Wert ist eine Bit-weise Kombination von Flags. Der Standardwert ist PrincipledMaterial.NoMask.

KonstanteBeschreibung
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 definiert den Blaukanal der Scheitelfarbe, der als Spezifizierungsmaske verwendet wird. Der Wert ist eine Bit-weise Kombination von Flags. Der Standardwert ist PrincipledMaterial.NoMask.

KonstanteBeschreibung
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 definiert den Grünkanal der Scheitelfarbe, der als Spezifizierungsmaske verwendet wird. Der Wert ist eine Bit-weise Kombination von Flags. Der Standardwert ist PrincipledMaterial.NoMask.

KonstanteBeschreibung
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 definiert den Rotkanal der Scheitelfarbe, der als Spezifizierungsmaske verwendet wird. Der Wert ist eine Bit-weise Kombination von Flags. Der Standardwert ist PrincipledMaterial.NoMask.

KonstanteBeschreibung
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 festgelegten 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 Mesh als Maske für verschiedene Eigenschaften, z.B. RoughnessAmount, SpecularAmount, ... . Der Standardwert ist false.

Diese Eigenschaft wurde in Qt 6.8 eingeführt.


© 2025 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.