Blender Dokumentation: Radiosity als Modellierungswerkzeug

Aus Wikibooks
Wechseln zu: Navigation, Suche
<<<Zurück
Radiosity rendern
Inhaltsverzeichnis

Handbuch durchsuchen

Weiter>>>
Einfache Beispiele für Radiosity-Modellierung


Diese Seite bezieht sich auf Blender v2.37
Radiosity Modellierung: In diesem Raum gibt es keine Lampe. Die Berechnungszeit betrug ca. 30 Minuten, die Renderzeit 2 Sekunden.

Allgemeine Bemerkungen[Bearbeiten]

Im vorigen Abschnitt haben wir gesehen, wie Radiosity als Rendering Methode benutzt werden kann. Radiosity kann aber genausogut als Modellierungswerkzeug benutzt werden, um Vertexfarben und Vertexlichter festzulegen. Das ist insbesondere nützlich, wenn die Modelle weiter verfeinert werden sollen, oder man sie in der Game Engine einsetzen will. Für Animationen ist das natürlich unschlagbar, weil die Radiositymodellierung genau einmal erfolgt, und alle anderen Frames nicht neu berechnet werden müssen (sofern sich die Lichtquellen nicht bewegen). Außerdem ermöglicht Radiosity Modelling im Gegensatz zum Rendern das „Adaptive refinement“. Sie müssen Radiosity Modellierung aber nicht einsetzen, um Bilder mit Radiosity zu erstellen!

Die Vielzahl an Einstellungsmöglichkeiten für das Radiosity Modelling wirkt am Anfang erschlagend. Damit erhält man aber eine gute Kontrolle über das Ergebnis. Die Voreinstellungen sind für viele Fälle außerdem ausreichend, so dass man zunächst versuchen sollte, die Kurzanleitung zu benutzen.

Es gibt einige wichtige Punkte, die man beim Radiosity Modelling beachten sollte:

  • In Blender sind nur Meshes als Eingabe für das Radiosity Modelling erlaubt. Das liegt daran, dass der Prozess Vertexfarben erstellt, also werden Vertices benötigt. Subdivision Surfaces funktionieren ebenso nicht (sie können aber mit Alt-C konvertiert werden).
  • Jedes Face in einem Mesh wird zu einem Patch, also zu einem potentiellen Energieabsorber oder Emitter. Große Patches empfangen und senden mehr Energie als kleine. Daher ist es wichtig, dass ein ausgewogenes Eingangsmodell nur Faces besitzt, die groß genug sind. Sehr kleine Faces werden fast nie genug Energie erhalten, um von der „progressive Refinement“ (fortschreitende Verfeinerung) Methode berücksichtigt zu werden. Diese Methode wählt nur Patches mit großen Mengen an unverschossener Energie aus. Im nächsten Abschnitt werden wir uns mit diesem Problem etwas genauer auseinandersetzen und versuchen, eine Lösung zu finden.

Zur Klarstellung noch einige Ergänzungen:

  • Der Radio-Button im Render-Panel bleibt nach der Radiositymodellierung aus!
  • VCol Light in den Material-Buttons wird für die Lösung automatisch angeschaltet. Man benötigt auch hinterher keine Lampen.
  • Die Lösung besteht aus einem großen Objekt. Alle Einzelobjekte werden zu einem verschmolzen.
  • Größter Nachteil: Texturen gehen verloren, müssen hinterher also wieder aufgebracht werden.


Blender3D FreeTip.gif

Nicht Mesh-Objekte
Nur Meshes bedeutet, dass Curves, Surfaces und Metaballs zu Meshes konvertiert werden müssen (Alt-c) (sic!), bevor die Radiosity Lösung berechnet werden kann! Das ist beim Radiosity Rendern nicht notwendig.


Kurzanleitung[Bearbeiten]

Sie haben eine Szene erstellt, und beim Radiosity rendern ist auch etwas zu sehen. Nun wollen Sie mit Radiosity modellieren.

  1. Speichern Sie ihre Datei unter einem neuen Namen.
  2. Stellen Sie Radio bei den Render-Buttons aus.
  3. Markieren Sie alle Objekte, die in die Radiosity-Lösung eingehen sollen (A bzw. A-A).
  4. Wechseln Sie in die Radiosity Buttons.
  5. Klicken Sie auf Collect Meshes.
  6. Klicken Sie auf GO.
  7. Klicken Sie einmal auf Element Filter und danach einmal auf Face Filter (beides optional).
  8. Klicken Sie einmal auf Replace Meshes.
  9. Rendern Sie jetzt (F12).

Jetzt kommen wir zur ausführlichen Erläuterung der Einstellungsmöglichkeiten.

Ausführliche Anleitung[Bearbeiten]

Phase 1: Collect Meshes (Meshes einsammeln)[Bearbeiten]

