Komplexe Materialien in MAX
Die eigentlichen 3d Konstruktionen sind ein wichtiger Arbeitsschritt bei der Gestaltung virtueller Realitäten, auch die richtige Beleuchtung spielt eine große Rolle, wenn aber die Materialien einfarbig und flach sind, bleibt eine Szene weit hinter dem Anspruch zurück eine reale Wirkung auf den Betrachter auszuüben.
Andererseits kann eine gute Zusammenstellung der Oberflächenbeschaffenheit durch real wirkende Materialien geometrische Komplexität reduzieren, somit Speicher einsparen und den Workflow vereinfachen und sogar beschleunigen.
Hier als Beispiel, eine über dem Mauerwerk verputzte Wand mit einer abgebrochenen Fläche Putz. Erst einmal geometrisch aufwändig erstellt und mit generischen MAX-Materialien belegt.
Wir beginnen mit der Herstellung zweier Rechteckiger Objekte, die Wand und das Mauerwerkteil, welches durch die aufgebrochene Putzstelle hervortreten soll.

Dann muss die Wand an der putzfreien Stelle mit booleschen Funktionen subtrahiert werden. Dazu ist ein drittes Objekt, die Form des abgeblätterten Putzes zu erstelle. Dies kann recht aufwändig sein, da ja die abbröckelden Putzkanten chaotisch verwinkelt sein sollten.
Hier wird nun das dritte Objekt ausgeschnitten.
Zuletzt werden beide Teile mit den richtigen Materialien belegt:
So, das sieht ja schon recht gut aus, ist allerdings geometrisch an den Kanten viel zu sauber und wirkt daher unnatürlich und flach. Im Übrigen waren diese Aktionen geometrisch viel zu aufwändig und haben uns immerhin 6 große Arbeitsschritte und mehrere Detailarbeiten gekostet (erstes Rechteck, zweites Rechteck, drittes Objekt für die putzfreie Stelle erstellen und mit vielen weiteren kleinen Arbeitsschritten in die richtige Proportion bringen, ausschneiden der putzfreien Fläche, Material für den Putz erstellen und Material fürs Mauerwerk erstellen), von der Polygonenanzahl ganz zu schweigen.
Mal schauen, ob es auch einfacher geht.
Wir erstellen die erste große Mauer wie oben. Diesmal aber nur die Eine.
Wir erstellen ein Material im Materialeditor und legen es auf die Mauer.

