PrincipledMaterial QML Type
Ermöglicht es Ihnen, ein Material für 3D-Objekte mithilfe des „Metall/Rauheit“-Workflows zu definieren. 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)
Ausführliche Beschreibung
Bevor ein Modell in einer Szene gerendert werden kann, muss ihm mindestens ein Material zugewiesen sein, das beschreibt, wie das Mesh schattiert werden soll. Das PrincipledMaterial ist ein PBR-Material für Metall und Rauheit, das darauf abzielt, ein einfach zu verwendendes Material mit einer minimalen Anzahl von Parametern zu sein. Neben der geringen Anzahl an Parametern sind alle Eingabewerte streng zwischen 0 und 1 normiert und verfügen über sinnvolle Standardwerte, sodass das Material bereits ohne Änderung der Werte zur Schattierung eines Modells verwendet werden kann. Eine Einführung dazu, wie sich die verschiedenen Eigenschaften des „Principled Material“ auf die Schattierung eines Modells auswirken, finden Sie im Beispiel „Principled Material“.
Metall-/Rauheits-Workflow
Das „Principled“-Material ist ein sogenanntes Metall-/Rauheitsmaterial. Im Wesentlichen bedeutet dies, dass die Haupteigenschaften des Materials über die Eigenschaften „ metallness “, „ roughness “ und „ base color “ gesteuert werden.
Metallizität
Materialien der realen Welt lassen sich in zwei Hauptkategorien einteilen: Metalle und Dielektrika (Nichtmetalle). Beim „Principled“-Material wird die Kategorie, zu der ein Material gehört, durch den Wert von „ metalness “ bestimmt. Wird der Wert für „ metalness “ auf 0 gesetzt, handelt es sich um ein Dielektrikum, während alle Werte über 0 als Metall gelten. In der Realität weisen Metalle einen „ metalness “-Wert von 1 auf, doch sind auch Werte zwischen 0 und 1 möglich, die üblicherweise für Metalle mit verringerter Reflektanz verwendet werden. Um beispielsweise Korrosion oder Ähnliches auf einem Material darzustellen, sollte der „ metalness “-Wert des Materials verringert werden, damit die resultierenden Eigenschaften eher denen eines dielektrischen Materials ähneln. Da der „ metalness “-Wert das Reflexionsvermögen des Materials beeinflusst, könnte es verlockend sein, die „Metalness“ zur Anpassung des Glanzgrades zu verwenden; überlegen Sie jedoch zunächst, welche Art von Material Sie darstellen möchten. Eine Erhöhung des Wertes für die „ metalness “, um einem dielektrischen Material ein polierteres Aussehen zu verleihen, führt zu Eigenschaften, die für ein dielektrisches Material nicht zutreffend sind. Überlegen Sie daher, ob es nicht angemessener wäre, stattdessen beispielsweise den Wert für die „ roughness “ anzupassen.
Rauheit
Die „ roughness “ eines Materials beschreibt den Zustand der Oberfläche eines Objekts. Ein niedriger Wert für „ roughness “ bedeutet, dass das Objekt eine glatte Oberfläche hat und daher stärker reflektiert als ein Material mit einem höheren Wert für „ roughness “.
Grundfarbe
Der „ base color “-Wert eines Metall-/Rauheitsmaterials enthält sowohl diffuse als auch spiegelnde Daten; inwieweit die Grundfarbe als das eine oder das andere interpretiert wird, wird in erster Linie durch den „ metalness “-Wert bestimmt. Beispielsweise wird bei einem Material mit einem „Metalness“-Wert von 1 der Großteil seiner Grundfarbe als spiegelnde Farbe interpretiert, während die diffuse Farbe einen schwarzen Farbton annimmt. Bei einem Material mit einem „Metalness“-Wert von 0 wäre es genau umgekehrt. Das ist natürlich etwas vereinfacht dargestellt, vermittelt aber einen groben Eindruck davon, wie die Werte für „ base color “ und „ metalness “ zusammenwirken. Für diejenigen, die mit einem „Specular/Glossiness“-Workflow besser vertraut sind, gibt es hier einen deutlichen Unterschied, der erwähnenswert ist: Die Farbdaten der beiden Materialien sind nicht direkt kompatibel, da in einem „Specular/Glossiness“- material die diffuse und die spiegelnde Farbe aus separaten Eingaben stammen.
Dokumentation zu den Eigenschaften
alphaCutoff : real
Mit der Eigenschaft „alphaCutoff“ kann der Schwellenwert für die Verwendung von „ Mask alphaMode “ festgelegt werden. 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 Alpha-Wert gleich oder größer als der Schwellenwert ist, bleibt die Farbe unverändert.
Der Standardwert beträgt 0,5.
Siehe auch „ alphaMode “.
alphaMode : enumeration
Diese Eigenschaft legt fest, wie der Alpha-Farbwert aus „ baseColor “ und der Alphakanal eines „ base color map “ verwendet werden.
Hinweis: Der Alpha-Cutoff-Test berücksichtigt nur den Alpha-Wert der Basisfarbe. „ opacity “ und „ Node::opacity “ werden dabei nicht berücksichtigt.
Hinweis: Beim Abtasten einer Grundfarbkarte entspricht der effektive Alpha-Wert dem abgetasteten Alpha-Wert multipliziert mit dem Alpha-Wert von baseColor.
| Konstante | Beschreibung |
|---|---|
PrincipledMaterial.Default | Es wird kein Test angewendet, der effektive Alpha-Wert wird unverändert weitergegeben. Beachten Sie, dass ein „ baseColor “- oder „ baseColorMap “-Alpha-Wert, der kleiner als „ 1.0 “ ist, nicht automatisch ein Alpha-Blending impliziert; das Objekt mit dem Material kann weiterhin als undurchsichtig behandelt werden, wenn keine anderen relevanten Eigenschaften (wie z. B. eine Opazität kleiner als 1, das Vorhandensein einer Opazitätskarte 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 stattfindet, setzen Sie stattdessen „ Blend “. |
PrincipledMaterial.Blend | Es wird kein Cutoff-Test angewendet, aber es wird garantiert, dass Alpha-Blending stattfindet. Das Objekt mit diesem Material wird daher vom Renderer niemals als undurchsichtig behandelt. |
PrincipledMaterial.Opaque | Es wird kein Cutoff-Test durchgeführt, und das gerenderte Objekt wird als vollständig undurchsichtig angenommen, was bedeutet, dass die Alpha-Werte in der Vertex-Farbe, der Grundfarbe und der Grundfarbkarte ignoriert und stattdessen durch den Wert 1,0 ersetzt werden. Dieser Modus garantiert nicht, dass kein Alpha-Blending stattfindet. Wenn relevante Eigenschaften (wie z. B. eine Opazität kleiner als 1, eine Opazitätskarte oder ein nicht standardmäßiger „ blendMode “) dies vorsehen, wird das Objekt von der Rendering-Pipeline weiterhin als halbtransparent behandelt, genau wie beim „ Default “-alphaMode. |
PrincipledMaterial.Mask | Es wird ein auf ` alphaCutoff ` basierender Test durchgeführt. Falls der effektive Alpha-Wert unter ` alphaCutoff` fällt, wird das Fragment auf vollständig transparent gesetzt und verworfen (mit allen Konsequenzen des Verwerfens: Der Tiefenpuffer wird für dieses Fragment nicht geschrieben). Andernfalls wird der Alpha-Wert auf 1,0 gesetzt, sodass das Fragment vollständig undurchsichtig wird. Beim Alpha-Blending entspricht das Verhalten dieses Modus dem von „ Opaque “, unabhängig vom Ergebnis des Cutoff-Tests. Damit werden die Implementierungshinweise zur Alpha-Abdeckung in der glTF-2-Spezifikation erfüllt. Objekte mit Alpha-Cutoff-Tests können ebenfalls 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äßiges „ blendMode “) legen etwas anderes nahe (in diesem Fall ist das Werfen von Schatten nicht möglich). |
Siehe auch alphaCutoff und blendMode.
attenuationColor : color
Diese Eigenschaft legt fest, welche Farbe weißes Licht aufgrund der Absorption annimmt, wenn es die Dämpfungsentfernung erreicht. Der Standardwert ist Qt.White
attenuationDistance : real
Diese Eigenschaft definiert die Dichte des Mediums, angegeben als die durchschnittliche Strecke, die das Licht im Medium zurücklegt, bevor es mit einem Teilchen in Wechselwirkung tritt. Der Wert wird im Weltraum angegeben. Der Standardwert beträgt +infinity.
baseColor : color
Diese Eigenschaft legt die Grundfarbe für das Material fest. Je nach Art des angegebenen Materials (Metall oder Dielektrikum) werden die Kanäle für diffuse und spiegelnde Reflexion entsprechend eingestellt. Beispielsweise hat ein dielektrisches Material eine diffuse Farbe, die der Grundfarbe entspricht, während seine Spiegelungsfarbe – abhängig vom Spiegelungsgrad – eine helle Spiegelungsfarbe aufweist. Bei Metallen werden die diffuse und die Spiegelungsfarbe aus der Grundfarbe gemischt, sodass ein dunkler diffuser Kanal und ein Spiegelungskanal entsteht, der der Grundfarbe nahekommt.
Siehe auch baseColorMap und alphaMode.
baseColorChannel : enumeration [since 6.8]
Diese Eigenschaft definiert den Texturkanal, der zum Auslesen des Werts „ baseColor “ aus „ baseColorMap “ verwendet wird. Um einen einzelnen Texturkanal als Farbe zu verwenden, müssen Sie die Option „ baseColorSingleChannelEnabled “ aktivieren. Der Standardwert ist „ Material.R “.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus dem R-Kanal der Textur lesen. |
Material.G | Liest den Wert aus dem G-Kanal der Textur. |
Material.B | Liest den Wert aus dem B-Kanal der Textur. |
Material.A | Liest den Wert aus dem A-Kanal der Textur. |
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
baseColorMap : Texture
Diese Eigenschaft definiert die Textur, die zur Festlegung 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 sich die Farben des gerenderten Modells mit denen im Hintergrund vermischen.
| Konstante | Beschreibung |
|---|---|
PrincipledMaterial.SourceOver | Standard-Überblendmodus. Undurchsichtige Objekte verdecken die dahinter liegenden Objekte. Dieser Standardmodus garantiert für Modelle, die dieses Material verwenden, nicht automatisch eine Alpha-Überblendung in der Rendering-Pipeline, sondern macht die Entscheidung von einer Reihe von Faktoren abhängig: Wenn die Gesamtopazität des Objekts und des Materials „ 1.0 “ beträgt, das Material keine Opazitätskarte enthält und „ alphaMode “ nicht auf einen Wert gesetzt ist, der Alpha-Blending erzwingt, wird das Modell als undurchsichtig behandelt. Das bedeutet, es wird zusammen mit anderen undurchsichtigen Objekten bei aktivierten Tiefenprüfungen und Tiefenschreibvorgängen gerendert, wobei das Überblenden deaktiviert ist. Andernfalls wird das Modell als halbtransparent behandelt und nach den opaken Objekten gerendert – zusammen mit anderen halbtransparenten Objekten in einer Reihenfolge von hinten nach vorne, basierend auf dem Abstand ihres Mittelpunkts zur Kamera, wobei das Alpha-Blending aktiviert ist. |
PrincipledMaterial.Screen | Farben werden mit einer invertierten Multiplikation gemischt, was zu einem helleren Ergebnis führt. Dieser Mischmodus ist reihenfolgeunabhängig; wenn Sie halbtransparente Objekte verwenden und „Popping“ auftreten, weil Flächen oder Modelle unterschiedlich sortiert werden, ist die Verwendung von „Screen Blending“ eine Möglichkeit, Ergebnisse ohne Popping zu erzielen. |
PrincipledMaterial.Multiply | Farben werden mit der Multiplikation gemischt, was zu einem dunkleren Ergebnis führt. Dieser Mischmodus ist ebenfalls reihenfolgeunabhängig. |
Siehe auch „ alphaMode “ und „Qt Quick 3D -Architektur“.
clearcoatAmount : real
Diese Eigenschaft legt die Intensität der Klarlackschicht fest.
Der Standardwert lautet 0.0
clearcoatChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, über den der Wert für die Klarlackmenge aus „ clearcoatMap “ ausgelesen wird. 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 dem B-Kanal der Textur lesen. |
Material.A | Liest den Wert aus dem A-Kanal der Textur. |
clearcoatFresnelBias : real
Diese Eigenschaft verstärkt frontale Reflexionen (bei direktem Blick auf die Oberfläche), während Reflexionen unter streifenden Winkeln erhalten bleiben. Um Änderungen am Material vorzunehmen, müssen Sie „ clearcoatFresnelScaleBiasEnabled “ aktivieren. Der Standardwert lautet „ 0.0 “.
clearcoatFresnelPower : real
Diese Eigenschaft verringert frontale Reflexionen (bei direktem Blick auf die Oberfläche), während Reflexionen unter flachen Einfallswinkeln erhalten bleiben. Der Standardwert ist „ 5.0 “.
clearcoatFresnelScale : real
Diese Eigenschaft skaliert die frontalen Reflexionen (bei direkter Betrachtung der Oberfläche), während die Reflexionen bei streifenden Einfallswinkeln erhalten bleiben. Um Änderungen am Material vorzunehmen, müssen Sie die Option „ clearcoatFresnelScaleBiasEnabled “ aktivieren. Der Standardwert ist „ 1.0 “.
clearcoatFresnelScaleBiasEnabled : real
Wenn der Wert auf „true“ gesetzt wird, berücksichtigt das Material die Parameter „Clearcoat Fresnel Scale“ und „Clearcoat Fresnel Bias“. Der Standardwert lautet „ false “.
clearcoatMap : Texture
Diese Eigenschaft definiert eine Textur, anhand derer die Intensität der Klarlackschicht bestimmt wird. Der Wert von „clearcoatAmount “ wird mit dem aus dieser Textur ausgelesenen Wert multipliziert.
clearcoatNormalMap : Texture
Diese Eigenschaft definiert eine Textur, anhand derer das auf die Klarlackschicht angewendete Normal-Mapping bestimmt wird.
clearcoatNormalStrength : real
Diese Eigenschaft steuert das Ausmaß der simulierten Verschiebung für das „ clearcoatNormalMap “.
clearcoatRoughnessAmount : real
Diese Eigenschaft bestimmt die Rauheit der Klarlackschicht. Der Standardwert lautet 0.0
clearcoatRoughnessChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der zum Auslesen des Rauheitswerts der Klarlackschicht aus „ clearcoatRoughnessMap “ verwendet wird. 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 dem B-Kanal der Textur lesen. |
Material.A | Liest den Wert aus dem A-Kanal der Textur. |
clearcoatRoughnessMap : Texture
Diese Eigenschaft definiert eine Textur, anhand derer die Rauheit der Klarlackschicht bestimmt wird. Der Wert von „clearcoatRoughnessAmount “ wird mit dem aus dieser Textur ausgelesenen Wert multipliziert.
emissiveChannel : enumeration [since 6.8]
Diese Eigenschaft definiert den Texturkanal, der zum Auslesen des Emissionswerts aus „ emissiveMap “ verwendet wird. Um einen einzelnen Texturkanal als Farbe zu verwenden, müssen Sie die Option „ emissiveSingleChannelEnabled “ aktivieren. 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 dem B-Kanal der Textur lesen. |
Material.A | Liest den Wert aus dem A-Kanal der Textur. |
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
emissiveFactor : vector3d
Diese Eigenschaft legt die Farbe der Eigenleuchtkraft für dieses Material fest. Wenn eine Emissionskarte festgelegt ist, werden die x-, y- und z-Komponenten als Faktoren (Multiplikatoren) für die R-, G- bzw. B-Kanäle der Textur verwendet. Der Standardwert ist (0, 0, 0) und bedeutet, dass keinerlei Emissionsbeitrag vorliegt.
Hinweis: Wenn der „lightingMode“ auf „DefaultMaterial.NoLighting“gesetzt ist , hat der Emissionsfaktor keine Auswirkung auf die Szene.
emissiveMap : Texture
Diese Eigenschaft legt eine RGB-Textur fest, die zur Festlegung der Intensität der Emissionsfarbe verwendet wird.
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
Diese Eigenschaft verstärkt Reflexionen aus frontalem Blickwinkel (bei direkter Betrachtung der Oberfläche), während Reflexionen aus seitlichen Blickwinkeln beibehalten werden. Um Änderungen am Material vorzunehmen, müssen Sie die Option „ fresnelScaleBiasEnabled “ aktivieren. Der Standardwert ist „ 0.0 “.
fresnelPower : real
Diese Eigenschaft verringert frontale Reflexionen (bei direktem Blick auf die Oberfläche), während Reflexionen unter flachen Einfallswinkeln erhalten bleiben. Der Standardwert lautet „ 5.0 “.
fresnelScale : real
Diese Eigenschaft skaliert die frontalen Reflexionen (bei direktem Blick auf die Oberfläche), während die Reflexionen bei streifenden Einfallswinkeln beibehalten werden. Um Änderungen am Material vorzunehmen, müssen Sie „ fresnelScaleBiasEnabled “ aktivieren. Der Standardwert lautet „ 1.0 “.
fresnelScaleBiasEnabled : real
Wenn der Wert auf „true“ gesetzt wird, berücksichtigt das Material die Parameter „Fresnel Scale“ und „Fresnel Bias“. Der Standardwert lautet „ false “.
heightAmount : real
Diese Eigenschaft enthält den Faktor, mit dem die Werte der Textur „ heightMap “ angepasst werden. Der Wert sollte zwischen 0,0 und 1,0 liegen. Der Standardwert ist 0,0, was bedeutet, dass die Höhenverschiebung deaktiviert ist, selbst wenn eine Höhenkarte festgelegt ist.
heightChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der zum Auslesen des Höhenwerts aus „ heightMap “ verwendet wird. 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 dem B-Kanal der Textur lesen. |
Material.A | Liest den Wert aus dem A-Kanal der Textur aus. |
heightMap : Texture
Diese Eigenschaft definiert eine Textur, anhand derer bestimmt wird, um wie viel die Textur beim Rendern mittels Parallax-Mapping verschoben wird. Die Werte sollten linear zwischen 0,0 und 1,0 liegen, wobei 0,0 keine Verschiebung und 1,0 die maximale Verschiebung bedeutet.
indexOfRefraction : real
Diese Eigenschaft definiert den Brechungsindex des Materials. Der Standardwert „ 1.5 “ ist der Idealwert für Materialien wie Kunststoffe oder Glas, während für andere Materialien wie Wasser, Asphalt, Saphir oder Diamant ein angepasster Wert erforderlich ist, um ein realistischeres Erscheinungsbild zu erzielen. Bei realistischen Materialien sollte der Brechungsindex in der Regel zwischen „ 1.0 “ und 3.0
Einige Beispiele für die Brechungsindizes gängiger Materialien sind:
| Material | Brechungsindex |
|---|---|
| Luft | 1,0 |
| Wasser | 1,33 |
| Glas | 1,55 |
| Saphir | 1,76 |
| Diamant | 2,42 |
Hinweis: Es ist weltweitkein Material bekannt, dessen Brechungsindex deutlich über 3.0 liegt.
invertOpacityMapValue : real [since 6.8]
Diese Eigenschaft kehrt den Opazitätswert von „ opacityMap “ um. 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 lautet PrincipledMaterial.FragmentLighting
Bei Verwendung von „ PrincipledMaterial.FragmentLighting “ werden diffuse und spiegelnde Beleuchtung für jedes gerenderte Pixel berechnet. Bestimmte Effekte (wie z. B. ein Fresnel-Effekt oder eine Normal Map) erfordern „ PrincipledMaterial.FragmentLighting “, um zu funktionieren.
Bei Verwendung von „ PrincipledMaterial.NoLighting “ wird keine Beleuchtung berechnet. Dieser Modus ist (wie zu erwarten) sehr schnell und eignet sich besonders gut für Bildkarten, die nicht durch Beleuchtung schattiert werden müssen. Alle anderen Schattierungseigenschaften mit Ausnahme der Werte für „ baseColor “, der Alpha-Werte und der Scheitelpunktfarben werden ignoriert.
| Konstant | Wert |
|---|---|
PrincipledMaterial.NoLighting | |
PrincipledMaterial.FragmentLighting |
lineWidth : real
Diese Eigenschaft bestimmt die Breite der gerenderten Linien, wenn die Geometrie den Primitivtyp „Linien“ oder „Linienstreifen“ verwendet. Der Standardwert ist 1,0. Diese Eigenschaft spielt beim Rendern anderer Geometrietypen, wie beispielsweise Dreiecksnetze, keine Rolle.
Warnung: Je nach zugrunde liegender Grafik-API werdenLinienbreiten ungleich 1 zur Laufzeit möglicherweise nicht unterstützt. In diesem Fall wird die Anforderung zur Änderung der Breite ignoriert. Beispielsweise ist nicht zu erwarten, dass die folgenden APIs breite Linien unterstützen: Direct3D, Metal, OpenGL mit Core-Profile-Kontexten.
maxHeightMapSamples : int
Diese Eigenschaft legt die maximale Anzahl der Samples fest, die für die Durchführung des Parallax-Occlusion-Mappings unter Verwendung der „ heightMap “ verwendet werden. Der Wert „maxHeightMapSamples“ gibt die Anzahl der Samples der „ heightMap “ an, die verwendet werden, wenn parallel zu einer Oberfläche geblickt wird. Der Standardwert beträgt 32.
Die tatsächliche Anzahl der für jedes Fragment verwendeten Samples liegt zwischen „ minHeightMapSamples “ und „maxHeightMapSamples“, abhängig vom Winkel der Kamera relativ zur gerenderten Oberfläche.
Hinweis: Dieser Wert sollte nur zur Feinabstimmung von Materialien angepasst werden, die eine „ heightMap “ verwenden, falls unerwünschte Artefakte auftreten.
metalness : real
Die Eigenschaft „Metalness“ definiert den Metallgehalt des Materials. Der Wert ist normiert, wobei 0,0 bedeutet, dass es sich um ein dielektrisches (nichtmetallisches) Material handelt, und ein Wert von 1,0 bedeutet, dass es sich um ein Metall handelt.
Hinweis: Grundsätzlich 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 weiterhin zulässig und ergeben ein Material, das eine Mischung aus den verschiedenen Modellen darstellt.
Der Wertebereich liegt zwischen [0,0; 1,0]. Der Standardwert ist 0.
metalnessChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der zum Auslesen des Metallizitätswerts aus „ metalnessMap “ verwendet wird. Der Standardwert ist „ Material.B “.
| 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 dem B-Kanal der Textur lesen. |
Material.A | Liest den Wert aus dem A-Kanal der Textur. |
metalnessMap : Texture
Diese Eigenschaft legt eine Textur fest, die verwendet wird, um den Metallic-Anteil für die verschiedenen Teile des Materials festzulegen.
minHeightMapSamples : int
Diese Eigenschaft legt die Mindestanzahl an Samples fest, die für die Durchführung von Parallax-Occlusion-Mapping unter Verwendung der „ heightMap “ verwendet werden. Der Wert „minHeightMapSamples“ gibt die Anzahl der Samples der „ heightMap “ an, die verwendet werden, wenn direkt auf eine Oberfläche geblickt wird (wenn die Kameraperspektive senkrecht zum Fragment steht). Der Standardwert ist 8.
Die tatsächliche Anzahl der für jedes Fragment verwendeten Samples liegt zwischen „minHeightMapSamples“ und „ maxHeightMapSamples “, abhängig vom Winkel der Kamera relativ zur gerenderten Oberfläche.
Hinweis: Dieser Wert sollte nur zur Feinabstimmung von Materialien angepasst werden, die eine „ heightMap “ verwenden, falls unerwünschte Artefakte auftreten.
normalMap : Texture
Diese Eigenschaft definiert ein RGB-Bild, das zur Simulation feiner Geometrieverschiebungen auf der Oberfläche des Materials verwendet wird. Die RGB-Kanäle geben die XYZ-Normalenabweichungen an.
Hinweis: Normal -Maps haben keinen Einfluss auf die Silhouette eines Modells.
normalStrength : real
Diese Eigenschaft steuert das Ausmaß der simulierten Verschiebung für die Funktion „ normalMap “.
occlusionAmount : real
Diese Eigenschaft enthält den Faktor, mit dem die Werte der Textur „ occlusionMap “ angepasst werden. Der Wert sollte zwischen 0,0 und 1,0 liegen. Der Standardwert ist 1,0.
occlusionChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der zum Auslesen des Okklusionswerts aus „ occlusionMap “ verwendet wird. 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 dem B-Kanal der Textur lesen. |
Material.A | Liest den Wert aus dem A-Kanal der Textur. |
occlusionMap : Texture
Diese Eigenschaft definiert eine Textur, anhand derer bestimmt wird, wie viel Licht die verschiedenen Bereiche des Materials erhalten sollen. Die Werte sollten linear zwischen 0,0 und 1,0 liegen, wobei 0,0 keine Beleuchtung bedeutet und 1,0 bedeutet, dass der Beleuchtungseffekt unverändert bleibt.
Siehe auch „ occlusionAmount “.
opacity : real
Diese Eigenschaft verringert die Deckkraft ausschließlich dieses Materials, unabhängig vom Modell.
opacityChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der zum Auslesen des Deckkraftwerts aus „ opacityMap “ verwendet wird. 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 dem B-Kanal der Textur lesen. |
Material.A | Liest den Wert aus dem A-Kanal der Textur aus. |
opacityMap : Texture
Diese Eigenschaft definiert eine Textur, mit der die Deckkraft für verschiedene Bereiche des Materials unterschiedlich gesteuert wird.
pointSize : real
Diese Eigenschaft legt die Größe der gerenderten Punkte fest, wenn die Geometrie den Primitivtyp „Punkte“ verwendet. Der Standardwert ist 1,0. Diese Eigenschaft spielt beim Rendern anderer Geometrietypen, wie beispielsweise Dreiecksnetze, keine Rolle.
Warnung: Punktgrößen ungleich 1 werden je nach der zugrunde liegenden Grafik-API möglicherweise zur Laufzeit nicht unterstützt. Bei Direct 3D hat die Einstellung einer Größe ungleich 1 beispielsweise keine Auswirkung.
roughness : real
Diese Eigenschaft steuert die Größe der von Lichtquellen erzeugten Spiegelungshighlights sowie die Schärfe von Reflexionen im Allgemeinen. Höhere Werte erhöhen die Rauheit, wodurch Spiegelungshighlights weicher werden und Reflexionen unschärfer erscheinen. Der Wertebereich liegt zwischen [0,0; 1,0]. Der Standardwert ist 0.
roughnessChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der zum Auslesen des Rauheitswerts aus „ roughnessMap “ verwendet wird. Der Standardwert ist „ Material.G “.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus dem R-Kanal der Textur auslesen. |
Material.G | Wert aus dem G-Kanal der Textur lesen. |
Material.B | Wert aus dem B-Kanal der Textur lesen. |
Material.A | Liest den Wert aus dem A-Kanal der Textur aus. |
roughnessMap : Texture
Diese Eigenschaft definiert eine Textur, mit der die Spiegelungsrauheit des Materials gesteuert wird.
specularAmount : real
Diese Eigenschaft steuert die Stärke der Spiegelungen (Highlights und Reflexionen).
Der Wertebereich liegt zwischen [0,0; 1,0]. Der Standardwert ist „ 1.0 “.
Hinweis: Bei nicht-dielektrischen Materialien (Metallen) hat diese Eigenschaft keine Auswirkung.
Hinweis: Diese Eigenschaft hat keinen Einfluss auf die „ specularReflectionMap “, beeinflusst jedoch die Anzahl der Reflexionen von den „ SceneEnvironment::lightProbe “ einer Szene.
specularChannel : enumeration [since 6.8]
Diese Eigenschaft definiert den Texturkanal, der zum Auslesen des Spiegelungsfarbwerts aus „ specularMap “ verwendet wird. Um einen einzelnen Texturkanal als Farbe zu verwenden, müssen Sie die Option „ specularSingleChannelEnabled “ aktivieren. Der Standardwert lautet „ 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 dem B-Kanal der Textur lesen. |
Material.A | Liest den Wert aus dem A-Kanal der Textur. |
Diese Eigenschaft wurde in Qt 6.8 eingeführt.
specularMap : Texture
Die Eigenschaft definiert eine RGB-Textur, um die Intensität und die Farbe der Spiegelung auf der Oberfläche des Materials zu modulieren. Diese Werte werden mit dem „ specularAmount “ multipliziert.
Hinweis: Die Spiegelungskarte wird ignoriert, sofern es sich nicht um ein dielektrisches Material handelt.
specularReflectionMap : Texture
Diese Eigenschaft legt eine Textur fest, die für Spiegelungsreflexe auf dem Material verwendet wird.
Dies wird typischerweise für das Environment Mapping verwendet: Wenn das Modell gedreht wird, wirkt die Map so, als würde sie die Umgebung reflektieren. Damit dies wie erwartet funktioniert, muss die Eigenschaft „ mappingMode “ der Textur auf „Texture.Environment“ gesetzt sein. Specular-Reflection-Maps sind eine einfache Möglichkeit, mit relativ geringem Aufwand ein hochwertiges Erscheinungsbild zu erzielen.
Hinweis: Durch die Verknüpfung eines „ light probe “ mit dem „ SceneEnvironment “ und somit die Nutzung bildbasierter Beleuchtung lassen sich ähnliche Umgebungsreflexionseffekte erzielen. Light Probes sind jedoch ein konzeptionell anderes und, was die Leistung angeht, potenziell aufwendigeres Verfahren. Jeder Ansatz hat seine spezifischen Anwendungsbereiche, und die Wahl des geeigneten Ansatzes muss von Fall zu Fall entschieden werden. Was die auf die Eigenschaft festgelegte Textur betrifft, hat „specularReflectionMap“ einen Vorteil, da sie keine Einschränkungen aufweist und alle Arten von Texturen unterstützt, einschließlich solcher, deren Daten aus einer „ Qt Quick “-Unterszene über „ sourceItem “ stammen.
Hinweis: Scharfe Bilder lassen Ihr Material sehr glänzend erscheinen; je stärker Sie Ihr Bild verwischen, desto weicher wirkt 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, in welchem Maße die Grundfarbe zu den Spiegelreflexionen beiträgt.
Hinweis: Diese Eigenschaft gilt nur für dielektrische Materialien.
thicknessChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der zum Auslesen des Dickenwerts aus „ transmissionMap “ verwendet wird. 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 dem B-Kanal der Textur lesen. |
Material.A | Liest den Wert aus dem A-Kanal der Textur aus. |
thicknessFactor : real
Diese Eigenschaft legt die Dicke des Volumens unterhalb der Oberfläche fest. Im Gegensatz zu vielen anderen Eigenschaften von „ PrincipledMaterial “ ist der in „thicknessFactor“ definierte Wert ein Wert zwischen 0,0 und +unendlich für die Dicke im Koordinatensystem 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 Festlegung der Dicke eines Materialvolumens verwendet wird. Der Wert von „ thicknessFactor “ wird mit dem aus dieser Textur ausgelesenen Wert multipliziert.
transmissionChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der zum Auslesen des Durchlässigkeitsprozentsatzes aus „ transmissionMap “ verwendet wird. Der Standardwert lautet „ 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 dem B-Kanal der Textur lesen. |
Material.A | Liest den Wert aus dem A-Kanal der Textur. |
transmissionFactor : real
Diese Eigenschaft gibt an, wie viel Prozent des Lichts durch die Oberfläche des Materials hindurchgelassen wird. Der Standardwert beträgt 0.0
transmissionMap : Texture
Diese Eigenschaft definiert eine Textur, anhand derer der prozentuale Lichtdurchlass der Oberfläche bestimmt wird. Der Wert von „ transmissionFactor “ wird mit dem aus dieser Textur ausgelesenen Wert multipliziert.
vertexColorAlphaMask : enumeration [since 6.8]
Diese Eigenschaft definiert den Alpha-Kanal der Vertexfarbe, der als angegebene Maske verwendet wird. Der Wert ist eine bitweise Kombination von Flags. Der Standardwert lautet „ 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 definiert den Blaukanal der Vertexfarbe, der als angegebene Maske verwendet wird. Der Wert ist eine bitweise Kombination von Flags. Der Standardwert lautet „ 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 definiert den Grünkanal der Vertexfarbe, der als angegebene Maske verwendet wird. Der Wert ist eine bitweise Kombination von Flags. Der Standardwert lautet „ 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 definiert den Rotkanal der Vertexfarbe, der als angegebene Maske verwendet wird. Der Wert ist eine bitweise Kombination von Flags. Der Standardwert lautet „ 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 Scheitelpunktfarben des Meshes. 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 die Scheitelpunktfarben des Meshes 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.