Metalness Materialdefinition

Bei der Nutzung von Objekten und Materialien in interaktiven Anwendungen, wie z. B. in Game-Engines, hat sich die Metalness-Materialdefinition durchgesetzt. Diese hat gegenüber der klassischen Materialdefinition den Vorteil, dass die RGB-Kanäle der geladenen Texturen effektiver genutzt werden können. Zudem lässt sich damit die Materialerstellung vereinfachen.

Diese Art der Materialdefinition basiert auf der Überlegung, dass Materialien in "metallisch" und "nicht metallisch" unterteilt werden können. Der Hauptunterschied zwischen diesen Materialgruppen liegt in der Darstellung von Glanz und Spiegelungen. Bei nicht metallischen Oberflächen (z. B. Kunststoff, Wasser, Glas oder Holz) erhält der Glanz in der Regel die Farbe der Lichtquelle. Zudem verändert sich die Intensität des Glanzes mit dem Blickwinkel auf die Oberfläche. Flach betrachtete Bereiche spiegeln und glänzen besonders intensiv, frontal betrachtete Bereiche zeigen hingegen nur schwache Spiegelungen und Glanzeffekte (Fresnel-Effekt).

Anders sieht es bei metallischen Oberflächen aus. Dort übernehmen die Spiegelung und der Glanz oft die Farbe des Metalls und auch die vom Blickwinkel abhängige Veränderung der Spiegelungs- und Glanz-Intensitäten ist weniger stark ausgeprägt.

Diese metallische Eigenschaft wird daher bei der Metalness-Materialdefinition über einen Zahlenwert zwischen 0 und 1 angegeben oder kann auch mit einer Graustufen-Textur gesteuert werden. Tatsächlich verwenden diese Texturen jedoch oft nur Weiß oder Schwarz, um grundlegend metallische oder eben nicht metallische Eigenschaften anzuzeigen. Durch die Verwendung einer Textur sind auch Variationen des metallischen Verhaltens auf einer Oberfläche möglich, wie z. B. Rost oder abgeblätterte Farbe auf Metall. Dort, wo Lack, Farbe oder Rost auf einem Metall liegt, ist eben keine metallische Oberfläche mehr vorhanden.

 

Bei Metalness-Materialien legt eine Metalness-Textur grundlegend fest, ob es sich um ein metallisches oder um ein ncht metallisches Material handeln soll. Entsprechend verändert sich die Auswertung der Farbeigenschaften und der Spiegelungsberechnung.

Während wir vom Cinema 4D-Materialsystem gewohnt sind, dass eine Verstärkung der spiegelnden Eigenschaften zu einer Reduzierung der diffusen Farbe führt, ist dies bei der Metalness-Materialdefinition nicht so. Je nach Metalness-Wert wird dort die zugewiesene Farbe entweder für die diffuse Färbung der Oberfläche (bei kleinen Metalness-Werten) oder für die Färbung des Metalls und der Spiegelungen (bei größeren Metalness-Werten) verwendet.

Eine weitere wichtige Komponente ist die "Roughness", also die Rauigkeit der Oberfläche. Wie auch von Standardmaterialien in Cinema 4D her gewohnt, führt eine stärkere Rauigkeit bei nicht metallischen Materialien zu einer homogeneren Schattierung. Die Oberfläche verliert dadurch an Kontrast und wirkt matter. Bei metallischen Materialien führt die Rauigkeit zu einer Weichzeichnung der Spiegelungen, wodurch die Oberfläche aufgerauter wirkt.

Andere Materialeigenschaften, wie z. B. Bump-Mapping (bzw. Relief), Normale, Transparenz, Leuchten oder Displacement lassen sich wie gewohnt nutzen. Hierbei ist jedoch zu beachten, dass brechende Transparenzen in Echtzeitanwendungen derzeit noch nicht realistisch angezeigt werden können. Zudem bieten die meisten Anwendungen keine Unterstützung für Displacement in Echtzeit an.


Metalness-Materialien in Cinema 4D

