Blender Dokumentation: Tipps und Tricks beim Rendern

Aus Wikibooks
Wechseln zu: Navigation, Suche
<<<Zurück
linearer Workflow
Inhaltsverzeichnis

Handbuch durchsuchen

Weiter>>>
Composite-Nodes


Diese Seite bezieht sich auf Blender v2.42

Tipps und Tricks beim Rendern[Bearbeiten]

Schnelle Testrenderings[Bearbeiten]

Vom ersten Schritt bis zum letzten, finalen Rendering sind viele Testrenderings nötig. Natürlich möchte man diese Checkups möglichst schnell sehen. Wie man dem stundenlangen Warten auf Testrenderings entkommen kann, soll hier kurz erläutert werden.

Das 3D-View rendern[Bearbeiten]

rightAbb. 1: Die 3d-Ansicht rendern.

Um den 3d-View zu rendern, klicken Sie auf den Renderbutton ganz rechts im Header des 3D-Views (bei gedrückter Strg-Taste wird die Ansicht animiert gespeichert). Hinweis: Nur das, was im 3D-View sichtbar ist, wird hier gerendert, also kein Raytracing, kein OSA, keine Beleuchtung usw. Nützlich ist diese Funktion, um zum Beispiel Bewegungsabläufe hinsichtlich ihrer Geschwindigkeit zu überprüfen, da ein Abspielen der Animation über den Play-Button im Render Panel im Gegensatz zur Play Back Animation-Funktion (Alt-A) eine konstante Framerate garantiert.

Threads aktivieren[Bearbeiten]

Ab der Blender-Version 2.37 wird Threading und Hyperthreading unterstützt, wenn man also einen Prozessor mit dieser Technologie besitzt (ab Intel Pentium 4, AMD FX/ Opteron und PowerPC 5), so sollte man dies in Blender aktivieren.

  • die Funktionstaste F10 drücken um in die Rendereinstellungen zu gelangen
  • im Panel Output den Button Threads aktivieren
  • Möchte man, dass die Unterstützung für Threading immer aktiviert ist, kann man dies in der Startszene aktivieren und als Benutzereinstellungen mit Strg+U abspeichern


Nur Ausschnitte rendern[Bearbeiten]

  • mit Numpad+0 in die Kameraansicht wechseln
  • SHIFT+B drücken und eine Auswahl über den Ausschnitt ziehen den man rendern lassen möchte
  • unter den Renderingeinstellungen (F10) im Panel Render wird mit dem Border-Knopf das Rendern von Ausschnitten wieder deaktiviert.

Nicht in voller Größe rendern[Bearbeiten]

Die Renderzeit eines Testrenderings lässt sich auch verringern, indem man es nicht in 100% Größe ausgibt.

  • die Funktionstaste F10 drücken um in die Rendereinstellungen zu gelangen
  • im Panel Format die eigentliche Größe festlegen
  • im Panel Render die Ausgabegröße per Knopfdruck verkleinern [Panel Render]
  • für das finale Rendering dann die Größe einfach wieder auf 100% setzen

OSA oder FSAA heruntersetzen/ ausschalten[Bearbeiten]

Einen erheblichen Geschwindigkeitszuwachs beim Rendern erhält man auch, wenn man die Kantenglättung (Blender intern OSA - „Object Scene Antialiasing“ genannt; in YafRay als FSAA – „Full Scene Antialiasing“ bezeichnet) deaktiviert oder so klein wie möglich einstellt. Zu beachten ist auch der Knopf „Full OSA“ in den Materialeigenschaften. Bei Körpern mit dieser Materialeigenschaft wird, wenn OSA aktiviert ist, eine volle Kantenglättung erzwungen.

Beim internen Renderer:

  • die Funktionstaste F10 drücken um in die Rendereinstellungen zu gelangen.
  • im Panel Render OSA deaktivieren oder auf den kleinsten Wert setzen [OSA oder FSAA heruntersetzen/ ausschalten].
  • am Ende, für das finale Rendering, OSA wieder aktivieren und auf einen hohen Wert setzen.

