Optionen
Diese Option ist bedeutent für die Optionen Farbe, Leuchten, Diffusion, Relief, Alpha und Transparenz. Sollen hierbei die Polygon-Selektionen ausgewertet werden, muss "Polygonselektion verwenden" aktiviert sein. Anderenfalls wird lediglich das oberste Material (ganz rechts im Objekt-Manager) berechnet!
Bei normalenabhängigen Effekten wird bei Aktivierung der Option die durch den Relief-Kanal verursachte Normalenänderung mit berücksichtigt.
Sie können hier definieren, ob der aktuelle Kamera-Vektor beim Backen Einfluss nimmt. Dies hat z.B. Einfluss auf den Fresnel-Effekt bei transparenten Materialien.
Anderes Beispiel: Wenn Sie bei einer spiegelnden Kugel den darin reflektierten Himmel backen wollen, sollte die Option deaktiviert sein. Dann werden nämlich die Objekt-Normalen zur Spiegelungsberechnung herangezogen und nicht der Kameravektor (der dann zu merkwürdigen Ergebnissen führt, da die Spiegelung aus Kamerasicht berechnet wird).
Backen Sie hiermit den Material-Kanal Farbe des entsprechenden Objektes. Sollte das Objekt mehrere Materialien besitzen, werden die verschiedenen Farbkanäle gemäß ihrer Hierarchie und Alpha-Kanäle zusammengefasst.
Backen Sie hiermit den Material-Kanal Leuchten des entsprechenden Objektes. Bei aktivierter Option wird unten noch die Option Diffusion eingeblendet.
Aktivieren Sie die jeweiligen Optionen, wenn Sie die gleichlautenden Material-Kanäle backen wollen.
Die Oberflächenfarbe beinhaltet die Auswirkungen sämtlicher Material-Kanäle (außer Reflektivität, Transparenz, Nebel und Glühen) inklusive Beleuchtung, GI (siehe hierzu auch Objekt backen) und Schattenwurf. So gehen also die wichtigsten Material-Kanäle, die beim Rendern die Objektoberfläche ausmachen, in die Textur mit ein.
Wenn Sie eine auf solcherlei Art gebackene Textur in den Material-Kanal Leuchten legen, kann in manchen Fällen sogar beim Rendern auf die Beleuchtung des jeweiligen Objekts komplett verzichtet werden, sofern sich Lichtquellen und Objekt selbst nicht bewegen. Die Folge sind sehr geringe Renderzeiten.
Unter Licht fallen die Auswirkungen von Lichtquellen und, wenn aktiviert, die von GI.
Hiermit rendern Sie nur evtl. vorhandene Schattenwürfe. Bereiche, wo kein Schatten herrscht, werden dabei weiß, die Schatten selbst entsprechend der Beleuchtung und der Schattenfarbe gerendert.
Sie können hiermit den AO-Anteil einer Textur backen. Die AO-Einstellungen entsprechen dabei bis auf 2 Ausnahmen denen in den Rendervoreinstellungen.
Wenn Sie eine Normalen-Textur backen wollen, sind Sie hier richtig. Was Sie exakt mit solchen Normalen-Texturen anfangen können, finden Sie auf der Normale-Seite beschrieben.
Mit UV Map visualisieren Sie die UV-Belegung der Textur: Mit UV-Polygonen belegte Texturbereiche werden grün, Pixelränder (Tab Tag, Parameter Pixelrand) rot und freie Texturbereiche weiß gerendert.
Für das Rendern von Spiegelungen gilt gegenüber den übrigen Material-Kanälen eine Ausnahme: Hier müssen Sie nicht extra den Material-Kanal Reflektivität aktivieren. Das Backen von Spiegelungen funktioniert auch so.
Himmels-Texturen
Damit lassen sich übrigens sehr schnell Himmel-Texturen backen, die wiederum später selbst im Rahmen des sog. Image Base Lighting, sprich der Beleuchtung durch Texturen mittels GI, verwendet werden können. Beachten Sie in diesem Zusammenhang, dass Sie Texturen auch in einem der HDR-Formate ausgeben können, sodass diese bzgl. ihrer Lichtquellen beliebig hell sein können.
Dies ist folgendermaßen möglich:
-
Erstellen Sie eine Kugel. Dadurch sind diese Voraussetzungen geschaffen: Sie ist parametrisch und die Option Perfekte Kugel ist aktiviert. Geben Sie ihr ein neues Material.
-
Wählen Sie Material backen (Objekt / Material backen).
-
In den Einstellungen des eben erstellten Tags aktivieren Sie ausschließlich die Option Spiegelung. Als Texturausgabegröße sollte ein wesentlich breiteres als hohes Format gewählt werden.
-
Klicken Sie auf Backen. Sie erhalten eine solche Textur bei Verwendung des Physikalischen Himmels:
Diese Textur können Sie jetzt wahlweise auf ein Himmel-Objekt oder eine sehr große Kugel projizieren, womit Sie einen perfekten Himmel geschaffen haben, der auch in Fremdprogrammen funktioniert. Es spricht natürlich auch nichts dagegen, diesen in Material-Kanäle wie z.B. Umgebung zu laden...
Bei aktivierter Option werden unten im Dialog noch einige Optionen eingeblendet, die dafür sorgen, dass folgende Dinge gebacken werden:
die durch Lichtquellen oder GI erzeugte Beleuchtung
die auf das Objekt fallenden Schatten
evtl. vorhandenes Leuchten durch den Material-Kanal Leuchten
evtl. vorhandene Diffusion durch den Material-Kanal Diffusion
Beispiel:
Für oben abgebildete Szene, in der ein Spot einen transparenten Torus beleuchtet und einen Schatten auf die mit einem aufwendigen Shader belegte Ebene wirft, wird die Ebene gebacken. Sie sehen links unten die mit keinen separaten Optionen gebackenen Farb-Kanal. In der Mitte unten wurde die Option Illumination und rechts unten zusätzlich die Option Schatten aktiviert.
Ist diese aktiviert, wird der Leuchten-Kanal mit dem Diffusions-Kanal multipliziert.
Wenn Sie die für Licht zusätzlich vorhandene Option Schatten aktivieren, wird ein evtl. Schattenwurf ebenfalls mit berücksichtigt (s. Abbildung rechts oben).
Wenn Sie eine Normalen-Textur ausgehend von einem hochaufgelösten Objekt auf ein niedrig aufgelöstes backen wollen, so ist das möglich, indem Sie das hochaufgelöste Objekt in das Feld Quelle ziehen. Im Prinzip funktioniert das genauso wie das Backen des Displacements, was hier beschrieben ist.
Ganz wichtig:
- Die Parameter, die Sie hier beim Backen einstellen, müssen Sie später genau so auch beim Normalen-Kanal definieren.
Vorgehensweise, um eine Normalen-Map zu backen:
- Sie haben das Objekt in 2 Varianten vorliegen: Hoch- und niedrigpolygonal.
- Geben Sie dem niedrigpolygonalen Objekt ein "Material backen-Tag” (Objekt-Manager: Tags/Material-Tags/Material backen).
- Aktivieren Sie im Tab "Optionen” die Option "Normale” und definieren ansonsten einen Speicherpfad für die Textur (es sind dann übrigens 16 Bit Farbtiefe zu empfehlen).
- Im Untertab "Normalen” ziehen Sie das hochpolygonale Objekt in das Feld Quellobjekt und wählen z.B. den Typ Tangente. Die restlichen Einstellungen bleiben, wie sie sind. Klicken Sie auf den Button Backen.
- Erstellen Sie ein neues Material und verleihen Sie dieses dem niedrigpolygonalen Objekt. Aktivieren Sie beim Material den Kanal "Normale”.
- Im Kanal Normale laden Sie die eben gebackene Normalen-Map ein.
- Bei Methode definieren Sie Tangente. Fertig.
Beachten Sie, dass die Sculpting-Funktionalität einen eigenen Backen-Dialog hat, der prinzipiell das Gleiche tut. Beim Sculpting lässt sich problemlos von hoch- auf niedrig aufgelöste Objekte wechseln.
Beachten Sie, dass Normalen-Maps natürlich auch ohne Quellobjekt erzeugt werden können. Es werden dann einfach die Normalen des Tag-tragenden Objekts ermittelt und in die Textur kodiert.
Es gibt mehrere Methoden, wie Normalen-Texturen definiert werden können. Ohne allzusehr ins Detail zu gehen, gilt folgendes:
- Tangente: Die gebräuchlichste Methode. Hier wird die Normalenrichtung in Bezug zur darunterliegenden Oberfläche definiert. Das ist daher die ideale Methode für sich deformierende Objekte (Charakteranimation). Sie erkennen solche Texturen an der überwiegenden Hellblau- bzw. Grünfärbung; dies sind die Bereiche, deren Normalen senkrecht zur Oberfläche stehen.
- Objekt: Hier wird das Objekt-Koordinatensystem zur Kodierung der Normalenrichtung verwendet. Solcherlei Texturen erstrahlen überwiegend in allen Regenbogenfarben.
- Welt: Hier wird das Welt-Koordinatensystem zur Kodierung der Normalenrichtung verwendet. Diese sind nur für unanimierte, statische Objekte geeignet. Auch hier haben die Texturen alle Regenbogenfarben.
Da die Erzeugung von Normalen-Texturen nicht unbedingt genormt ist, gibt es viele Wege: Mal ist beispielsweise die Farbkomponente Grün, mal Blau für die Y-Richtung zuständig. Um allen Arten gerecht zu werden, können Sie hier jeden Farbanteil umschalten.
Diese Funktionalität (s. Nur Eigenbeschattung) lässt sich hier, ohne die Rendervoreinstellungen zu verändern, separat setzen.
Sollten Sie diese Option aktivieren, wird AO in eine Vertex-Map eingeschrieben, die mittels des Vertex-Map-Shaders sichtbar gemacht werden kann. Beachten Sie, dass Vertex-Maps naturgemäß nur auf Objektpunkte wirken und die AO-Auflösung deshalb in den meisten Fällen sehr viel geringer ist, als wenn Sie AO herkömmlich berechnen lassen.
Ein beliebter Trick, um Szenen klein zu halten, ist die Verwendung von Displacement bzw. Subpolygon Displacement, um filigrane Details rendern zu können.
Von nichts kommt leider nichts, deshalb wird zur Erstellung solcher Displacement-Maps das entsprechende Objekt sowohl in einer polygonarmen, als auch in einer sehr detaillierten, ausmodellierten Version benötigt.
Prinzipiell erhält das polygonarme Objekt das "Material backen”-Tag, dort kann das detaillierte Objekt zugewiesen werden. Das Tag ermittelt dann beim Backen, wie weit zueinander gehörende Positionen auf den beiden Objekten auseinander liegen und errechnet dementsprechend die Displacement-Map (der Displacement-Typ samt samt allen Displacement-Einstellungen, die Sie schon vom Displacement-Materialkanal kennen, kann frei definiert werden).
Für die Typen RGB (XYZ Objekt), RGB (XYZ Tangente), RGB (XYZ (Welt) gilt: damit das funktioniert, müssen beide Objekte deckungsgleiche UV-Projektionen haben, d.h. die UV-Map des hochaufgelösten Objekts muss quasi eine unterteilte UV-Map des niedrig aufgelösten darstellen. In der Praxis ist das bei aufwendigeren Objekten nur mit viel Aufwand machbar. Am besten funktioniert dies daher mit einfachen Körpern wie Ebenen, da hier die UV-Koordinaten deckungsgleich und unverzerrt übereinander liegen.
Vorgehensweise, um eine Displacement-Map zu backen:
- Sie haben das Objekt in 2 Varianten vorliegen: Hoch- und niedrigpolygonal.
- Geben Sie dem niedrigpolygonalen Objekt ein "Material backen-Tag” (Objekt-Manager: Tags/Material-Tags/Material backen).
- Aktivieren Sie im Tab "Optionen” die Option "Displacement” und definieren ansonsten einen Speicherpfad für die Textur (es sind dann übrigens 32 Bit Farbtiefe zu empfehlen).
- Im Untertab "Displacement” ziehen Sie das hochpolygonale Objekt in das Feld Quellobjekt und wählen z.B. den Typ Intensität. Die restlichen Einstellungen bleiben, wie sie sind. Klicken Sie auf den Button Backen.
- Erstellen Sie ein neues Material und verleihen Sie dieses dem niedrigpolygonalen Objekt. Aktivieren Sie beim Material den Kanal "Displacement”.
- Im Kanal Displacement laden Sie die eben gebackene Displacement-Map ein (dabei definieren Sie bei Interpolation Keine).
- Bei Typ definieren Sie Intensität und bei Maximale Höhe geben Sie den Wert ein, der im "Textur backen”-Tag bei Höhe errechnet wurde. Fertig.
Die nächste Reihe von Parametern kennen Sie schon aus dem Material-Kanal "Displacement". Was auch immer Sie hier zum Backen auswählen, muss exakt später dann auch so im Displacement-Kanal eingestellt werden, sonst kommt es zu ungewünschten Ergebnissen. Im Tab "Tag" sollte die Option Einzeldatei aktiviert sein und 32 Bit Farbtiefe ist anzuraten.
Stellen Sie im Übrigen später beim Displacement-Material bei Textur Interpolation auf Keine.
In dieses Feld ziehen Sie das hochpolygonale der beiden Objekte.
Dieses Feld wird automatisch nach dem Backen gesetzt. Diese Höhe setzen Sie dann im Displacement-Kanal bei Maximale Höhe ein.
Siehe Typ.
Siehe Sub Polygon Displacement.
Siehe Unterteilungslevel.
Siehe Geometrie runden.
Siehe Kontur runden.
Auf gerundete Geometrie projizieren
Siehe Auf gerundete Geometrie projizieren.
Auf resultierende Geometrie projizieren
Siehe Auf resultierende Geometrie projizieren.
Siehe Originalkanten erhalten.
Siehe Beste Verteilung.
Ray Cast
Wundern Sie sich nicht, wenn im folgenden Text von "Sculpt-Mesh" die Rede ist. Die gleiche Funktionalität finden Sie beim Sculpting backen. Stellen Sie sich anstelle vom erwähnten "Sculpt-Mesh" das Quellobjekt vor.
Wenn Sie Displacement (nur bei den 3 Typen Intensität, Intensität (Zentriert) und Rot/Grün)- bzw. Normalen-Maps backen, wird eine sog. "Ray Cast"-Technik angewendet. Vereinfacht funktioniert das für Displacement so: stellen Sie sich hierbei das Ausgangsmesh vor, dem das Sculpt-Mesh übergestülpt wird. Für jede Position auf dem Ausgangsmesh werden Position und Normalenrichtung ermittelt. Jetzt wird in Richtung der Normalen und entgegengesetzt jeweils ein Strahl losgeschickt und ermittelt, in welcher Entfernung dieser das Sculpt-Mesh schneidet und welche Normale dort anliegt. Die Entfernung der zuerst gefundenen Sculpt-Mesh-Oberfläche wird in die Displacement-Map eingerechnet.
Das funktioniert in den meisten Fällen sehr gut, kann aber in gewissen Bereichen fehlschlagen. Z.B. kann das an Geometrierandkanten passieren, wo der Strahl besonders leicht ins Leere läuft. Ebenso ist es möglich, dass der Strahl auf falsche Geometrie trifft. Die Textur wird dann falsch berechnet, wobei sich dann später beim Displacement-Rendern lange Spitzen ergeben. Die folgenden Einstellungen dienen dazu, diese Fehler möglichst zu minimieren. Wenn also solche langen Spitzen auftauchen, kann es helfen Auto Spitzenfilterschwellwert zu deaktivieren und eine kleinere Eigene Ray Cast Distanz zu verwenden.
Maximale Ray Cast Distanz
Eigene Ray Cast Distanz
Bei aktivierter Option Maximale Ray Cast Distanz wird der Strahl praktisch nicht begrenzt. Ist die Option deaktiviert, wird der Strahl nach der bei Eigene Ray Cast Distanz definierten Länge abgebrochen und dort kein Displacement (Höhe=0) berechnet.
Auto Spitzenfilterschwellwert
Eigener Spitzenfilterschwellwert
Der Spitzenfilter untersucht die gebackene Textur und stellt auf statistische Weise fest, welcher Displacement-Bereich am häufigsten vorkommt und identifiziert so krasse Ausreißer (= Spitzen). Diese Ausreißer werden entfernt. Wenn Sie regulierend in die Berechnung der Ausreißer eingreifen wollen, so deaktivieren Sie die Option: je kleiner der Wert bei Eigener Spitzenfilterschwellwert, desto mehr des abweichenden Displacements wird als ungültig deklariert und entfernt.
Bei sehr kleinen Werten bleibt dann allerdings auch nichts mehr vom Displacement übrig.
BodyPaint 3D Anwender kennen diese Funktionalitäten schon: Sie sorgt für eine Anpassung der UV-Koordinaten, sodass sich z.B. keine UV-Polygone mehr überlappen. In obiger Abbildung sehen Sie links das UV-Mesh, so wie es sich nach dem Modellieren darstellt. Da die UV-Polygone aller 6 Würfelseiten seitenweise übereinander liegen, sind diese zum Backen denkbar ungeeignet, da auf allen Würfelseiten dasselbe zu sehen wäre.
Wenn Sie jetzt unter Auto UV Gepackt auswählen, werden beim Backen der Textur wahlweise alle vorhandenen UV-Polygone getrennt auf der Textur angeordnet. Damit lässt sich der Würfel texturmäßig komplett mit einer Bitmap beschreiben.
Folgende Modi gibt es:
- Gepackt: der fortschrittlichste Modus, der das UV-Mesh optimal abwickeln kann (s. Gepackt).
- Aus: Keine Neuordnung der UV-Koordinaten; für das Backen nur dann von Bedeutung, wenn Sie schon ein passendes UV-Mesh haben.
- Würfel: Hier werden, wenn möglich, zusammenhängende UV-Meshgruppen erzeugt
- Winkel: Das UV-Mesh wird in sehr viele Einzelteile zerlegt
Entspannen gibt eine Anzahl interner Entspannungsschritte für das UV-Mesh an. Dabei werden die UV-Koordinaten so verschoben, dass große UV-Polygone kleiner und kleine UV-Polygone größer werden.
Der wichtigste Button in Baker: Er sorgt dafür, dass die Texturen gebacken werden.
Da das Backen von Texturen je nach Komplexität der beteiligten Funktionalitäten (Ambient Occlusion, GI etc.) sehr lange dauern kann, können Sie das Backen hiermit jederzeit unterbrechen.
Hiermit löschen Sie den Inhalt des unten angeordneten Renderfensters.
Lassen Sie sich hiermit eine niedrig aufgelöste und damit schnelle Vorschau der Oberflächenfarbe anzeigen. Damit können Sie abschätzen, wie die gebackene Textur aussehen wird.
Renderfenster
In diesem Fenster können Sie folgendes tun:
- den Fortschritt des Texturenbackens verfolgen.
- sich eine niedrig aufgelöste Vorschau anzeigen lassen.
- Per Maus ein Rechteck aufziehen, um den Renderbereich festzulegen.
Bei einem Rechtsklick in das Fenster erhalten Sie ein kleines Menü mit folgenden Einträgen:
- Fenster öffnen: Öffnet ein beliebig skalierbares Fenster, wo die gerade gebackene Textur angezeigt wird.
- Ebene: Sollten Sie mehrere Kanäle (wie z.B. Oberflächenfarbe, Schatten, Normale etc.) gleichzeitig backen, wählen Sie hier den anzuzeigenden Kanal aus. Dies funktioniert auch in dem im vorherigen Punkt erwähnten Fenster.