Liegen Ihnen Texturen eines Metalness-Materials z. B. aus einer anderen 3D-Applikation vor, können diese auch in Cinema 4D verwendet werden. Am einfachsten funktionert dies, wenn Sie mit Redshift rendern. Dort steht Ihnen u. a. das Standard-Material zur Verfügung, das die Metalness-Eigenschaft direkt unterstützt. Damit die richtige Zuordnung der Texturen zu den Eigenschaften des Redshift-Materials gelingt, können Sie sich oft an den Namen der Texturen orientieren. In der Regel werden dort bereits Standardbegriffe verwendet, um die Materialeigenschaft zu beschreiben, die durch die jeweilige Textur gesteuert werden soll. Dies sind oft diese Begriffe:


Beispielhafte Texturen für ein Metalness-Material. Charakteristisch ist dabei die Metalness-Textur, mit der metallische und nicht metallische Bereiche eines Materials gekennzeichnet werden. Entsprechend verändert sich die Auswertung der Base Color-Textur für die Färbung der Oberfläche und der Spiegelungen.


Nutzung der Texturen einer Metalness-Materialbeschreibung mit einem Redshift Standard-Material.


Rendering des oben definierten Metalness-Materials mit Redshift. Durch die Metalness-Textur werden hier die metallisch glänzenden Bereiche und die rostigen Teile deutlich voneinander abgetrennt.


Metalness-Materialien exportieren

Das Exportieren von Cinema 4D-Materialien, um z. B. texturierte Objekte direkt in interaktiven Anwendungen nutzen zu können, bedarf für die Materialien des Standard-/Physikalischen Renderers einer gewissen Vorbereitung. Dort sind keine direkten Materialkanäle oder Parameter z. B. für die Metalness-Eigenschaft vorhanden. Es existiert jedoch eine Lösung, die nachfolgend beschrieben wird (das Standard Redshift-Material nutzt von sich aus schon das Metalness-Materialsystem, hier kann z.B. glTF direkt exportieren).

Erzeugen Sie ein neues Standard-Material und öffnen Sie dort den Reflektivität-Kanal. Löschen Sie dort alle vorhandenen Ebenen und lassen Sie sich eine neue Beckmann-Ebene erstellen. Die vorhandenen Texturen einer Metalness-Materialbeschreibung müssen nun in die folgenden Materialkanäle und Eigenschaften geladen werden:


Das Displacement, also die Height-Textur, wird in der Regel nicht von Echtzeitanwendungen ausgewertet. Diese wird daher auch nicht von Cinema 4D exportiert.
Beachten Sie zudem, dass der Mischmodus Multiplizieren ebenfalls für die geladenen Texturen unterstützt wird. Die Mischstärke und die Farbe spielen dann für den Export ebenfalls eine Rolle.
Wenn Sie in der Reflektivitätsebene die Abschwächung Additiv verwenden, bleibt die Farbe des Materials in den Ansichtsfenstern erhalten, was die Kontrolle des Materials erleichtert. Für den Export wird diese Einstellung nicht berücksichtigt.


Die Textur für die Base Color kann einfach in den Farbe-Kanal geladen werden. Falls Sie die Farben dieser Textur noch verändern möchten, können Sie auch eine normale Farbe verwenden und über den Mischmodus Multiplizieren mit der Textur mischen lassen. Dies ist in der rechten Hälfte der Abbildung demonstriert.


Die Metalness-Textur wird zur Steuerung der Spiegelungsstärke geladen, die Sie auf 100% stellen. Die Roughness-Textur steuert die Rauigkeit, die ebenfalls mit 100% angegeben wird. Damit durch diese Materialbeschreibung die Oberflächenfarbe im Editor sichtbar bleibt, nutzen Sie die Abschwächung Additiv. Diese Einstellung beeinflusst den Export des Material nicht und verbessert nur die Materialdarstellung in Cinema 4D.


Eine vorhandene Normale-Textur wird wie gewohnt in den Normal-Materialkanal geladen.


Ansicht der exportierten Objekte mit dem Rost Metalness-Material in einem glTF-Viewer. Dort kann die gewünschte Lichtstimmung oft noch durch geladene HDR-Bilder angepasst werden.


Bemerkungen und Limitationen