Mit YafRay:

  • normalerweise ist unter den Renderingeinstellungen (F10) im Panel YafRay Auto AA aktiviert, dies bedeutet das YafRay die OSA-Einstellungen verwendet. Sollte dies nicht der Fall sein sollte Auto AA aktiviert werden.
  • wie für den internen Renderer im Panel Render OSA deaktivieren oder auf den kleinsten Wert setzen.
  • am Ende, für das finale Rendering, OSA wieder aktivieren und auf einen hohen Wert setzen bzw. Auto AA wieder deaktivieren.


Ambient Occlusion heruntersetzen/ ausschalten[Bearbeiten]

Benutzt man Ambient Occlusion, so wirkt sich - ähnlich wie beim Heruntersetzen/ Deaktivieren von OSA bzw. FSAA - dies enorm auf die Rendergeschwindigkeit aus. Sollte man auf Ambient Occlusion wegen der Beleuchtung der Szene nicht verzichten können, empfiehlt sich die Werte auf ein Minimum zu verringern. Da auch die Feinheit des Drahtgittermodells (Mesh) Ambient Occlusion beeinflusst, kann auch ein Heruntersetzen von SubSurf zur Erhöhung der Rendergeschwindigkeit beitragen.

  • die Funktionstaste F8 drücken um in die World-Einstellungen zu gelangen.
  • im Panel Amb OCC Ambient Occlusion deaktivieren oder Samples auf einen kleinen Wert (z. B. 3) setzen.
  • Je geringer die Anzahl der Samples ist, um so körniger wird das Bild.
  • für das finale Rendering Ambient Occlusion wieder aktivieren bzw. die Anzahl der Samples wieder erhöhen.

SubSurf[Bearbeiten]

  • Im Modifier Subsurf die Einstellung „Enable Modifier during Rendering“ deaktivieren.


Ray Mirror bzw. Ray Transp[Bearbeiten]

Werden Materialien, die andere Objekte mittels Raytracing wiederspiegeln, verwendet, so kann die Zeit des Renderns verkürzt werden in dem man die Anzahl der Spiegelungen herabsetzt bzw. Raytracing deaktiviert.

Beim internen Renderer:

  • die Funktionstaste F5 drücken um in die Materialeigenschaften zu gelangen.
  • im Panel Mirror Transp Ray Mirror bzw. Ray Transp deaktivieren oder die Werte im Feld Depth herabsetzen (z. B. 2)

Mit YafRay:

  • unter den Renderingeinstellungen (F10) im Panel YafRay die Spiegelungstiefe Raydepth heruntersetzen (z.B. 2)


Yafray allgemein[Bearbeiten]

Zu guter Letzt noch einige zusätzliche Tipps für YafRay:

  • unter den Renderingeinstellungen (F10) im Panel YafRay kann die Anzahl der zur Verfügung stehenden Prozessoren eingestellt werden. Besitzt man also einen Mehrprozessorrechner sollte diese Einstellung richtig gesetzt werden.
  • in den Renderingeinstellungen (F10) im Panel YafRay GI sollte der Cache-Button aktiviert sein, dies vermindert zwar die Qualität der Renderings, führt aber zu deutlich schnelleren Renderzeiten.
  • in den Renderingeinstellungen (F10) im Panel YafRay GI kann man die Methode, Qualität und die Tiefe von Global Illumination einstellen, kleinere Werte ergeben geringere Renderzeiten.


Nur mit einem Material rendern[Bearbeiten]

Abb. 1: Nur ein Material beim Rendern verwenden.

Ist der Name eines Materials im Feld Mat: eingetragen, so werden alle Objekte nur mit diesem Material gerendert. Diese Technik erlaubt in Verbindung mit einem Standardmaterial (hellgraue Farbe) eine sehr gute Vorschau darauf, ob es bei dem gewählten Lichtsetup zu Überstrahlungen bei den Objekten kommt. Bei normalen, farbigen Texturen ist dies etwas schwieriger zu erkennen.

Nur wenige Lampen beim Rendern verwenden[Bearbeiten]

Ist unter Light: der Name einer angelegten Lampen-Gruppe eingetragen, werden nur diese Lampen beim Rendern verwendet.

