Referenz Cinema 4D Weitergehende Funktionalitäten Volumen Volumenerzeuger
Funktion verfügbar in CINEMA 4D Visualize, Broadcast, Studio
Volumenerzeuger

Basis Koord. Objekt

Objekt-Eigenschaften

Volumentyp

Es gibt diese beiden Volumentypen (je nach Typ werden entweder Boole- oder Mischen-Optionen in der Objektliste angeboten):

Distanzfeld (SDF)

Diesen Volumentyp (SDF: "Signed Distance Field") verwenden Sie, wenn Sie modellieren und Boole’sche Operationen ausführen wollen. Was macht dieser Typ? Polygone, Punkte und Partikel haben von sich aus kein Volumen. Damit ein Volumen erzeugt werden kann, werden Lagen von Voxelschichten um diese Elemente (bei Polygonflächen darüber und darunter) gelegt. Die Voxel sind dabei gemäß eines Voxelgitters angeordnet:

Linker Teil: je kleiner die Voxelgröße, desto genauer kann die Form (hier eine Kugel) nachgebildet werden. Rechts: es werden Voxelschichten inner- und außerhalb der Form erzeugt.

Jeder Voxel trägt als Wert die Entfernung zur Polygonoberfläche.

Beachten Sie in diesem Zusammenhang den Parameter Voxelbereichsschwellwert des Volumenmeshers, der aus diesen Voxeln wieder eine Polygonoberfläche macht. Die Polygonoberfläche kann nur innerhalb der Voxelschichten (also des eigentlichen Volumens) erstellt werden!

Nebel

Dieser Volumentyp ist primär zum Rendern von Flüssigkeiten, Feuer, Nebel, und Rauch geeignet (Sie können mit Drittprogrammen erzeugte Rauch- und Flüssigkeitssimulationen laden).

Was macht dieser Typ? Vereinfacht gesagt, füllt er geschlossene, voluminöse Polygonobjekte komplett mit Voxeln. Bei Verwendung von Partikeln, Splines oder Punkten werden Volumen mittels eines einstellbaren Radius um die Punkte hergestellt.

Auch hier speichert jeder Voxel einen Wert. Und zwar zwischen 0 (außen) und 1 (innen). Wie genau diese Wertverteilung vonstatten geht, definiert die Einstellung Innerer Voxelbereich: Abnahme

Derzeit (Cinema 4D R21) können Sie nur mit dem ProRender Volumen rendern (s. Volumen-Tag).

RELEASE 21

Vektor

3 Objekttypen werden in Vektoren konvertiert.

Diese Option fällt gegenüber den zwei eben beschriebenen etwas aus dem Rahmen. Es werden hier keine Voxel zu Modellierzwecken erzeugt, sondern Volumenvektoren. Dabei handelt es sich also um räumliche Vektorverteilungen.

Die Voxelgröße spielt auch hier eine Rolle, da innerhalb eines Voxels alle Vektoren identisch in Betrag und Richtung sind, damit also quasi die "Auflösung" der Volumenvektoren festgelegt wird.

In der Ansicht werden solcherlei Volumenvektoren voreinstellungsgemäß so angezeigt: pro "Voxel" wird ein Vektor abgebildet und entsprechend seiner Richtung (im Objektkoordinatensystem des Volumenerzeugers: +X, +Y, +Z in den gewohnten Farben, -X Türkis, -Y dunkles Violett, -Z Ocker und Zwischenwerte entsprechend) eingefärbt. Im Ansichtsmenü "Optionen" unter "Volumenvektoren" gibt es noch mehr Möglichkeiten, Volumenvektoren anzuzeigen.

Alle hier beschriebenen Einstellungen zur Voxelanordnung/-verteilung gelten auch für Vektoren. Voxel können allerlei Werte enthalten, ist es zu Modellierzwecken z.B. (bei Volumentyp Distanzfeld (SDF)) die Entfernung zur Oberfläche, sind es bei Volumenvektoren, richtig, Vektoren).

Eine begrenzte Voxelschicht um eine Polygonoberfläche bei z.B. einer Kugel, lässt die Kugelmitte "richtungsfrei", dort sind also Nullvektoren.

Ein anderer Funktionskomplex innerhalb von Cinema 4D – die Felder – , sind ebenfalls in der Lage, Vektoren räumlich zu steuern.

