Auf dieser Seite

DefaultMaterial QML Type

Ermöglicht die Definition eines Materials für 3D-Elemente unter Verwendung des Spiegelungs-/Glanz-Workflows. Mehr...

Import Statement: import QtQuick3D
Inherits:

Material

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

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 zum Schattieren eines Modells verwendet werden, 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.

Spiegelnd

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.

Dokumentation der Eigenschaft

blendMode : enumeration

Diese Eigenschaft bestimmt, wie die Farben des gerenderten Modells mit denen dahinter übereinstimmen.

KonstanteBeschreibung
DefaultMaterial.SourceOverStandard-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.ScreenDie 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.MultiplyDie 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

Diese Eigenschaft steuert das Ausmaß der simulierten Verschiebung für bumpMap oder normalMap. Der Standardwert ist 0 und deaktiviert den Bump-Effekt. Der Bereich ist [0, 1].

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 den Umfang 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 Textur mit Transparenz verwenden, wird auch der Alphakanal als Deckkraftkarte angewendet.

emissiveFactor : vector3d

Diese Eigenschaft bestimmt die Farbe der Selbstbeleuchtung für dieses Material. Wenn eine Emissionskarte eingestellt ist, werden die x-, y- und z-Komponenten als Faktoren (Multiplikatoren) für die R-, G- und B-Kanäle der Textur verwendet. Der Standardwert ist (0, 0, 0) und bedeutet, dass es keinen Emissionsbeitrag gibt.

Hinweis: Wenn Sie den Beleuchtungsmodus auf DefaultMaterial.NoLighting setzen, hat der Emissionsfaktor keinen Einfluss auf die Szene.

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 direktem Blick auf die Oberfläche, während die Reflexionen bei Streifwinkeln erhalten bleiben. Der Standardwert ist 0, wodurch der Fresnel-Effekt deaktiviert wird.

indexOfRefraction : real

Diese Eigenschaft steuert, welche Winkel der Reflexionen von fresnelPower betroffen sind. Die Vorgabe 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. 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.

KonstanteBeschreibung
DefaultMaterial.NoLightingEs wird keine Beleuchtung berechnet.
DefaultMaterial.FragmentLightingDie Beleuchtung pro Fragment wird 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. Die Voreinstellung ist 1.0. Der Bereich ist [0.0, 1.0].

opacityChannel : enumeration

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

KonstanteBeschreibung
Material.RWert aus dem R-Kanal der Textur 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.

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.

roughnessChannel : enumeration

Diese Eigenschaft definiert den Texturkanal, mit dem der Rauheitswert von roughnessMap gelesen wird. 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.

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 festgelegt werden.

specularAmount : real

Diese Eigenschaft steuert die Stärke des Glanzes (Glanzlichter und Reflexionen). Der Standardwert ist 0 und deaktiviert den Glanzgrad. 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 Szenenlichtern zu erhalten.

specularMap : Texture

Diese Eigenschaft definiert eine RGB-Textur zur Modulation der Menge und der Farbe des Glanzes auf der Oberfläche des Materials. Diese Werte werden mit dem Wert specularAmount multipliziert.

specularModel : enumeration

Diese Eigenschaft legt fest, welche Funktionen zur Berechnung von Glanzlichtern für Lichter in der Szene verwendet werden.

KonstanteBeschreibung
DefaultMaterial.DefaultSpiegelnde Beleuchtung verwendet das Standard-Beleuchtungsmodell.
DefaultMaterial.KGGXSpiegelnde Beleuchtung verwendet GGX-Beleuchtungsmodell.

specularReflectionMap : Texture

Diese Eigenschaft legt eine Textur fest, die für spiegelnde Highlights auf dem Material verwendet wird.

Dies wird in der Regel verwendet, um ein Environment Mapping durchzuführen: Wenn das Modell gedreht wird, erscheint die Karte, als ob sie von der Umgebung reflektiert wird. Damit dies wie erwartet funktioniert, muss die Textur mappingMode auf Texture.Environment gesetzt werden. Specular Reflection Maps sind eine einfache Möglichkeit, mit relativ geringem Aufwand ein hochwertiges Aussehen zu erzielen.

Hinweis: Durch die Verknüpfung von light probe mit der SceneEnvironment und der damit verbundenen bildbasierten Beleuchtung lassen sich ähnliche Umgebungsreflexionseffekte erzielen. Lichtsonden sind jedoch eine konzeptionell andere und, was die Leistung angeht, potenziell teurere Lösung. Jeder Ansatz hat seinen eigenen spezifischen Nutzen, und es muss von Fall zu Fall entschieden werden, welcher verwendet wird. 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.

specularRoughness : real

Diese Eigenschaft steuert die Größe der von Lichtern erzeugten Glanzlichter und die Klarheit von Reflexionen im Allgemeinen. Größere Werte erhöhen die Rauheit, machen die Glanzlichter weicher und die Reflexionen unschärfer. Der Bereich ist [0.0, 1.0]. Der Standardwert ist 0.

specularTint : color

Diese Eigenschaft definiert eine Farbe, mit der die spiegelnden Reflexionen angepasst werden. Verwenden Sie Weiß für keinen Effekt

translucencyChannel : enumeration

Diese Eigenschaft definiert den Texturkanal, der verwendet wird, um den Transluzenzwert von translucencyMap zu lesen. Der Standardwert ist Material.A.

KonstanteBeschreibung
Material.RWert aus dem R-Kanal der Textur 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.

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 Abweichung für die Durchsichtigkeit basierend auf dem Winkel der Normalen des Objekts zur Lichtquelle.

vertexColorsEnabled : bool

Wenn diese Eigenschaft aktiviert ist, verwendet das Material die Scheitelfarben des Netzes. Diese werden mit allen anderen für das Material angegebenen 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.