Blender3D FreeNote.gif

Basierend auf dem Tutorial "Schnelle Testrenderings" auf Blendpolis von Eckhard M. Jäger


Weitere Kniffe[Bearbeiten]

Die Octree-Einstellungen[Bearbeiten]

Wenn Sie „Raytracing“ aktiviert haben, also mit durchsichtigen oder spiegelnden Objekten arbeiten, bietet sich die Möglichkeit, die Auflösung von Octree selber zu bestimmen. Die Octree-Einstellungen unterteilen ihre Szene in Würfel und beschleunigen das Rendern. Jede Raumachse wird in 8 Abschnitte unterteilt, die ihrerseits in 8 Abschnitte unterteilt werden usw. Es hat sich gezeigt, dass die Standardauflösung von 64 x 64 x 64 nur in kleinen Szenen gut funktioniert, in großen hingegen nicht. Die Renderzeiten steigen exponentiell an.

Abbildung 1: Die Einstellungen in Blender

Sie finden die Octree-Einstellungen im Renderpanel (F10). Es werden die Größen 64, 128, 256 und 512 unterstützt.


Allgemein kann gesagt werden, dass man für hohe Einstellungen mehr RAM-Speicher benötigt. Sie müssen auch bedenken, dass für den Aufbau hoher Octree-Werte seinerseits Rechenzeit benötigt wird und sich die Vorteile erst bei großen Szenen mit vielen Objekten bemerkbar machen. Die Werte in der Tabelle zeigen die unterschiedlichen Renderzeiten einer Standardszene bei unterschiedlichen Bildgrößen.

Blender3D re octree.png
Abbildung 3: Tabellarische Werte



Blender3D FreeTip.gif

Wenn Sie mit Raytracing arbeiten, sollten Sie unbedingt unterschiedliche Octree-Werte ausprobieren.




Skalieren als Alternative zu AntiAliasing (AA)[Bearbeiten]

Als Ton auf der letzten Siggraph die Leute von ILM fragte, wie sie denn die Probleme mit AA in den Griff bekämen, antworteten sie: "Wir rendern alle Bilder mit doppelter Seitenlänge und skalieren sie runter." (Entnommen aus einem Beitrag auf Blenderartists)


Es muss ein großer Aufwand getrieben werden, um die Treppchenbildung an scharfen Kanten zu beheben. Ein sehr simpler, aber dennoch wirkungsvoller Weg, dieses Problem zu umgehen ist, alle Bilder ohne AA in der doppelten Größe zu rendern, oder um präzise zu sein mit doppelter Kantenlänge. In Abb.4 können Sie sehen, dass Sie das Bild auf ein Viertel der Originalgröße verkleinern müssen, um ein wirkungsvolles AA zu erreichen.


Abbildung 4: Doppelte Größe rendern und dann auf ein Viertel verkleinern



Blender3D FreeTip.gif

An dieser Stelle möchte ich Sie auch noch darauf hinweisen, dass der voreingestellte Wert Gauss bei AA nicht die beste der angebotenen Lösungen ist. Wechseln Sie lieber auf Mitchell-Netravali oder CatRom. Nähere Informationen über die Hintergründe finden Sie hier

.

Spare-Render Buffer[Bearbeiten]

Spare-Render Buffer:

Rendern Sie ein Bild und drücken J. Verändern dann Details in der Szene. Rendern sie ein weiteres Mal. Wechseln sie zwischen dem ersten und zweiten Bild mit J hin und her. Dies ist hilfreich, um kleine Unterschiede vergleichen zu können.


GIF- und Flash-Animationen erstellen[Bearbeiten]

Die Ausgabeformate von Blender umfassen keine Gif- und keine Flash-Animationen. Beide Dateiformate sind aber für das Web sehr nützlich. Gif-Dateien funktionieren in jedem Browser, und lassen sich überall hochladen (z. B. auch bei Wikibooks). Dafür sind sie leider recht groß. Außerdem erlauben Sie nur eine Farbtiefe von 256 Farben.