Alle ausgewählten – am besten mit A bzw. A-A alle Objekte auswählen – und sichtbaren Meshes in der aktuellen Szene werden zu Patches konvertiert, wenn man den Collect Meshes Button des Radio Tool Panels anklickt (Abbildung 7). Wollen Sie Radiosity-Licht allerdings z.B. durch eine Fensterscheibe scheinen lassen, müssen Sie diese Scheibe von Collect Meshes ausnehmen. Es erscheint ein neues Panel, Calculation. Blender befindet sich jetzt im Radiosity Modellierungsmodus, andere Bearbeitungsfunktionen sind blockiert, bis der Button Free Data gedrückt wird. Nachdem die Meshes eingesammelt wurden, werden sie in einem Pseudo-Beleuchtungsmodus dargestellt, der sich deutlich von der sonst üblichen Darstellung unterscheidet.

Das Radio Tool Panel (Abbildung 7) hat drei Radio Buttons: Wire, Solid, Gour. Das sind drei Darstellungsmöglichkeiten im 3D-Fenster für die gesammelten Radiodaten, wobei das Gouraud-Shading erst nach Berechnung der Lösung angezeigt werden kann. Diese drei Buttons haben nichts mit der Darstellung im gerenderten Bild zu tun, sondern dienen nur der Vorschau!

Abbildung 7: Darstellungsmöglichkeiten im 3D-Fenster, Gouraud-Shading eingeschaltet.

Phase 2: Subdivision Grenzen[Bearbeiten]

Im Radio Tool Panel können einige Einstellungen vorgenommen werden, um die kleinst- und größtmögliche Größe von Patches und Elementen einzustellen. ElMax, ElMin, PaMax und PaMin geben jeweils die maximale und minimale Größe an. Die Einheit ist der 0,0001-te Teil (1/10.000) der Boundingbox der gesamten Szene. Für die voreingstellten Größen 500 und 200 der Patches bedeutet dies z.B. 0,05 (=1/20tel) bzw. 0,02 (=1/50tel) der Umgebung. Bei sehr großen oder sehr kleinen Umgebungen werden Sie diese Werte vermutlich anpassen wollen, ebenso wenn die Größe der Faces in einem Mesh sehr unterschiedlich ist und sehr kleine Faces vorhanden sind.

Limit Subdivide: (Limited Subdivide=begrenztes Unterteilen, nicht "das Unterteilen begrenzen") Klicken Sie auf diesen Button, werden die Patches unter Berücksichtigung der Werte PaMax und PaMin unterteilt. Das passiert aber auch automatisch, wenn sie auf GO klicken.

ShowLim: Diese Option zeigt die Grenzen der Patches und Elemente. Z rotiert diese Anzeige.


Empfehlung: Lassen Sie diese Einstellungen für den Anfang so, wie sie sind.

Phase 3: Adaptive Subdividing (Angepasste Unterteilung)[Bearbeiten]

Nun erfolgen die letzten Einstellungen, bevor tatsächlich die Lösung berechnet wird.

Abbildung 9: Calculation Buttons


Blender3D FreeTip.gif

Schalten Sie zunächst den Wire Modus an, um die die Größe der Patches zu beurteilen!


MaxEl: Die maximal erlaubte Anzahl an Elementen. Da Elemente in Blender automatisch unterteilt werden, ist die Menge an benötigtem Speicher und die Dauer der Lösung stark abhängig von dieser Einstellung. Als Daumenregel kann man sagen, dass 20.000 Elemente ungefähr 10 MB Speicher benötigen. Bei sehr großen Szenen werden viele Elemente benötigt, aber viele Elemente geben nicht automatisch bessere Ergebnisse. Starten Sie erst einmal mit der voreingestellten Anzahl.

Max Subdiv Shoot: Die maximale Anzahl an Shoot-Patches, die für das „adaptive Subdivision“ Verfahren ausgewertet werden.

Subdiv Shoot Patch: Es wird Lichtenergie in die Umgebung geschossen, und der resultierende Hemicube Wert mit dem mathematisch korrekten Formfaktor verglichen. Dadurch kann bestimmt werden, ob der Patch feiner unterteilt werden muss. Dadurch werden die Patches kleiner, die Lösungszeit länger, aber das Ergebnis realistischer. Die Anzahl der Patches steigt bei den voreingestellten Werten allerdings nur wenig. Diese Funktion wird automatisch durchgeführt, wenn auf GO geklickt wird.

Subdiv Shoot Element: Wenn in einem Patch große Energieunterschiede festgestellt werden, also sich die Elemente sehr stark unterscheiden, werden die Elemente in diesem Patch noch einmal unterteilt. Jedesmal beim Aufruf dieser Funktion wird das Unterteilen nur einmal durchgeführt. Das Ergebnis sind kleinere Elemente, allerdings mehr Aliasing und eine längere Lösungszeit, aber eine größere Detailliertheit. Die Anzahl der Elemente steigt bei den voreingestellten Werten aber nur wenig. Diese Funktion wird automatisch durchgeführt, wenn auf GO geklickt wird.