Rendern, fertig – das war’s schon.
Mit diesen zwei Arbeitsschritten und natürlich etwas Detailarbeit bei der Texturierung, erreicht man einen viel natürlich wirkenderen Putzeinbruch im Mauerwerk als durch geometrische Konstruktion. Schauen wir daher anschließend auf die Arbeitsschritte im Materialeditor von MAX.
Hinweis: Die hier verwendeten Materialien und Mapdateien sind alles Standard MAX 8 Dateien, die jeder Vollinstallation von MAX beiliegen, bzw. in das Maps-Verzeichnis nachinstalliert werden können!
Wir erstellen ein neues Material (hier in Slot 3) und wählen das Verschmelzen-Material. Mit Verschmelzen werden zwei Materialien miteinander kombiniert, dies kann parametrisch oder über ein Maskenbild erfolgen. Hier hinein legen wir zwei Materialien, jeweils im Streufarben- und Relief-Slot an, sowie ein Maskenmaterial unsere Alpha-Kanal-Map.
Material 1 ist unser Mauerwerk (maps\brick\Common 5-512.bmp) und Material 2 der Putz (maps\concrete\stucco8.jpg).
Den entsprechenden Putzdurchbruch erreichen wir durch das Anlegen einer Alphamaske im Maske-Slot.
Die Alphamaske kann in einem beliebigen Paintprogramm erstellt werden. Ein Alphakanalbild ist eigentlich ein schwarz-weiß-Bild, das bestimmt welche Teile des darunterliegenden Materials (Bitmaps) sichtbar oder unsichtbar sind. Durch den unsichtbaren Teil scheint dann das darunterliegende Material durch, nämlich unser Mauerwerk .
Bei Alphabildern sollte man auf präzise Schwarz/Weiß Farbtöne achten, alle leichten Grautonverschiebungen schwächen bzw. stärken den Transparenzeffekt ab, dabei kommt es darauf an, was man erreichen will. In meinem Beispiel ist eine scharfe Kante von Vorteil.
Für scharfe Kanten sollte man solche Bilder als BMP oder TIFF Dateien abspeichern, hier sind die Farben eindeutig. Bei JPEG Datei könnten durch die verschiedene Komprimierungsalgorithmen Graustufenabweichungen entstehen, die für das Resultat vielleicht nicht erwünscht sind.
Wir erstellen ein Alphamasken-Bild, die schwarze Fläche ist der transparente Bereich, der das Mauerwerk freilegt. Man kann das Bild auch als Negativ erstellen und muss dann nur für unseren speziellen Fall die Mapreihenfolge in den Material-Slots 1 und 2 vertauschen. Allein mit einem Negativ des Alphamasken-Bildes erhalten wir an der Stelle des Durchbruchs eine Putzfläche, während der gesamte Rest der Mauer sichtbar bleibt.
Mit dieser Materialbeschaffenheit können wir schon recht zufrieden sein, allerdings fehlen noch ein oder zwei Details die das ganze abrunden und natürlicher aussehen lassen. Der Putz liegt ja als Schicht auf dem Mauerwerk auf und sollte sich daher davon abheben. Um ein leichtes reliefartiges Abheben des Putzbereichs gegenüber dem Mauerwerk zu erreichen könnte man in einem der Materialslots des Verschmelzen-Materials noch die 3d-Verschiebung mit dem Alphamasken-Material aktivieren. Das ist nicht immer erwünscht, da es verschiedene Effekte auf der Geometrie auslöst. Es wird die Geometrie zur Renderzeit tesseliert, d.H. verfeinert, was wiederum Speicherplatz und Rechenzeit kostet. Außerdem muss das Objekt zu einem bearbeitbaren Netzobjekt konvertiert werden. Und letztendlich wird das gesamte Objekt gemäß der 3D-Verschiebung skaliert und wir verlieren die Kontrolle über die korrekte geometrische Größe im Raum der Szene. Da ich mich in diesem Beispiel auf eine einfache Geometrie beschränken möchte, wähle ich normales Bumpmapping für die Abgrenzung des Putzbereichs.
Da alle Materialslots für diese Operation ausgenutzt sind erstellen wir eine neues Material in Slot 4 (aktiver Slot im Bild links) und wählen als Basismaterial Zusammensetzen. Hier werden ein Grundmaterial und 9 Folgematerialien in unterschiedlicher Zusammenstellung nacheinander dargestellt, dies ermöglicht es uns weitere Details in den dazugehörigen Materialslots einzufügen. Des Weiteren erstellen wir in Slot 5 ein einfaches Bumpmapping, nur mit dem Bitmap des Alphamaterials als Relief, welches uns schon beim Grundmaterial den Durchblick auf das Mauerwerg freigegeben hat.
Wenn wir das folgende Rendering genauer betrachten, sehen wir nun einen feinen schattierten Saum an der aufgebrochenen Putzkante, die Illusion von Tiefe ist erreicht.
Bonus:
Weitere Feinheiten können wir mit ähnlichen Verfahren hinzufügen, z.B. eine Graffity Zeichnung.
Die Zeichnung wird in einem Grafikprogramm (Photoshop o.Ä.) auf weißem Hintergrund hergestellt. Von diesem Bild machen wir ebenfalls einen Alphakanal Abzug, der die Konturen des Graffity-Schriftzugs begrenzt, bzw. den umliegenden Bereich transparent schaltet.
Wir bringen beides in einem neuen Materialslot zusammen. Das Farbbitmap im Streufarben-Slot und die Alphamaske im Opacitäts-Slot. So wird erreicht, dass nur die Graffity-Zeichnung sichtbar ist.
Anschließend binden wir dieses neue Material in unser Zusammensetzen-Material ein.
Wie wir sehen, kann man mit dem Verschmelzen-Material eine Vielzahl von Schichten auf ein Materialmapping legen. Der einzige Nachteil dieser Methode besteht darin, dass das Basismaterial mit dem Hinzufügen weiterer Schichten leicht verblasst.

Zum Abschluss hier noch ein weiteres Bitmap, das auf der Maueroberkante eine witterungsbedingte moosgrüne Verschmutzung hinzufügen soll. Wie im Verfahren bei der Graffity-Zeichnung legen wir ein neues Map in einem neuen Slot an und geben ihm im Streufarben-Slot ein Grünes Bitmap (maps\ground\grass2.jpg) und im Opacitäts-Slot ein neu erstelltes Alphamasken-Bild.
Dieses neue Map fügen wir in einen weiteren freien Slot unseres Zusammensetzen-Materials ein und rendern die Szene.
Das fertige Material in der Übersicht: