Volumen

Verschiedene Einsatzmöglichkeiten von OpenVDB. Von links oben im Uhrzeigersinn: 2 Mal Einsatz mit Boole'schen Funktionen (das Kreuz besteht aus simplen Grundobjekten, auf die ein Deformer wirkt), die Schrift mit Umformfilter und schlußendlich eine Flüssigkeit.

Bisher hatte Cinema 4D zur Beschreibung eines dreidimensionalen Objekts fast ausschließlich dessen Oberfläche im Blickpunkt. Damit wird ein Polygonobjekt durch die Koordinatenwerte seiner Oberflächenpunkte und den daraus gebildeten Polygonen definiert. Für die meisten, festen Objekte ist das auch völlig angemessen. Bei anderen Objekten wie z.B. Flüssigkeiten, Nebel und Feuer funktioniert dieser Ansatz jedoch nicht so gut. Diese haben keine leicht zu definierenden, festen Oberflächen, sondern z.B. volumetrische, sich oft schnell ändernde Dichten. Solcherlei Effekte lassen sich besser durch "Voxel" beschreiben.

Was sind Voxel? Einfach gesagt, handelt es sich um dreidimensionale Pixel. Ähnlich wie Bitmaps, die aus zweidimensionalen Pixeln bestehen, die alle einen Farbwert mit sich tragen, sind Voxel in einem dreidimensionalen Gitter angeordnete Würfel, die ebenfalls jeweils einen Wert mit sich tragen (das kann z.B. der Abstand zu der Oberfläche eines volumenerzeugenden Objekts sein (Volumentyp Distanzfeld (SDF)) oder bei komplexeren, importierten Anwendungsfällen z.B. die Temperatur oder Gasdichte in einer Flamme (Volumentyp Nebel).

Links Definition eines Torus durch Polygone, rechts durch Voxel, jeweils 1 Element markiert. Je nach Definition kann der Torus rechter Hand mit Voxeln komplett gefüllt sein (Typ "Nebel") oder auch nur aus oberflächennnahen Voxel-Schichten (Typ "Distanzfeld (SDF)") bestehen.
Hinweis:Per Definition unterscheidet OpenVDB zwischen aktiven und inaktiven Voxeln (die Szenerie ist zunächst komplett mit inaktiven Voxeln gefüllt, die keinen Speicher verbrauchen; sobald Sie Volumen erzeugen, werden entsprechende Voxel aktiviert).
Diese Unterscheidung wird in den folgenden Beschreibungen ignoriert. Wenn hier von Voxel- oder Voxelschichten die Rede ist, sind damit immer die aktiven Voxel gemeint.

Cinema 4D auch auch mit Voxel-definierten Objekten umgehen (dafür wurde übrigens intern die mit dem Filmpreis Oscar ausgezeichnete Open-Souce-Bibliothek OpenVDB integriert). Voxel können jederzeit in Polygon-Objekte, wie auch Polygon-Objekte in Voxel konvertiert werden:

Beachten Sie die neue Topologie rechts gegenüber dem Originalobjekt links.

Manche Aufgaben (z.B. Boole'sche Operationen) lassen sich mit Voxeln effektiver durchführen als mit Polygonoberflächen. Deswegen funktioniert die Konvertierung in beide Richtungen reibungslos.

Um ausschließlich die Polygontopologie zu ändern ("Remeshing"), gibt es den Befehl Volumenmesh....

Beachten Sie, dass dem Modellieren mit Voxeln enge Grenzen gesetzt sind. Hochpräzises Modellieren ist damit eher schlecht möglich (dazu müsste Voxelgröße sehr klein definiert werden, was jedoch sehr rechenaufwendig ist). Trotzdem können damit komplexe Formen in vollparametrischer Ausführung leicht erstellt werden.

Um Voxel rendern zu können, müssen die Voxel in eine Polygonoberfläche konvertiert werden (s. Volumenmesher).

Voxel können folgendermaßen in Cinema 4D erzeugt werden:

Voxel können übrigens nicht nur zum Modellieren verwendet werden, sondern können auch zum Erzeugen von Volumenvektoren genutzt werden. Jedes Voxel beinhaltet dann einen Vektor.

Alle Volumen-Cache-Ebenen löschen

Der Aufruf dieses Befehl löscht den Inhalt aller in Volumenerzeugern vorhandenen Cache-Ebenen, unabhängig davon, ob sie aktiviert sind oder nicht (entspricht also dem Anklicken des Buttons Löschen bei jedem Volumenerzeuger). Die Berechnung der Volumenerzeuger erfolgt dann wieder live.