SubSh Patch: Wie oft die Funktion Subdiv Shoot Patch bei der Radiosity Berechnung aufgerufen wird.
SubSh Element: Wie oft die Funktion Subdiv Shoot Element bei der Radiosity Berechnung aufgerufen wird.

Blender3D FreeTip.gif

Die optimalen Einstellungen finden
Die Auswirkungen der Funktionen Subdiv Shoot Patch und Subdiv Shoot Element können sehr gut in der Gouraud-Vorschau beurteilt werden. Insbesondere die erste Funktion kann stark zur Verbesserung des Ergebnisse beitragen.


Blender3D FreeNote.gif

Hemires, Convergence und Max Iterations im Radio Render Panel sind aktiv und haben die gleiche Bedeutung wie beim Radiosity rendern.


GO: Mit diesem Button startet man die Radiosity Berechnung. Jetzt werden folgende Schritte durchgeführt:

  1. Limit Subdivide. Zu große Patches werden unterteilt.
  2. Subdiv Shoot Patch. Der Wert von SubSh Patch bestimmt, wie oft die Subdiv Shoot Patch Funktion aufgerufen wird. Im Ergebnis werden die Patches unterteilt.
  3. Subdiv Shoot Elem. Der Wert von SubSh Element bestimmt, wie oft die Subdiv Shoot Element Funktion aufgerufen wird. Im Ergebnis werden die Elemente unterteilt.
  4. Subdivide Elements. Wenn Elemente größer sind als die minimale Größe (sic! Ich halte das für entweder einen Fehler in der Originaldokumentation, oder die Namensgebung ist unlogisch. --Soylentgreen 13:45, 12. Jun 2005 (UTC)), werden sie unterteilt. Zu diesem Zeitpunkt wird der meiste Speicher angefordert.
  5. Solve. Nun beginnt die „progresse refinement“ Methode. Am Mousepointer wird der Iterationsschritt angezeigt. Die Methode läuft solange, bis die unverschossene Energie kleiner ist als der Convergence Wert, oder die maximale Anzahl an Iterationen erreicht wurde.
  6. Convert to faces. Die Elemente werden in drei- oder viereckige Faces mit „anchored“ Edges konvertiert. Damit ist eine gute Gouraud Darstellung möglich.

Mit Esc kann der Prozess jederzeit unterbrochen werden.

Phase 4: Die Lösung bearbeiten[Bearbeiten]

Nachdem die Radiositylösung berechnet wurde, müssen noch einige Dinge erledigt werden.

Element Filter: Diese Funktion filtert die Elemente um Aliasing Artefakte zu entfernen und die Schattengrenzen weichzuzeichnen. Farben benachbarter Elemente werden einander angenähert. Das ist insbesondere für die RemoveDoubles Funktion nützlich. Das Netz wird dadurch nicht verfeinert, es entstehen also keine neuen Vertices.

FaceFilter: Elemente werden in Faces umgewandelt, damit sie dargestellt werden können. Ein FaceFilter glättet die Faces, ohne die Elementwerte selbst zu verändern. Auch hier wird das Netz nicht verfeinert, es enstehen also keine neuen Vertices. Der FaceFilter sollte praktisch immer (in Maßen) angewendet werden.

Blender3D FreeTip.gif

FaceFilter undo:
Es gibt für den FaceFilter eine einfache „Undo“ Möglichkeit. Einmal den Mult-Faktor erhöhen und wieder erniedrigen setzt den FaceFilter zurück.


RemoveDoubles: Wenn die Farben zweier benachbarter Elemente weniger voneinander abweichen als im Lim-Feld eingestellt ist, werden die Elemente vereinigt. Der Lim-Wert ist in 8-bit Auflösung ausgeführt, erlaubt also eine Einstellung von 0-255.

Mult:, Gamma: Diese Einstellungen haben die gleiche Bedeutung wie beim Radiosity rendern.

Add New Meshes: Die Faces der dargestellten Radiosity Lösung werden in Mesh-Objekte mit Vertexfarben konvertiert. Sie erhalten ein Material, welches das sofortige Rendern erlaubt (VCol Light angeschaltet). Die Eingabe Meshes bleiben unverändert.

Replace Meshes: So wie gerade, die Eingabe Meshes werden allerdings gelöscht.

Free Radio Data: Alle Patches, Elemente und Faces werden gelöscht. Diese Aktion müssen Sie immer durchführen, um zum normalen Bearbeiten zurückkehren zu können.

Im nächsten Abschnitt werden wir uns einige Beispiele für die verschiedenen Einstellungsmöglichkeiten anschauen, außerdem ein problematisches Mesh bearbeiten.


Links[Bearbeiten]

Die englischsprachige Vorlage für diese Übersetzung

<<<Zurück

Radiosity rendern

Inhaltsverzeichnis
Glossar
Weiter>>>

Einfache Beispiele für Radiosity-Modellierung