DefaultMaterial QML Type
Ermöglicht die Definition eines Materials für 3D-Elemente unter Verwendung des Spiegelungs-/Glanz-Arbeitsablaufs. 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 lieber 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 SpecularGlossyMaterial für die Erstellung von Materialien mit dem Spiegelungs-/Glanz-Workflow oder PrincipledMaterial für die Erstellung von Materialien mit dem Metall/Rauheit-Workflow.
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 DefaultMaterial ist ein einfach zu verwendendes Material, mit dem Sie Ihr Material mithilfe eines Arbeitsablaufs vom Typ Spiegelung/Glanz beschreiben können. Das Material hat eine sinnvolle Voreinstellung und kann verwendet werden, um ein Modell zu schattieren, ohne dass irgendwelche Eigenschaften geändert werden müssen.
Arbeitsablauf für Spiegelung/Glätte
Das Standardmaterial bietet eine Möglichkeit, Materialien mit einem Arbeitsablauf vom Typ Spiegelung/Glanz zu erstellen. Die Haupteigenschaften des Materials werden über die Eigenschaften specular, roughness und diffuse color gesteuert.
Spiegelglanz
Die specular reflectivity beschreibt den Anteil und die Farbe des Glanzes auf der Oberfläche eines Objekts. Bei reflektierenden Materialien trägt diese Eigenschaft am meisten zur Farbe bei.
Glanz (Rauhigkeit)
Der Glanz einer Oberfläche hängt davon ab, wie glatt oder unregelmäßig die Oberfläche ist. Eine glatte Oberfläche hat eine intensivere Lichtreflexion als eine raue Oberfläche, auf der die Lichtreflexion stärker verteilt ist. Im Standardmaterial wird der Glanz des Materials über die Eigenschaft roughness gesteuert.
Diffuse Farbe
Die Eigenschaft diffuse color beschreibt die Grundfarbe des Materials, und anders als die Grundfarbe von PrincipledMaterial enthält die diffuse Farbe keine Informationen über den Reflexionsgrad des Materials. Bei spiegelnden Oberflächen sollte die diffuse Farbe jedoch auf einen schwarzen Farbton gesetzt werden, da dann die spiegelnde Farbe einen Beitrag leisten kann.
Eigenschaft Dokumentation
blendMode : enumeration |
Diese Eigenschaft legt fest, wie die Farben des gerenderten Modells mit denen dahinter übergehen.
Konstante | Beschreibung |
---|---|
DefaultMaterial.SourceOver | Standard-Mischmodus. 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 und es keine Textur-Maps im Material gibt, die halbtransparente Pixel enthalten, wird das Modell als opak behandelt, d. h. es wird mit aktivierter Tiefenprüfung und -schreibung zusammen mit anderen opaken 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. |
DefaultMaterial.Screen | Die Farben werden mit einer invertierten Multiplikation gemischt, was ein helleres Ergebnis ergibt. Dieser Überblendungsmodus ist unabhängig von der Reihenfolge. Wenn Sie halb-opake Objekte verwenden und bei Gesichtern oder Modellen, die unterschiedlich sortiert sind, Überblendungen auftreten, ist die Verwendung der Rasterüberblendung eine Möglichkeit, um Ergebnisse ohne Überblendungen zu erzielen. |
DefaultMaterial.Multiply | Farben werden mit einem Multiplikator gemischt, wodurch ein dunkleres Ergebnis erzielt wird. Dieser Überblendungsmodus ist auch unabhängig von der Reihenfolge. |
Siehe auch Qt Quick 3D Architektur.
bumpAmount : real |
bumpMap : Texture |
Diese Eigenschaft definiert eine Graustufentextur, um eine feine Geometrieverschiebung über die Oberfläche des Materials zu simulieren. Hellere Pixel zeigen erhabene Regionen an. Die Stärke des Effekts wird durch die Eigenschaft bumpAmount gesteuert.
Hinweis: Bumpmaps haben keinen Einfluss auf die Silhouette eines Modells.
diffuseColor : color |
Diese Eigenschaft bestimmt die diffuse Farbe (Albedo) für das Material. Wenn Sie die diffuse Farbe auf einen schwarzen Farbton einstellen, wird ein rein spiegelndes Material erzeugt (z. B. Metalle oder Spiegel).
diffuseLightWrap : real |
Diese Eigenschaft bestimmt die Stärke der Lichtumhüllung für die Transluzenzkarte. Bei einem Wert von 0 wird das Licht überhaupt nicht umhüllt, bei einem Wert von 1 wird das Licht rund um das Objekt umhüllt.
diffuseMap : Texture |
Diese Eigenschaft definiert eine Textur, die auf das Material angewendet wird. Wenn Sie eine Textur mit Transparenz verwenden, wird auch der Alphakanal als Deckkraftkarte verwendet.
emissiveFactor : vector3d |
Diese Eigenschaft bestimmt die Farbe der Selbstbeleuchtung für dieses Material. Wenn eine Emissionskarte festgelegt 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: Die Einstellung von lightingMode auf DefaultMaterial.NoLighting bedeutet, dass der Emissivfaktor keine Auswirkungen auf die Szene hat.
emissiveMap : Texture |
Diese Eigenschaft legt eine RGB-Textur fest, die verwendet wird, um die Intensität der emittierenden Farbe zu bestimmen.
Siehe auch emissiveFactor.
fresnelPower : real |
Diese Eigenschaft verringert die Reflexionen bei frontaler Betrachtung (direkter Blick auf die Oberfläche), während die Reflexionen bei Streifwinkeln erhalten bleiben. Der Standardwert ist 0
und deaktiviert den Fresnel-Effekt.
indexOfRefraction : real |
Diese Eigenschaft steuert, welche Winkel der Reflexionen von fresnelPower betroffen sind. Der Standardwert ist 1.45
. Der Wert muss größer oder gleich 1.0
sein.
Hinweis: Kein bekanntes Material auf der Welt hat einen größeren ior als 3.0
.
lighting : enumeration |
Diese Eigenschaft legt fest, welche Beleuchtungsmethode bei der Erstellung dieses Materials verwendet wird.
Der Standardwert ist DefaultMaterial.FragmentLighting
Bei Verwendung von DefaultMaterial.FragmentLighting
werden diffuse und spiegelnde Beleuchtung für jedes gerenderte Pixel berechnet. Bestimmte Effekte (z. B. eine Fresnel- oder Bump-Map) erfordern DefaultMaterial.FragmentLighting
, um zu funktionieren.
Bei der Verwendung von DefaultMaterial.NoLighting
wird keine Beleuchtung berechnet. Dieser Modus ist (vorhersehbar) sehr schnell und sehr effektiv, wenn Bildkarten verwendet werden, die nicht durch Beleuchtung schattiert werden müssen.
Konstante | Beschreibung |
---|---|
DefaultMaterial.NoLighting | Es wird keine Beleuchtung berechnet. |
DefaultMaterial.FragmentLighting | Die Beleuchtung wird für jedes einzelne Fragment berechnet. |
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.
Hinweis: Im Gegensatz zu den meisten anderen Materialeigenschaften ist die Linienbreite unter der Haube in ein Grafikpipeline-Objekt integriert, ähnlich wie blendMode. Daher führt ein anderer Wert dazu, dass ein neues Pipeline-Objekt erstellt werden muss, was mit der Zeit kostspielig werden kann (Leistung und Ressourcennutzung), wenn die Eigenschaft häufig auf viele verschiedene Werte geändert wird. Eine Animation dieser Eigenschaft ist beispielsweise möglich, sollte aber vermieden werden.
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. Das Ausmaß des Effekts wird durch die Eigenschaft bumpAmount gesteuert.
Hinweis: Normalen-Maps haben keinen Einfluss auf die Silhouette eines Modells.
opacity : real |
Diese Eigenschaft verringert die Deckkraft nur dieses Materials, unabhängig vom Modell. Der Standardwert ist 1.0
. Der Bereich ist [0.0, 1.0].
opacityChannel : enumeration |
Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den Opazitätswert 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 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. Zum Beispiel hat die Einstellung einer anderen Größe als 1 keine Auswirkungen auf Direct 3D.
roughnessChannel : enumeration |
Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den Rauhigkeitswert von roughnessMap zu lesen. Der Standardwert ist Material.R
.
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 Textur A-Kanal lesen. |
roughnessMap : Texture |
Diese Eigenschaft definiert eine Textur zur Steuerung der spiegelnden Rauheit des Materials. Wenn die Textur mehrere Kanäle (RGBA) enthält, kann der richtige Kanal über die Eigenschaft roughnessChannel eingestellt werden.
specularAmount : real |
Diese Eigenschaft steuert die Stärke des Glanzes (Glanzlichter und Reflexionen). Der Standardwert ist 0
und deaktiviert die Spiegelung. Der Bereich ist [0.0, 1.0].
Hinweis: Diese Eigenschaft wirkt sich nicht auf specularReflectionMap aus, wohl aber auf die Stärke der Reflexionen in der Szene SceneEnvironment::lightProbe.
Hinweis: Wenn Ihr Mesh nicht hochauflösend ist, müssen Sie möglicherweise DefaultMaterial.FragmentLighting
verwenden, um gute Glanzlichter von den Lichtern der Szene zu erhalten.
specularMap : Texture |
Diese Eigenschaft definiert eine RGB-Textur, um die Menge und die Farbe des Spiegelglanzes auf der Oberfläche des Materials zu modulieren. Diese Werte werden mit der specularAmount multipliziert.
specularModel : enumeration |
Diese Eigenschaft legt fest, welche Funktionen zur Berechnung von Glanzlichtern für Lichter in der Szene verwendet werden.
Konstante | Beschreibung |
---|---|
DefaultMaterial.Default | Spiegelglanzbeleuchtung verwendet das Standard-Beleuchtungsmodell. |
DefaultMaterial.KGGX | Spiegelnde Beleuchtung verwendet GGX-Beleuchtungsmodell. |
specularReflectionMap : Texture |
Diese Eigenschaft legt eine Textur fest, die für spiegelnde Glanzlichter auf dem Material verwendet wird.
Dies wird in der Regel verwendet, um eine Umgebungszuordnung durchzuführen: Wenn das Modell gedreht wird, erscheint die Zuordnung, 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.
specularRoughness : real |
Diese Eigenschaft steuert die Größe des spiegelnden Glanzlichts, das von Lichtern erzeugt wird, 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.
specularTint : color |
Diese Eigenschaft definiert eine Farbe, mit der die spiegelnden Reflexionen angepasst werden. Weiß für keinen Effekt verwenden
translucencyChannel : enumeration |
Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den Transluzenzwert von translucencyMap 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. |
translucencyMap : Texture |
Diese Eigenschaft definiert eine Graustufentextur, die steuert, wie viel Licht von hinten durch das Material dringen kann.
translucentFalloff : real |
Diese Eigenschaft definiert den Grad der Abnahme der Lichtdurchlässigkeit basierend auf dem Winkel der Normalen des Objekts zur Lichtquelle.
vertexColorsEnabled : bool |
Wenn diese Eigenschaft aktiviert ist, verwendet das Material Scheitelfarben aus dem Netz. Diese werden mit allen anderen für das Material festgelegten Farben multipliziert.
© 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.