Objekt-Eigenschaften
Es gibt diese beiden Volumentypen (je nach Typ werden entweder Boole- oder Mischen-Optionen in der Objektliste angeboten):
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:
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!
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
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.
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:
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.
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).
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:
- Aktivierung: hiermit können die entsprechenden Elemente von der Volumenbildung temporär ausgeschlossen werden (Sie schalten hiermit gleichzeitig die Sichtbarkeit des Objekt in der Ansicht, sofern das entsprechende Objekt dem Volumenerzeuger untergeordnet ist).
- Objektname: der Objektname des volumenbildenden Objekts.
- Modus: je nach Volumentyp verschiedene Boole- bzw. Mischoptionen (Details s. Modi).
- Eingabetyp: Je nachdem, ob das entsprechende Objekt ein Unterobjekt des Volumenerzeugers ("Unterobjekt") ist oder aus einer anderen Hierarchie in die Liste gezogen wurde ("Verknüpfung"), wird das Objekt entsprechend klassifiziert. Unterobjekte werden, wenn Sie aus der Liste gelöscht werden, ebenfalls aus dem Objekt-Manager gelöscht (das ist bei Verknüpfungen nicht der Fall)!
- Radius: (nur für Volumentyp Distanzfeld (SDF)). Wenn Sie hier höhere Werte als 0 angeben, werden an den Kanten der Boole’schen Operationen entsprechende Radien angebracht. Sie können damit weiche Übergänge an den zu kombinierenden Ursprungsobjekten erzeugen.
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:
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 z.B. lassen sich hier unterbringen:
- Polygonale Objekte oder deren Generatoren
- Splines oder deren Generatoren
- Matrix-Objekt und Partikel (bei Thinking Particles verwenden Sie die Partikelgruppe).
- Felder und Abnahme-Objekt (letzteres hat im Tab "Felder" eine Felderliste, wo nicht nur Felder kombiniert, sondern auch Effektebenen wirken können; gleiches tut das Gruppenfeld)
- andere Volumenobjekte (deren Voxelwerte für die Voxelwerte des Volumenerzeugers zusammengefasst werden müssen, was mitunter einigen Rechenzeitaufwand bedeutet), wie z.B. das Pyro-Objekt.
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:
- Volumenfilter nur auf bestimmte Objekte oder Objektgruppen wirken zu lassen.
- Übersicht herzustellen.
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.
Es gibt diese Modi:
- Vereinigen: das modustragende Objekt wird mit den in der Objektliste davor angeordneten Objekten zu einem einzigen vereint.
- Subtrahieren: das modustragende Objekt wird aus denen in der Objektliste davor angeordneten Objekten herausgeschnitten.
- Schnittmenge: vom modustragende Objekt bleibt nur die Schnittmenge mit den in der Objektliste davor angeordneten Objekten erhalten.
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.
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:
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.
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.
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.
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.