DefaultMaterial QML Type
Ermöglicht es Ihnen, ein Material für 3D-Objekte mithilfe des „Specular/Glossiness“-Workflows zu definieren. Mehr...
| Import Statement: | import QtQuick3D |
| Inherits: | |
| Status: | Deprecated since 6.4 |
Dieser Typ ist seit QtQuick3D 6.4 veraltet. Wir raten dringend davon ab, ihn in neuem Code zu verwenden.
Eigenschaften
- blendMode : enumeration
- bumpAmount : real
- bumpMap : Texture
- diffuseColor : color
- diffuseLightWrap : real
- diffuseMap : Texture
- emissiveFactor : vector3d
- emissiveMap : Texture
- fresnelPower : real
- indexOfRefraction : real
- lighting : enumeration
- lineWidth : real
- normalMap : Texture
- opacity : real
- opacityChannel : enumeration
- opacityMap : Texture
- pointSize : real
- roughnessChannel : enumeration
- roughnessMap : Texture
- specularAmount : real
- specularMap : Texture
- specularModel : enumeration
- specularReflectionMap : Texture
- specularRoughness : real
- specularTint : color
- translucencyChannel : enumeration
- translucencyMap : Texture
- translucentFalloff : real
- vertexColorsEnabled : bool
Ausführliche Beschreibung
Verwenden Sie stattdessen vorzugsweise die „ PrincipledMaterial “ oder „ SpecularGlossyMaterial “.
Warnung: Dieses Material wird nur aus Kompatibilitätsgründen bereitgestellt und sollte nicht in neuem Code verwendet werden. Verwenden Sie vorzugsweise das „ SpecularGlossyMaterial “ zum Erstellen von Materialien mit dem „Specular/Glossiness“-Workflow oder das „ PrincipledMaterial “ zum Erstellen von Materialien mit dem „Metal/Roughness“-Workflow.
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 „DefaultMaterial“ ist ein benutzerfreundliches Material, mit dem Sie Ihr Material mithilfe eines „Specular/Glossiness“-Workflows beschreiben können. Das Material verfügt über sinnvolle Standardeinstellungen und kann verwendet werden, um ein Modell zu schattieren, ohne dass Eigenschaften geändert werden müssen.
„Specular/Glossiness“-Workflow
Das Standardmaterial bietet die Möglichkeit, Materialien mithilfe eines „Specular/Glossiness“-Workflows zu erstellen. Die wichtigsten Eigenschaften des Materials werden über die Eigenschaften „ specular “, „ roughness “ und „ diffuse color “ gesteuert.
Spiegelung
Die Eigenschaft „ specular reflectivity “ beschreibt den Spiegelungsgrad und die Farbe der Oberfläche eines Objekts. Bei reflektierenden Materialien stammt der Hauptanteil der Farbe aus dieser Eigenschaft.
Glanz (Rauheit)
Der Glanzgrad einer Oberfläche hängt davon ab, wie glatt oder unregelmäßig die Oberfläche ist. Eine glatte Oberfläche reflektiert das Licht intensiver als eine raue Oberfläche, bei der die Lichtreflexion stärker gestreut wird. Im Standardmaterial wird der Glanzgrad des Materials über die Eigenschaft „ roughness “ gesteuert.
Diffuse Farbe
Die Eigenschaft „ diffuse color “ beschreibt die Grundfarbe des Materials. Im Gegensatz zur Grundfarbe des „ PrincipledMaterial “ enthält die diffuse Farbe keine Informationen über die Reflektanz des Materials. Bei reflektierenden Oberflächen sollte die diffuse Farbe jedoch auf einen Schwarzstich eingestellt werden, damit die spiegelnde Farbe zum Tragen kommt.
Eigenschaftsdokumentation
blendMode : enumeration
Diese Eigenschaft legt fest, wie sich die Farben des gerenderten Modells mit denen im Hintergrund vermischen.
| Konstante | Beschreibung |
|---|---|
DefaultMaterial.SourceOver | Standard-Mischmodus. Undurchsichtige Objekte verdecken die dahinter liegenden Objekte. Dieser Standardmodus garantiert für Modelle, die dieses Material verwenden, nicht automatisch das Alpha-Blending in der Render-Pipeline, sondern macht die Entscheidung von einer Reihe von Faktoren abhängig: Wenn die Gesamtopazität des Objekts und des Materials „ 1.0 “ ist und das Material keine Textur-Maps mit halbtransparenten Pixeln enthält, wird das Modell als undurchsichtig behandelt. Das bedeutet, es wird zusammen mit anderen undurchsichtigen Objekten bei aktivierter Tiefenprüfung und aktivem Tiefenschreiben gerendert, wobei das Überblenden 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 Mittelpunkts zur Kamera, wobei das Alpha-Blending aktiviert ist. |
DefaultMaterial.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 der „Screen“-Mischung eine Möglichkeit, Ergebnisse ohne „Popping“ zu erzielen. |
DefaultMaterial.Multiply | Farben werden mit der Multiplikation gemischt, was zu einem dunkleren Ergebnis führt. Dieser Mischmodus ist ebenfalls reihenfolgeunabhängig. |
Siehe auch „Qt Quick 3D -Architektur“.
bumpAmount : real
Diese Eigenschaft steuert das Ausmaß der simulierten Verschiebung für die Funktionen „ bumpMap “ oder „ normalMap “. Der Standardwert ist „ 0 “, wodurch der Bump-Effekt deaktiviert wird. Der Wertebereich liegt zwischen [0, 1].
bumpMap : Texture
Diese Eigenschaft definiert eine Graustufen-Textur, um feine Geometrieverschiebungen auf der Oberfläche des Materials zu simulieren. Hellere Pixel kennzeichnen erhabene Bereiche. Die Stärke des Effekts wird durch die Eigenschaft „ bumpAmount “ gesteuert.
Hinweis: Bump-Maps haben keinen Einfluss auf die Silhouette eines Modells.
diffuseColor : color
Diese Eigenschaft bestimmt die diffuse Farbe (Albedo) des Materials. Wenn Sie die diffuse Farbe auf einen schwarzen Farbton einstellen, entsteht ein rein spiegelndes Material (z. B. Metalle oder Spiegel).
diffuseLightWrap : real
Diese Eigenschaft bestimmt den Umfang der Lichtumwicklung für die Transluzenzkarte. Bei einem Wert von 0 wird das Licht überhaupt nicht umwickelt, während bei einem Wert von 1 das Licht vollständig um das Objekt herum umwickelt wird.
diffuseMap : Texture
Diese Eigenschaft definiert eine Textur, die auf das Material angewendet werden soll. Bei Verwendung einer transparenten Textur wird der Alphakanal zusätzlich als Deckkraftkarte angewendet.
emissiveFactor : vector3d
Diese Eigenschaft bestimmt die Farbe der Selbstleuchtkraft für dieses Material. 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 keinen Einfluss auf die Szene.
emissiveMap : Texture
Diese Eigenschaft legt eine RGB-Textur fest, die zur Festlegung der Intensität der Emissionsfarbe verwendet wird.
Siehe auch „ emissiveFactor “.
fresnelPower : real
Diese Eigenschaft reduziert frontale Reflexionen (bei direktem Blick auf die Oberfläche), während Reflexionen unter streifenden Winkeln erhalten bleiben. Der Standardwert ist „ 0 “, wodurch der Fresnel-Effekt deaktiviert wird.
indexOfRefraction : real
Diese Eigenschaft legt fest, welche Reflexionswinkel von der „ fresnelPower “ beeinflusst werden. Die Standardeinstellung ist „ 1.45 “. Der Wert muss größer oder gleich „ 1.0 “ sein.
Hinweis: Es ist kein Material bekannt, dessen ior deutlich größer als 3.0 ist.
lighting : enumeration
Diese Eigenschaft legt fest, welche Beleuchtungsmethode bei der Erstellung dieses Materials verwendet wird.
Der Standardwert lautet DefaultMaterial.FragmentLighting
Bei Verwendung von „ DefaultMaterial.FragmentLighting “ werden diffuse und spiegelnde Beleuchtung für jedes gerenderte Pixel berechnet. Bestimmte Effekte (wie z. B. eine Fresnel- oder Bump-Map) erfordern „ DefaultMaterial.FragmentLighting “, um zu funktionieren.
Bei Verwendung von „ DefaultMaterial.NoLighting “ wird keine Beleuchtung berechnet. Dieser Modus ist (wie zu erwarten) sehr schnell und besonders effektiv, wenn Bildkarten verwendet werden, die nicht durch Beleuchtung schattiert werden müssen.
| Konstant | Beschreibung |
|---|---|
DefaultMaterial.NoLighting | Es wird keine Beleuchtung berechnet. |
DefaultMaterial.FragmentLighting | Die Beleuchtung wird pro Fragment berechnet. |
lineWidth : real
Diese Eigenschaft legt die Breite der gerenderten Linien fest, wenn die Geometrie den Primitivtyp „Linien“ oder „Linienstreifen“ verwendet. Der Standardwert ist 1,0. Diese Eigenschaft ist beim Rendern anderer Geometrietypen, wie beispielsweise Dreiecksnetze, nicht relevant.
Warnung: Je nach der zugrunde liegenden 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.
Hinweis: Im Gegensatz zu den meisten anderen Materialeigenschaften wird die Linienbreite intern in ein Grafik-Pipeline-Objekt eingebettet, ähnlich wie bei „ blendMode “. Daher führt ein anderer Wert dazu, dass ein neues Pipeline-Objekt erstellt werden muss, was im Laufe der Zeit aufwendig werden kann (Leistung und Ressourcenverbrauch), wenn die Eigenschaft häufig auf viele verschiedene Werte geändert wird. Beispielsweise ist eine Animation dieser Eigenschaft zwar möglich, sollte jedoch vermieden werden.
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 Abweichungen in X-, Y- und Z-Richtung an. Die Stärke des Effekts wird über die Eigenschaft „ bumpAmount “ gesteuert.
Hinweis: Normal Maps haben keinen Einfluss auf die Silhouette eines Modells.
opacity : real
Diese Eigenschaft verringert die Deckkraft ausschließlich dieses Materials, unabhängig vom Modell. Der Standardwert ist „ 1.0 “. Der Wertebereich liegt zwischen [0,0; 1,0].
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. |
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.
roughnessChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der zum Auslesen des Rauheitswerts aus „ roughnessMap “ 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. |
roughnessMap : Texture
Diese Eigenschaft definiert eine Textur zur Steuerung der Spiegelungsrauheit des Materials. Wenn die Textur mehrere Kanäle (RGBA) enthält, kann der richtige Kanal mithilfe der Eigenschaft „ roughnessChannel “ festgelegt werden.
specularAmount : real
Diese Eigenschaft steuert die Stärke der Spiegelung (Highlights und Reflexionen). Der Standardwert ist „ 0 “, wodurch die Spiegelung deaktiviert wird. Der Wertebereich liegt zwischen [0,0; 1,0].
Hinweis: Diese Eigenschaft hat keinen Einfluss auf „ specularReflectionMap “, wirkt sich jedoch auf das Ausmaß der Reflexionen durch die „ SceneEnvironment::lightProbe “ einer Szene aus.
Hinweis: Sofern Ihr Meshnicht hochauflösend ist, müssen Sie möglicherweise „ DefaultMaterial.FragmentLighting “ verwenden, um gute Spiegelungsreflexe von Szenenlichtern zu erzielen.
specularMap : Texture
Diese Eigenschaft definiert eine RGB-Textur, mit der die Stärke und die Farbe der Spiegelung auf der Oberfläche des Materials moduliert werden. Diese Werte werden mit dem Wert „ specularAmount “ multipliziert.
specularModel : enumeration
Diese Eigenschaft legt fest, welche Funktionen zur Berechnung der Spiegelungsreflexe für Lichtquellen in der Szene verwendet werden.
| Konstante | Beschreibung |
|---|---|
DefaultMaterial.Default | Die Spiegelungsbeleuchtung verwendet das Standard-Beleuchtungsmodell. |
DefaultMaterial.KGGX | Die Spiegelungsbeleuchtung verwendet das GGX-Beleuchtungsmodell. |
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 Karte so, als würde sie die Umgebung reflektieren. Damit dies wie erwartet funktioniert, muss der Wert für „ mappingMode “ der Textur auf „Texture.Environment“ gesetzt werden. Spiegelreflexionskarten 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 damit die Nutzung bildbasierter Beleuchtung lassen sich ähnliche Umgebungsreflexionseffekte erzielen. Light Probes sind jedoch ein konzeptionell anderes und, was die Leistung betrifft, 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 “.
specularRoughness : real
Diese Eigenschaft steuert die Größe der von Lichtquellen erzeugten Spiegelungsreflexe sowie die Schärfe von Reflexionen im Allgemeinen. Höhere Werte erhöhen die Rauheit, wodurch Spiegelungsreflexe weicher werden und Reflexionen unscharf erscheinen. Der Wertebereich liegt zwischen [0,0; 1,0]. Der Standardwert ist 0.
specularTint : color
Diese Eigenschaft legt eine Farbe fest, die zur Anpassung der Spiegelreflexionen verwendet wird. Verwenden Sie Weiß, um keinen Effekt zu erzielen.
translucencyChannel : enumeration
Diese Eigenschaft definiert den Texturkanal, der zum Auslesen des Transluzenzwerts aus „ translucencyMap “ 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. |
translucencyMap : Texture
Diese Eigenschaft definiert eine Graustufen-Textur, die bestimmt, wie viel Licht von hinten durch das Material dringen kann.
translucentFalloff : real
Diese Eigenschaft legt fest, wie stark die Transluzenz in Abhängigkeit vom Winkel der Normalen des Objekts zur Lichtquelle abnimmt.
vertexColorsEnabled : bool
Wenn diese Eigenschaft aktiviert ist, verwendet das Material die Scheitelpunktfarben des Netzes. Diese werden mit allen anderen für das Material festgelegten Farben multipliziert.
© 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.