Wozu sind solche Volumenvektoren gut? Sie können z.B. mit Hilfe des Kraftfeldes Kraftwirkungen steuern.

Voxelgröße [0.001..+∞m]

Von links nach rechts kleiner werdende Voxelgröße.

Legen Sie hiermit die Voxelgröße in Zentimeter fest. Oder anders ausgedrückt: definieren Sie hiermit die Auflösung des Voxelgitters. Je kleiner der Wert, desto präziser das Ergebnis, aber desto größer die Rechenzeit und umgekehrt.

Sollten Sie hier zu kleine Werte eingeben, wird Ihnen eine Meldung ausgegeben, die Sie warnt. Ist die sich ergebende Voxelanzahl zu groß, gestaltet sich die Arbeit zunehmend zäher.

Die folgenden vier Einstellungen gelten nur für den Volumentyp Distanzfeld (SDF).

Innerer Voxelbereich [1..2147483647]
Äußer Voxelbereich [1..2147483647]

Legen Sie hiermit fest, wie viele Lagen Voxel innen bzw. außen um die ursprüngliche Objektoberfläche gelegt werden sollen (s. Abbildung bei Volumentyp).

Sehen Sie diese beiden Einstellungen im Zusammenhang mit dem Volumenbereichsschwellwert des Volumenmeshers. Nur innerhalb dieser beiden Voxelbereiche (also dem eigentlichen Volumen) kann ein Mesh erzeugt werden.

Der Innere Voxelbereich wird in Richtung des Objektinneren angelegt. Möchten Sie mit dem Umformfilter (z.B. mit Noiseabnahme) auf das Objektinnere wirken, so müssen Sie diesen Wert erhöhen:

Verschiedene Werte bei Verwendung eines Würfels als Volumendefinition.

Beachten Sie aber, dass mit höheren Werten die Rechengeschwindigkeit abnimmt.

Die Volumenfilter können ebenfalls in zu erzeugenden Voxelschichten eingreifen (s. hier).

Voxelbereich Spline [1..2147483647]

Damit Sie nicht immer erst ein Sweep-Objekt erzeugen müssen, um Splines ein schlauchförmiges Volumen zu verleihen, werden für Splines Kugeln dicht überlappend auf den Spline aufgereiht, diese vereinigt und um das Konstrukt wiederum Voxelschichten innen und außen gelegt. Mit Voxelbereich Spline definieren Sie die Anzahl der Voxellagen über und unter der Oberfläche.

Voxelbereich Partikel [1..2147483647]

Bei Partikeln im Volumenerzeuger wird um jedes Partikel eine Kugel gelegt, um die wiederum Voxelschichten gelegt werden. Mit Voxelbereich Partikel definieren Sie die Voxellagen über und unter der Oberfläche.

Objekte

Hier finden Sie das Herzstück des Volumenerzeugers. In dieser Liste befinden sich alle Objekte, aus denen ein Volumen gebildet werden soll. Bei mehreren Objekten können Sie hier entscheiden, wie diese geboolt (Distanzfeld (SDF)) bzw. verrechnet (Nebel) werden.

Sofern Sie ein Objekt dem Volumenerzeuger unterordnen, wird dieses automatisch in die Liste aufgenommen und im Editor unsichtbar geschaltet. Sie können aber auch in anderen Hierarchien liegende Objekte manuell in die Liste ziehen (diese müssen dann evtl. unsichtbar geschaltet werden).

Hinweis:
Achtung, beim Löschen von Listenelementen – die gleichzeitig Unterobjekte des zugehörigen Volumenerzeugers sind – werden die Objekte gleichfalls im Objekt-Manager gelöscht. Das ist eine Verhaltensweise, die von anderen, bisher gewohnten Verhaltensweisen abweicht. Sie finden eine ähnliche Funktionalität in den neuen Felderlisten.

Die Auswertereihenfolge erfolgt von unten nach oben. Die Reihenfolge von Elementen kann durch Drag&Drop verändert werden. Es ist möglich, Ordner anzulegen.

Es sind die üblichen Funktionalitäten bzgl. Selektion möglich: Es kann ein Rahmen aufgezogen werden, um viele zusammenhängende Elemente zu selektieren und mit Shift und Ctrl können Elemente zur Selektion hinzugefügt bzw. ausgenommen werden. Bei Selektion eines Elementes werden weitere Parameter unten im Dialog angezeigt.

