Sculpting backen
In der Anwendung hat sich im Wesentlichen nichts geändert, außer: früher konnte beim Backen einer Displacement-Map gleichzeitig auch eine Normalen-Map berechnet werden, um einige Artefakte auszugleichen. Das ist jetzt nicht mehr nötig.
Der große Nachteil des Sculpting sind die hochaufgelösten Objekte, die ohne weiteres mit heutiger Hardware nicht in den normalen 3D-Workflow integriert (Bemalen, Animation etc.) werden können. Wie bringt man nun die kunstvoll gestalteten, mit Details in Geometrie versehenen (oft aus Millionen Polygonen bestehenden) Objekte in den normalen Produktionsablauf?
Ganz einfach: die Details werden in Texturen gebacken und auf die niedrig aufgelösten Objekte (aus denen Sculpting auch mittels interner Unterteilung die hochaufgelösten Objekte erstellte) projiziert. Beim finalen Rendern erscheinen die Objekte dann wieder in großer Detailfülle.
Gehen Sie so vor, wenn Sie ein Sculpting-Objekt backen wollen:
Achten Sie darauf, ausreichend große Texturen zu backen, da es ansonsten zu fehlerhaften, finalen Renderings kommen kann.
Allgemeine Hinweise zum guten Gelingen:
Der Dialog " Sculpting-Objekte backen"
Links oben finden Sie eine kleine Vorschau der zu backenden bzw. bereits gebackenen Textur. Beim Rechtsklick auf die Vorschau werden diese Befehle eingeblendet:
Lassen Sie sich hiermit eine niedrig aufgelöste und damit schnelle Vorschau der zu backenden Texturen anzeigen.
Hiermit backen Sie die ausgewählten Texturen. Achten Sie darauf, im Tab "Backen" unter Dateiname auch einen Dateipfad und -namen anzugeben. Dort landen dann die Bitmaps.
Hier kann das Backen der Texturen (was je nach Größe und Komplexität auch lange dauern kann) jederzeit abgebrochen werden.
Geben Sie hier durch Klick auf den rechts angeordneten Button einen Dateinamen und -pfad an. Hier werden die Texturen gespeichert und dieser (absolute) Pfad wird auch im Material des neu erzeugten Objekts verwendet.
Wählen Sie hier das Speicherformat samt Farbtiefe aus, in dem die gebackenen Texturen abgelegt werden sollen. Wenn es für bestimmte Formate noch extra einzustellende Optionen geben sollte, können Sie dies durch Klick auf den Button Optionen bewerkstelligen. (s.a. Speichern-Seite).
Bei Displacement sollten Sie grundsätzlich 16 oder 32 Bit verwenden, um spätere Stufenbildung zu verhindern.
Wählen Sie hier unter einer Reihe von quadratischen Texturgrößen aus.
Bei aktivierter Option ändert sich bei Änderung eines Wertes von Breite oder Höhe der jeweils andere, damit das Texturseitenverhältnis gleich bleibt.
Stellen Sie hier individuelle Werte ein für die zu backenden Texturgrößen ein.
Hiermit können Sie einen über die UV-Polygone hinausgehenden Rand (in Pixeln) definieren (s.a. Pixelrand des Material-Backen-Tags). Das kann manchmal nötig sein, um sichtbare Nähte im Rendering zu verhindern. Zu kleine Werte können für Displacements auch zum Erzeugen von ungewollten Spitzen führen.
Ist die Option aktiviert, werden die einzelnen Kanäle (Displacement, Normale, Ambient Occlusion) in eine einzige Bitmap-Datei (anstatt für jeden Kanal eine separate Datei anzulegen) als separate Bildebenen gespeichert.
Bei aktivierter Option wird gleich ein neues Objekt inkl. passender Materialien und Material-Tags erstellt. Ist die Option deaktiviert, werden nur die Texturen gerendert.
Displacement/Normalen/Ambient Occlusion
Legen Sie hier fest, welche Texturen gebacken werden sollen. Kurz zur Erinnerung, was diese Materialkanäle später machen:
In den meisten Fällen sollten Displacement und/oder Normalen gebacken werden. Probieren Sie ansonsten einfach aus, welche Texturen für Ihren Workflow benötigt werden.
Wenn Texturen gebacken werden, muss sicher gestellt sein, das sich die UV-Polygone nicht überlappen.
Wenn Sie in einem vorhergehenden Schritt schon dafür gesorgt haben, dass das bei Ihrem Objekt nicht der Fall ist, dann lassen Sie diese Einstellung auf Aus. Die UV-Koordinaten bleiben dann unverändert (und werden höchstens je nach Zielobjekt weiter unterteilt).
Gleiche Einstellung gilt auch für die mitgelieferten Sculpting-Objekte. Deren UV-Meshes sind alle schon abgewickelt und optimiert.
Wollen Sie an einem selbst modellierten Objekt formen und Sie haben sich über UV-Koordinaten noch keine Gedanken gemacht, dann wählen Sie Würfel oder Winkel.
Aus: Keine Neuordnung der UV-Koordinaten; für das Backen nur dann von Bedeutung, wenn Sie schon ein passendes UV-Mesh haben.
Winkel: Hier werden, wenn möglich, zusammenhängende UV-Meshgruppen erzeugt
Würfel: Das UV-Mesh wird in sehr viele Einzelteile zerlegt.
Um es vorwegzunehmen: diese Option hat nur minimalen Einfluss auf das später gerenderte (zuvor gebackene) Endergebnis. Die Option entscheidet vielmehr, ob das beim Backen erzeugte Mesh strikt einem ausschließlich unterteilten Ausgangsmesh entspricht (Option deaktiviert) oder dieses Mesh schon mit den Auswirkungen auf höreren Unterteilungsstufen (Option aktiviert) vorgenommenem Sculpting versehen ist.
Beispiel:
Gelegentlich kann die Optionsaktivierung auch dafür sorgen, dass Artefakte (besonders bei Verwendung des Typs RGB (XYZ Tangente)) verhindert werden, indem das Ausgangsmesh schon etwas an die spätere Form angeglichen wird.
Der abgebildete Reifen (geformt auf Unterteilungsstufe 9 eines simplen Würfels) wird gebacken. Im Falle der aktivierten Option (unten) ist der Würfel nicht exakt würfelförmig, sondern etwas verformt (genau so würde das Sculpting-Objekt aussehen, wenn Sie die Unterteilungsstufe auf 0 stellen würden). Bei der deaktivierten Option erhalten Sie einen perfekten Würfel. Gerendert werden Sie kaum einen Unterschied sehen.
Um das ganze mal auf einen Nenner zu bringen: Ist die Option deaktiviert, ähnelt das beim Backen erzeugte Mesh mehr dem gerenderten (=geformten) Endergebnis als die aktivierte Option, die da weniger (bis keine) Rückschlüsse zulässt.
Was genau geschieht beim Backen eines Sculpting-Objektes?
Die Details von sehr hoch aufgelösten Objekten (Quellobjekt) werden per Textur auf niedrig aufgelöste (Zielobjekt) transferiert.
Cinema 4D muss nun wissen, welche der vielen Unterteilungsstufen eines Sculpting-Objekts beim Backen herangezogen werden soll. Als Zielobjekt wählen Sie die Unterteilungsstufe, in der das neue Objekt erzeugt werden soll und als Quellobjekt dasjenige, dessen Details als Textur verewigt werden soll. Stellen Sie sich dann die beiden Objekte übereinander gelegt vor. Es wird jetzt für das Ziel-Objekt an jeder Oberflächenposition ermittelt, wie weit die entsprechende Oberfläche des Quellobjekts entfernt ist und ein entsprechendes Displacement errechnet. Ähnlich funktioniert das mit der Normalenberechnung.
Die Unterteilungsstufe des Zielobjekts muss immer kleiner sein als die des Quellobjekts, damit dieses Konzept aufgehen kann.
Siehe Typ. Der voreingestellte Typ RGB (XYZ Objekt) ergibt in den meisten Fällen die besten Ergebnisse; planen Sie allerdings das Objekt später in der Form zu verändern (z.B. per Deformer), verwenden Sie RGB (XYZ Tangente). Nur in diesem Modus "funktioniert" die Textur auch bei sich verformender Geometrie. Beachten Sie beim Modus RGB (XYZ Tangente), dass Sie das Backen von Normalen-Maps streng genommen in 2 Schritten vornehmen sollten. Angenommen Sie haben an einem Objekt mit Unterteilungsstufe 7 geformt. Wenn Sie optimale Ergebnis erhalten wollen, sollten Sie in einem zweistufigen Prozess backen. Zunächst backen Sie nur die Displacement-Textur mit Zielobjekt Stufe 0 von Quellobjekt (mit einer Stufe die die groben Details darstellt z.B.) Stufe 5 (Tab "Optionen"). In einem zweiten Schritt backen Sie dann die Normalen-Textur mit Zielobjekt Stufe 5 von Quellobjekt Stufe 7. Danach müssen die beiden Texturen in einem Material zusammenfasst werden. Warum dieser Aufwand? Der Sculpting-Backen-Dialog schiesst etwas übers Ziel hinaus. Wenn Sie beide Texturen (wie gesagt nur im RGB (XYZ Tangente)-Modus) gleichzeitig mit denselben Ziel- und Quellobjektstufen backen, tut die Normalen-Textur etwas zu viel des Guten, da sie zusätzlich zum Displacement bereits vorhandene Geometrie vortäuscht, was zu einem schlechteren Shading führt.
Wenn Sie ein gebackenes (Displacement-Textur) Objekt mittels eines Deformers verformen, kann es zu solchen, oben in der Abbildungs links gezeigten Effekten kommen. In einem solchen Fall aktivieren Sie diese Option. Die Displacement-Textur wird dann geringfügig anders gebacken und später im Displacement-Kanal wird die Option Geometrie runden mit dem dort gezeigten Effekt aktiviert.
Allerdings kann diese Option auch zu besseren Ergebnissen führen, wenn oben genannter Effekt nicht vorkommt. Probieren Sie ihn ruhig einfach mal aus.
Siehe Methode und folgende. Auch hier gilt – wie im vorherigen Absatz beschrieben –, soll das Objekt später per Deformer verformt werden, verwenden Sie die Option Tangente, ansonsten Objekt.
Wenn Sie einen Pixelrand (Tab "Backen") definiert haben, legt diese Option fest, wie innerhalb davon die Pixel fortgeführt werden sollen. Ist sie aktiviert, werden die Pixel einfach bis zum Rand wiederholt, ansonsten richtig berechnet (s.a. UVs fortführen des Material-Backen-Tags).
Mit Supersampling definieren Sie ein Antialiasing beim Backen der AO-Textur (die Antialiasing-Einstellungen in den Rendervoreinstellungen haben für das Backen von Texturen keinen Einfluss).
Wenn Sie einen Pixelrand (Tab "Backen") definiert haben, legt diese Option fest, wie innerhalb davon die Pixel fortgeführt werden sollen. Ist sie aktiviert, werden die Pixel einfach bis zum Rand wiederholt, ansonsten richtig berechnet (s.a. UVs fortführen des Material-Backen-Tags).
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.