Blender Dokumentation: Radiosity rendern
Diese Seite bezieht sich auf Blender v2.37 |
Angenommen Sie haben eine Szene erstellt, und wollen diese mit Radiosity Rendering berechnen lassen. Als erstes muss man verstehen, dass bei Radiosity keine Lampen notwendig sind. Meshes, deren Materialeinstellungen einen Emit-Wert größer Null haben, dienen als Lichtquellen.
Es ist nicht schwer eine Testszene zu bauen, wie sie in Abbildung 1 gezeigt wird. Benutzen Sie einen großen Würfel für den Raum und weisen den Seiten verschiedene Materialien zu. Dann fügen Sie zwei kleine Würfel hinzu, der eine wird in Z-Richtung verlängert und verschmälert. Eine Ebene mit einem Emit-Wert ungleich Null (ca. 0,3) kommt an die Decke, um eine ausgedehnte Lichtquelle zu simulieren. Die Würfelfläche, die der Kamera zugewiesen ist, bitte löschen (sonst sieht man den Würfel nur von außen).
Materialien werden wie üblich zugewiesen. Die RGB-Farbe des Materials bestimmt die Lichtfarbe. Der Emit-Wert bestimmt, ob ein Patch zu Beginn der Berechnung „aufgeladen“ ist. Der Emit-Wert multipliziert mit der Fläche des Patches ergibt den Anfangswert an vorhandener Lichtenergie. Der Amb-Wert bestimmt beim Radiosity rendern die Menge an Energie, die ein Material empfängt.
Überprüfen Sie die Anzahl an „emittors“ (sic!) auf der Konsole. Ist diese Null, kann nichts Interessantes geschehen. Man benötigt zumindest eine emittierende Fläche, damit das Licht angeschaltet ist und eine Lösung berechnet werden kann. Wenn die Helligkeit einer Fläche zu gering ist, erhöhen Sie den Amb-Wert.
Beim Erstellen eines Materials sollte man sich vergewissern, dass für jedes Material der Radio-Button im Shader-Panel der Material-Buttons gedrückt ist (Abbildung 2).
Bitte beachten Sie: die Richtung der Lichtabgabe ist durch die Richtung der Flächennormalen bestimmt. Die Normale der lichtemittierenden Fläche muss nach unten, in den Raum hineinzeigen, die Flächennormalen des äußeren Würfels (des Raumes) müssen nach innen zeigen, also müssen sie jetzt „geflipt“ werden. Dazu den äußeren Würfel markieren, in den Edit-Modus schalten und unter Mesh Tools: „Flip Normal“ klicken. Um sich die Normalen anzeigen zu lassen, kann man unter Mesh Tools 1 „Draw Normals“ einschalten.
Jetzt auf den Radiosity-Button klicken. Dieser wird sichtbar, wenn Sie die Shading-Buttons ausgewählt haben. Hier gibt es zwei Panel (Abbildung 4): In Radio Render nimmt man die Einstellungen vor, wenn man Radiosity als Renderwerkzeug einsetzen will (so wie wir jetzt). Unter Radio Tool nimmt man die Einstellungen vor, wenn man Radiosity als Werkzeug zur Modellierung einsetzen will (das wird im nächsten Abschnitt behandelt).
Die Bedeutung der einzelnen Regler:
- Hemires: Hemicube resolution; die Auflösung der farbkodierten Bilder die benutzt werden, um diejenigen Flächen zu finden welche von einem aufgeladenen Patch sichtbar sind. Diese Flächen erhalten Lichtenergie. Hemicubes werden nicht gespeichert, werden aber jedesmal für jeden aufgeladenen Patch neu berechnet. Dieser Wert bestimmt die Radiosity Qualität und trägt wesentlich zur Renderzeit bei.
- Max Iterations: Die Maximale Anzahl an Radiosity Iterationen. Wenn es auf Null gesetzt ist, wird die Berechnung so lange fortfahren, bis das Konvergenz-Kriterium erreicht ist (unter Umständen viele 1000). Es wird empfohlen, Max Iterations auf eine von Null verschiedene Anzahl zu setzen, normalerweise größer als 100. Insbesondere bei verschachtelten Räumen kann es viele Iterationsschritte dauern, bis das Licht "um die Ecke" geleuchtet hat.
- Mult:, Gamma: Der Farbraum der Radiosity Lösung ist viel genauer als der übliche 24 Bit RGB Farbraum. Wenn Elemente in Flächen konvertiert werden, werden ihre Energiewerte unter Benutzung der Mult und Gamma Werte in eine RGB-Farbe konvertiert. Mult multipliziert den Energiewert, mit Gamma kann der Kontrast geändert werden.
- Convergence: Wenn die Menge an unverbrauchter Energie in einer Szene kleiner ist als dieser Wert, hört die Berechnung auf. Die Anfangsenergie wird mit der Fläche der Patches multipliziert. Während jeder Iteration wird etwas Energie absorbiert oder verschwindet, wenn es sich nicht um einen geschlossenen Raum handelt. Im Standardkoordinatensystem von Blender hat ein typischer Emitter (wie im Beispiel) eine relativ kleine Fläche. Daher wird der Convergence Wert vor dem Testen durch den Faktor 1000 geteilt.
Stellen Sie Max Iterations: auf 100 und wechseln Sie in die Render-Buttons (F10). Lokalisieren Sie den Radio Button (Abbildung 5) im Render Panel und stellen Sie ihn an. Jetzt mit (F12) ein Bild rendern lassen.
Das Rendern dauert länger als sonst, außerdem sieht man einen Zähler laufen (die Anzahl der Iterationen). Das Ergebnis ist noch ziemlich schlecht (Abbildung 6, links), denn die Auflösung der Meshes wird nicht automatisch verfeinert. Das machen wir jetzt von Hand.
Wählen Sie die Meshes eins nach dem anderen aus, und subdividen Sie diese im Editmodus mindestens drei mal. Der Raum sollte sogar vier mal subdivided werden, da er größer ist als die anderen Meshes. Den Max Iterations Wert etwas erhöhen, so auf 300 oder mehr. Wieder rendern (F12). Jetzt dauert das Rendern etwas länger (ca. die dreifache Zeit), aber das Ergebnis ist viel schöner, mit weichen Schatten und colour leakage. (Abbildung 6, rechts).
Subdivision Surfaces
Das gleiche Ergebnis erhält man, wenn man SubSurfaces benutzt. Dann braucht man noch nicht einmal die Geometrie zu verändern.
Hinweise: Beim Radiosity Rendern verhält sich Blender wie sonst auch, Texturen, Kurven, Oberflächen und auch mit Dupliframes erstellt Objekte werden normal behandelt. Der Specularity-Wert wird ignoriert. Andere Lichtquellen funktionieren wie gewöhnlich, werden aber nicht in die Radiosity Berechnung mit einbezogen.
Wollen Sie Licht durch ein Fenster scheinen lassen, und damit z.B. einen Innenraum beleuchten, müssen Sie beim Radiosity Rendern für das Fenster auf dem Shaders Panel den Radio Button ausschalten. Das funktioniert beim Radiosity Modellieren nicht. Dort müssen Sie das Fenster von Collect Meshes ausnehmen.
Links
BearbeitenDie englischsprachige Vorlage für diese Übersetzung