Flash-Dateien sind erheblich kleiner, und erlauben volle Farbtiefe. Allerdings ist ein Plugin notwendig, um Flash-Dateien anzuzeigen. Wikibooks erlaubt keine Flash-Dateien.


Um Gif-Animationen aus einer Folge von Einzelbildern zu erstellen, kann man das Kommandozeilenprogramm "convert" benutzen, welches zu der Programmsammlung Imagemagick gehört.

  • convert -delay 10 *.png movie.gif : Dieser Befehl wandelt eine Folge von Bildern mit der Endung ".png" in eine Gif-Animation mit dem Namen "movie.gif" um. Der Parameter "delay" gibt die Anzeigedauer eines Bildes in 100tel Sekunden an. Bei einem "delay" von 10 werden die Einzelbilder also jeweils 1/10 Sekunde lang angezeigt. Ein "delay" von 4 entspricht 25 Bildern pro Sekunde - also der Standardanimationsgeschwindigkeit in Blender.


Flashdateien lassen sich nicht nur mit kommerziellen Programmen erstellen. Jpeg2swf erlaubt die schnelle Konvertierung von Jpg-Dateien in das Flash-Format.

  • jpeg2swf -r 25 -o movie.swf *.jpg : Dieser Befehl wandelt eine Folge von Jpg-Dateien mit einer Framerate ("r") von 25 Bildern pro Sekunde in die Flashdatei "movie.swf" um.

Rendern aus der Kommandozeile[Bearbeiten]

Sofern man nur ein Still oder eine Animation rendern möchte, muß Blender nicht geöffnet werden. Blender kann auch von der Konsole aus angesprochen werden. Hierfür öffnet man die Konsole (Windows: Start -> Zubehör -> Eingabeaufforderung) und wechselt innerhalb der Konsole in das Blender-Verzeichnis.

  • blender -b datei.blend -f 1234 : Dieser Befehl rendert Frame 1234 der Datei 'datei.blend' in den in den Rendersettings angegebenen Einstellungen und speichert das Bild in dem im Renderoutput angegebenen Ordner.
  • blender -b datei.blend -s 1234 -e 5678 -a : Dieser Befehl rendert die Frames 1234 bis 5678 der Datei 'datei.blend' mit den vorgegebenen Einstellungen im angegebenen Ordner.

Weitere Parameter kann man innerhalb der Konsole über 'blender -h' aufrufen. Ein sehr interessantes Anwendungsbeispiel für das o.g. Schema ist z.B. das Nachrendern von 'dead frames'. Es kann beim ausgelagerten Rendern auf s.g. Renderfarmen vorkommen, dass innerhalb einer Animation verschiedene Frames nicht gerendert werden. Gründe hierfür können sein, dass ein von der Renderfarm gesetztes Timelimit nicht eingehalten wurde oder ein Rendernode den Renderprozess abgebrochen hat. Gerade bei grossen Animationen steht man schnell vor dem Problem, dass dutzende Frames nicht richtig erstellt werden konnten. Über ein kleines Batchfile (hier: Windows) kann man dann die fehlenden Frames rendern lassen. Ein Solches Skript könnte dann z.B. folgendermassen ausschauen:

---

rem anfang dead_frames.bat

@echo off

echo das ist ein batch

CD c:\Program Files (x86)\Blender-Ordner\

blender -b c:\Ordner der Blender-Datei\Datei.blend -f 1234

blender -b c:\Ordner der Blender-Datei\Datei.blend -s 1357 -e 1359 -a

blender -b c:\Ordner der Blender-Datei\Datei.blend -f 2345

blender -b c:\Ordner der Blender-Datei\Datei.blend -s 3456 -e 4567 -a

pause

rem ende dead_frames.bat

---

Nachdem die Pfade entsprechend den Bedürftnissen angepasst sind speichert man die Datei mit der Endung '*.bat'. Sobald man diese Datei dann öffnet beginnt der Renderprozess. Vorsichtshalber sollte man das Ganze an einem einzelnen Frame testen, um sicher zu stellen, dass der Renderprozess erfolgreich abgeschlossen werden kann.


<<<Zurück

linearer Workflow

Inhaltsverzeichnis
Glossar
Weiter>>>

Composite-Nodes