Stellen Sie sich die Funktionsweise der Objektliste in etwa so wie die Ebenenstruktur eines Bildbearbeitungsprogramms vor. Dort erfolgt die Auswertung ebenfalls von unten nach oben. Eine nachgeordnete Ebene wirkt auf die vorherigen mittels eines einstellbaren Modus (entspräche im Bildbearbeitungsprogramm dem Blendemodus).

Dieser Analogie folgend, sind auch Einstellungsebenen möglich, indem die Volumenfilter mit den entsprechenden Ebenen im selben Ordner untergebracht werden. Darüber hinaus kann die Wirkung von Volumenfiltern auch mit verknüpften Feldern (Tab "Felder") maskiert werden.

Sie finden in der Liste mehrere Spalten mit folgender Funktionalität:

Es können Objekte doppelt in die Liste gezogen werden. Nun, was soll das bringen? Bei komplexeren Boole-Operationen, wo allerhand geboolte Ergebnisse wiederum mit anderen Booles kombiniert werden, ist das oft Voraussetzung:

Hier werden die Objekte "green" und "sphere" doppelt verwendet (obwohl im Objekt-Manager nur einfach vorhanden)

Listenelementeinstellungen

Je nachdem, welcher Objekttyp sich in der Liste befindet und welcher Volumentyp definiert ist, werden bei dessen Selektion die im Folgenden beschriebenen Einstellungen eingeblendet, d.h. nicht alle hier beschriebenen Einstellungen sind stets sichtbar.

Folgende Objekttypen lassen sich hier unterbringen:

Volumenfilterebenen

Erzeugen Sie hiermit einen Volumenfilter (je nach Volumentyp werden Ihnen hier unterschiedliche Filter angeboten; es handelt sich dabei um ein und dassselbe Filterobjekt, nur mit verschiedenen Einstellungen. Sie finden Sie im Hauptmenü unter Volumen/Distanzfeld-, Nebel- und Vektorfilter alle diese vordefinierten Filter). Die Filter werden dann nicht als Objekte im Objekt-Manager erzeugt, sondern existieren nur hier in der Liste. Gegenüber den Filter-Objekten können diese einen reduzierten Parametersatz (z.B. wird das Tab " Koord." ausgeblendet, weil diese Eigenschaften unerheblich sind, bzw. vom Volumenerzeuger-Objekt übernommen werden) aufweisen.

Sie können die Filter aber genauso als Objekt erzeugen und in die Liste ziehen. Die Funktionalität ist die gleiche.

Die Filter wirken auf die in der Liste davor angeordneten Elemente.

Ordner

Erzeugen Sie hiermit einen Ordner, der wiederum einen Modus aufweist. Ein Ordner kann dazu dienen:

Auch innerhalb des Ordner erfolgt die Auswertereihenfolge von unten nach oben.

Cache

Mittels eines Klicks auf diesen Button erzeugen Sie nach dem selektierten Listenelement eine Cache-Ebene.

Modi

Modi bei Verwendung des Volumentyps "Distanzfeld (SDF)"

Mit diesen Modi werden Boole’sche Operationen ausgeführt.

Wirkungsweise der Modi bei teilweise überlappenden Würfel und Kugel (Kugel liegt in der Liste hinter dem Würfel).

Es gibt diese Modi:

Modi bei Verwendung des Volumentyps Nebel

Jeder Nebel-Voxel speichert eine Fließkommazahl als Wert. Die hier einzustellenden Modi machen nichts anderes als diese Werte mathematisch zu verrechnen. Ist der Modus z.B. Min und Volumen A gibt einen Wert von 7 und Volumen B einen Wert von 5 für ein und denselben Voxel vor, so ist das Ergebnis 5. Im Modus Max wäre das Ergebnis 7, im Modus Addieren 12 usw.

Normal überschreibt einfach die Voxelwerte der zuvor angeordneten Objekte mit denen des voxeltragenden Objekts. Für oben angeführtes Beispiel wäre das Ergebnis dann 5. Siehe auch hier im Zusammenhang mit dem Abnahme-Objekt.

Diese Verrechnungen sind nicht besonders anschaulich. Hier führt Ausprobieren mit wirkendem Volumenmesher manchmal zu den schnelleren Ergebnissen.

