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: | |
| 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 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.
| 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 | Die 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.
| Konstante | Beschreibung |
|---|---|
DefaultMaterial.NoLighting | Es wird keine Beleuchtung berechnet. |
DefaultMaterial.FragmentLighting | Die 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.
| 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. |
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.
| Konstante | Beschreibung |
|---|---|
Material.R | Wert aus Textur R-Kanal 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. |
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.
| Konstante | Beschreibung |
|---|---|
DefaultMaterial.Default | Spiegelnde Beleuchtung verwendet das Standard-Beleuchtungsmodell. |
DefaultMaterial.KGGX | Spiegelnde 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.
| 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 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.