Sichtbarkeit
Hier stellen Sie die Eigenschaften des sichtbaren Lichtes ein.
Axiale Abnahme aktivieren
Axiale Abnahme [0..100%]
Die axiale Abnahme des sichtbaren Lichtes beträgt standardmäßig 100%. Das heißt, vom Ursprung der Lichtquelle bis zur äußeren Distanz (s.u.) nimmt die Dichte des sichtbaren Lichtes von 100% auf 0% ab. Geben Sie hier 90% ein, beträgt es am äußeren Rand also noch 10%. Bei 0 % nimmt das sichtbare Licht gar nicht ab und wird an der äußeren Distanz hart abgeschnitten.
Radiale Abnahme aktivieren
Radiale Abnahme [0..100%]
Radiale Abnahme ist nur bei Spot-Lichtern relevant. Die radiale Abnahme bestimmt, wie weit das Licht bis zum Rand des Lichtkegels hin abnehmen soll. Das sichtbare Licht nimmt hier ausgehend vom inneren Winkel/Radius eines Lichtkegels radial zum Rand hin ab. Geben Sie 0% ein (oder lassen Sie das Feld inaktiv), erhalten Sie einen harten sichtbaren Lichtkegel. Bei 100% nimmt das sichtbare Licht weich vom Inneren des Lichtkegels zum Kegelrand hin ab, bis es 0% beträgt.
Diese Option steht Ihnen nur bei Spot-Lichtern und aktivierter Radiale Abnahme zur Verfügung. Normalerweise verhält sich die innere Farbe so, dass sie nur entlang der Z-Achse der Spot-Lichtquelle linear zur äußeren Farbe überblendet. Wenn Sie jedoch die radiale Farbabnahme anwählen, überblendet die innere Farbe zusätzlich radial ausgehend vom inneren Winkel/Radius in die äußere Farbe.
Innerhalb der inneren Distanz beträgt die Dichte des sichtbaren Lichtes konstant 100%. Die Abnahme beginnt erst außerhalb der inneren Distanz.
Zwischen innerer und äußerer Distanz nimmt die Dichte des sichtbaren Lichtes von 100% auf 0% ab. Hier geben Sie also den maximalen sichtbaren Bereich an.
Relative Größe (Y)
Bei Punkt-Lichtquellen (Omni) haben Sie die Möglichkeit, für alle Achsen der Lichtquelle unterschiedliche Abnahmedistanzen anzugeben. Hier bestimmen Sie die Distanz des sichtbaren Lichtes für die Y-Achse.
Relative Größe (Z)
Hier geben Sie die Distanz des sichtbaren Lichtes für die Z-Achse an.
Die Sample-Dichte ist nur für volumetrisch sichtbares Licht relevant.
Mit diesem Wert stellen Sie ein, wie fein der Lichtschatten des sichtbaren Lichtes berechnet werden soll. Größere Werte führen zu einer etwas gröberen (aber schnelleren) Berechnung, kleinere zu einer feineren (aber zeitaufwendigeren).
Der Wert der Sample-Dichte wird in Welteinheiten angegeben. Bestimmt wird hiermit, wie fein innerhalb eines sichtbaren Lichtkegels gesampelt wird. Typische Werte reichen von
1/10 bis 1/1000 des Lichtquellenradius. Durch eine Erhöhung der Dichte wird gröber gesampelt, wodurch Cinema 4D spürbar schneller wird. Ab einer gewissen Stufe jedoch treten Sampling-Artefakte auf, die dann immer schlimmer werden.
Umgekehrt reduziert eine verringerte Sample-Dichte die Artefakte, kostet aber bei der Berechnung umso mehr Zeit, je kleiner der Wert gewählt wird.
Cinema 4D enthält ein integriertes Antialiasing auf Strahlebene, das die gröbsten Unebenheiten ausbügelt, wodurch die Sample-Dichte generell etwas höher angesetzt werden kann.
Generelle Anhaltspunkte:
Tritt Licht durch feine Ritzen oder Spalten aus, muss die Sample-Dichte auf einen relativ geringen Wert gesetzt werden. Ist dagegen eine Lichtquelle komplett verdeckt, kann gröber gesampelt werden.
Hierzu ein kleines Beispiel, welches das verdeutlichen soll: Der Kürbis besitzt einen Radius von 150 Einheiten, das sichtbare, volumetrische Licht einen Radius von 700 Einheiten.
Oben links:
Sample-Dichte: 10 Einheiten
Rechenzeit: 105s
Der Kürbis sieht perfekt aus.
Oben rechts:
Sample-Dichte: 20 Einheiten
Rechenzeit: 60s
Bei den Strahlen, die aus dem Mund und dem rechten Auge austreten, sind die ersten Artefakte zu erkennen.
Unten links:
Sample-Dichte: 40 Einheiten
Rechenzeit: 35s
Man sieht jetzt deutlich, wie die Öffnungen im sichtbaren Licht parallelverschoben werden.
Unten rechts:
Sample-Dichte: 80 Einheiten
Rechenzeit: 23s
Das Bild ist schlichtweg nicht mehr zu gebrauchen.
Warum ist das Berechnen von volumetrischem Licht so zeitaufwendig?
Wenn ein Sehstrahl auf einen Lichtkegel trifft, muss nun nicht nur die Intensität des Lichts berechnet werden. Stattdessen muss für alle Teile des Sehstrahls geprüft werden, ob ein anderes Objekt oder gar mehrere Objekte im Lichtkegel diesen mit Schatten belegen. Das bedeutet, dass für jedes Teilstück das Aufstellen und Losschicken eines zusätzlichen Raytracer-Strahls notwendig wird.
Da man aber nun die Teilstrecken im Nebel nicht beliebig klein machen kann, behilft man sich mit einer Näherung. Die Strecke im Lichtkegel wird zusätzlich in gleichgroße Teilstrecken unterteilt.
Angenommen, der Raytracer-Strahl schneidet den Lichtkegel und die Distanz zwischen Eintritt und Austritt beträgt 1000 Einheiten. Eine Sample-Dichte von z.B. 50 Einheiten bedeutet dann, dass 1000/50 = 20mal ein Intensitätswert und ein Schattenstrahl berechnet werden. Je kleiner die Sample-Distanz, desto länger die Berechnung. Dieses Rechenexempel bedeutet andererseits auch, dass – weil die Sample-Dichte konstant bleibt – die Rechenzeit grundsätzlich umso größer wird
– je breiter der Lichtkegel wird und
– je flacher in die Lichtquelle geblickt wird.
Schon eine fünffache Unterteilung hat zur Folge, dass pro Sehstrahl (= 1 Pixel) und pro Auftreffen auf einen Lichtkegel fünfmal mehr Strahlen berechnet werden müssen als ohne Volumetric Lighting.
Benutzt man nun immer feinere Unterteilungen, erreichen die Rechenzeiten sehr schnell astronomisch hohe Werte. Leider handelt es sich hierbei um ein prinzipbedingtes Problem der Computergrafik und kann nicht anders gelöst oder beschleunigt werden.
Warum nun kann man dann nicht einen fixen Wert für die Anzahl der Samples eingeben?
Ganz einfach: Schneidet der Raytracer-Strahl den Lichtkegel am Anfang, beträgt die Lauflänge zwischen Eintritt und Austritt z.B. 100 Einheiten. Schneidet der Strahl den Kegel weiter von der Lichtquelle entfernt, wächst diese Länge z.B. auf 5000 Einheiten an.
Bei einer festen Sample-Zahl von sagen wir mal 20, würden anfangs unnötig viele Berechnungen durchgeführt (nämlich alle fünf Einheiten), und später dann deutlich zu wenige (nämlich nur noch alle 250 Einheiten), was dann wiederum zu häßlichen Artefakten führt.
Die Angabe einer Sample-Distanz von z.B. 50 Einheiten liefert anfangs zwei Samples und später hundert Samples. Es wird also adaptiv gearbeitet.
In diesem Eingabefeld geben Sie die relative Helligkeit des sichtbaren Lichtes zur Helligkeit der Lichtquelle an.
In diesem Eingabefeld bestimmen Sie den Schwarzanteil eines sichtbaren Lichtkegels. Hier wird nicht wie bei Helligkeit Licht hinzugemischt, sondern Licht abgezogen.
Sie sollten bei Verwendung des Staubeffekts den Anteil der Helligkeit deutlich zurücknehmen.
Der Unterschied zwischen den beiden Arten wird in der folgenden Abbildung deutlich. Links sehen Sie helles, sichtbares Licht und rechts dunkles, staubiges Licht.
Im Prinzip haben Sie jetzt keine Lichtquelle mehr, sondern eine Staubansammlung, die Sie in Verbindung mit Partikeln wunderbar zur Simulation von Feuer und Rauch verwenden können. Mehr dazu finden Sie hier (das Partikelsystem).
Dies erzeugt Unregelmäßigkeiten im sichtbaren Licht, die in manchen speziellen Fällen das sog. Banding (siehe Erklärung unten) verhindern.
Mit dem Gradienten sind flexible Farb- und Helligkeitsverläufe realisierbar.
Achtung: Dazu muss die Option Axiale Abnahme aktivieren im gleichen Tab aktiviert sein.
Mit dieser Einstellung bestimmen Sie, ob die Lichtkegel zweier oder mehr Lichtquellen additiv gemischt werden oder nicht.
Diese Option verhindert das Überstrahlen eines Lichtkegels. Der Lichtkegel wird in seiner Helligkeit so weit heruntergeregelt, bis der Überstrahl-Effekt verschwindet.