Tricky Patterns, Kacheltexturen für natürliche Oberflächen
Tricky Patterns, Kacheltexturen für natürliche Oberflächen
Texturen Mixen

Um Texturen für z.B. einen natürliche Landschaft zu generieren ist es immer günstig mit einer wiederholbaren Kachel, einem sogenannten Pattern, zu arbeiten. Diese Pattern sollte relative hochaufgelöst sein, 640x480 Pixel sind eigentlich die Untergrenze für Animationen. In 3D-Echtzeit Spielen verwendete Kacheln mit 64x64, 128x128 oder256x256 sind für die meisten Situationen in Computergraphik ungeeignet, nur wenn ein Objekt sehr klein im Bild zu sehen ist, kann so eine Textur genügen.

Die unteren Bilder zeigen links das ursprügliche Digitalbild einer Felswand , das, wie man erkennen kann, für eine Wiederholung ungeeignet ist. Rechts davon sehen wir das bearbeitete Bild, dieses ist nahtlos wiederholbar. Wir erkennen bei diesem Bild aber ein Problem, das bei Computergrafiken oft zu sehen ist. Die menschliche Wahrnehmung hat die Fähigkeit Muster sofort als solche zu erkennen. In der Natur gibt es eine Felswand wie die untere rechts niemals, es sei denn, jemand hätte sie gemacht. So eine Textur ist alleine genommen vollkommen ungeeignet für eine "natürliche" Textur. Aber es gibt Möglichkeiten die Wiederholung zu brechen und somit das Muster wieder aufzulösen.



Links ist das Originalbild zu sehen, rechts das zu einem Pattern verarbeitete. Dieses ist wiederholbar, wirkt alleine genommen aber wie eine Tapete.

Der eigentliche Trick besteht nun darin, verschiedene Pattern mit einer assynchronen Anzahl von Wiederholungen mit einem weitern Pattern, oder noch besser mit einem sogenannten Procedural Map miteinander zu vermischen. ( Procedural Maps sind Maps die von der Software selber generiert werden und meist ein Rauschen enthalten, dass verhindert, dass Muster auftreten können.) In 3DMax geschieht dies z.B. mit den Mix-Map. Dieses Mix-Map verfügt über drei Slots, in die jeweils weitere Materialien eingelesen werden können. Die beiden oberen Slots enthalten die beiden Pattern, der untere Slot enthält das Map, mittels dessen Grauwerte ( RGB-Werten werden in diesem Slot wie Grauwerte behandelt) die beiden oberen Maps gemischt werden. das bedeutet, das dort, wo im Mix-Map z.B. Schwarz ist das obere Pattern zu 100% gezeigt wird, dort wo Weiss ist das untere Pattern zu 100% gezeigt wird. Sämtliche Grauwerte erzeugen eine Mischung der beiden Pattern, welche je nach Helligkeit mehr Anteile des oberen oder des unteren Patterns enthält. Um den Kontrast von Hell und Dunkel zueinander zu verstärken, kann man die Mixing-Curve benutzen.

Wichtig ist folgendes: Man verhindert eine Wiederholung der Pattern im Endergebniss, indem man für die Tiles der Pattern eine Wiederholungszahl wählt, die nicht miteinander ganzzahlig teilbar sind. Schlecht wäre ein Verhältniss Pattern 1: 2x2, Pattern 2: 4x4, weil hier das eine Tile zwei des anderen enthält, ein Tapetenmuster tritt auf. Das kann verhindert werden durch z.B. einen Rythmus der so aussieht: P1: 2x2, P2: 3x3, wie im unteren Beispiel. Oder etwa: P1: 2x2 P2: 3x5. Um die Muster noch weiter voneinander zu entfernen kann auch noch im W-Kanal der UVW-Koordinaten eine Rotation definiert werden. Sollte sich Mix-Map Slot ein Bitmap-Pattern befinden und kein Procedural-Map, so muss auch diese ein Tiling-Verhältniss aufweisen, dass mit keinem der beiden anderen korrespondiert.

Aber man kann noch weiter gehen: es ist ohne weiteres möglich, eine Mix-Map in jeden Slot des Mix-Maps zu definieren, und damit die Anzahl der Pattern zu erhöhen...werden diese wiederum nach dem oberen Verfahren vermischt, kann eigentlich gar nichts mehr schief gehen. Zu dieser Übung gibt es ein 2 Maxfiles, die das Material und die Einstellungen enthält, die zur Erzeugung der unteren Grafik genutzt wurden.



Links ist der Material-Browser von 3DMax mit einem Mix-Map zu sehen, rechts das Prinzip der Mischung der Pattern