RELEASE 21

Modi bei Verwendung des Volumentyps "Vektor"

Wenn Sie Vektoren mischen wollen, haben Sie hier eine Reihe von Optionen zur Auswahl:

  • Normal: Der modusdefinierende Listeneintrag überschreibt die darunterliegenden.
  • Addieren/Subtrahieren: Bei diesen beiden Modi kommt es zu einer Vektorenaddition bzw. -subtraktion.
  • Kreuz: Dieser spezielle Modus ("Kreuz" für "Kreuzprodukt") ermittelt eine Richtung, die senkrecht zu der von beiden zu mischenden Vektoren aufgespannten Ebene gerichtet ist. Hiermit lassen sich zu Polygonoberflächen tangentiale Richtungen realisieren:
  • Ein Noise-Zufallsfeld wird im Mischmodus "Kreuz" mit einem Mesh gemischt. Die dann zur Oberfläche des Meshs tangentialen Vektoren steuern mittels eines Kraftfeldes die Kraftwirkung auf von einem Matterwave-Node erzeugten Partikel (deren Bewegungsbahn wird wiederum von einem Tracer in Splines gewandelt).

Gittermatrix überschreiben

Umwandeln eines Würfels in Voxel: links voreinstellungsgemäßes Voxelgitter, rechts verdreht.

Beim Erzeugen von Voxeln wird ein Gitter aus würfelförmigen Gitterzellen verwendet. Voreinstellungsgemäß liegt dieses unverdreht im Objektursprung. Ziehen Sie hier ein anderes Objekt hinein, um dessen Ursprung und Ausrichtung für das Voxelgitter festzulegen. Wozu soll das gut sein?

Wenn der Volumenmesher aus den Voxeln ein Mesh erzeugt, kann es zu Artefakten bei der Interpolation kommen. Stellen Sie sich z.B. 3 Würfel unterschiedlicher Position vor. Je nach Position kann die Kante eines Würfels sehr scharf sein, weil die Kante genau auf der Grenzfläche zweier Voxel liegt, während sie bei einem anderen Würfel abgerundet erscheint, weil sie mitten durch ein Voxel läuft. In solchen Fällen kann es sinnvoll sein, die vorgegebene Gittermatrix zu überschreiben, um beide Kanten abzurunden.

Ein anderer möglicher Einsatzzweck wäre z.B. die Animation einer Objektgruppe durch die statische Gittermatrix. Es kommt hierbei zu Sprüngen in der Geometrie (besonders gut bei größeren Voxelgrößen sichtbar). Ziehen Sie jetzt z.B. das gruppierende Nullobjekt in Gittermatrix überschreiben, bewegt sich die Gittermatrix mit und es kommt zu keinen Geometriesprüngen.

Voxelgröße anpassen

Wenn bei Gittermatrix überschreiben ein Volumenobjekt oder Volumenerzeuger platziert wird, kommt dieser Button zum Vorschein. Was macht er? Er setzt die Voxelgröße des Volumenerzeugers auf die des platzierten (Volumen-)Objekts. Damit sind die Voxelgrößen synchron (die Richtung stimmt wegen Gittermatrix überschreiben sowieso schon)) und die Berechnung ist maximal schnell. Oder in anderen Worten: es muss nicht neu gesampelt werden, weil die Voxel exakt übereinander liegen.

Autoaktualisierung

Je nach Komplexität der Szene kann das Arbeiten in der Objektliste sehr zäh werden, wenn z.B. beim Ändern des Boole-Modus alle Boole-Operationen neu berechnet werden müssen. Diese automatische Neuberechnung findet stets statt, wenn Auto-Aktualisieren aktiviert ist. Wollen Sie dagegen schnell mehrere Änderungen in der Liste durchführen, sollten Sie die Option zuerst deaktivieren. Nach Abschluss der Änderungen drücken Sie dann auf den nächsten Button, um eine Neuberechung auszulösen.

Aktualisieren

Hiermit lösen Sie eine komplette Neuberechnung der Objekteliste aus. Aktivieren Sie Auto-Aktualisieren, falls das automatisch geschehen soll.

Infos

Ganz unten werden Ihnen die Anzahl der aktiven Voxel, als auch der ungefähre Arbeitsspeicherverbrauch der aktuell in der Liste berücksichtigten Objekte angezeigt.