Bildbasierte HDRI Beleuchtung im Vergleich zu alternativen Methoden
In 3DS MAX gibt unzählige Möglichkeiten und Techniken um mittels außenliegender Lichtquellen einen Innenraum zu beleuchten. Manch einer setzt ein einfaches Richtungslicht ein, andere bevorzugen die Sonne und den Himmel realistischer zu simulieren z.B. durch Verwendung der „V-ray sun“. Beide Methoden liefern gute Ergebnisse und sind relativ einfach zusetzen. Jedoch bevorzuge ich eine bildbasierte Beleuchtung der Szene, da mit dieser Technik auch subtile Unregelmäßigkeiten entstehen, die die Belichtung unbewusst realistischer wirken lassen können im Vergleich zu einer ggf. eher klinischen Wirkung der alternativen Beleuchtungen.
Was sind HDRI Bilder?
HDRI steht für „High Dynamic Range Image“. Es ist ein spezielles Grafikformat, welches einen umfangreichen Belichtungsumfang enthält als ein normales Grafikformat (z.B. JPG). Die am weitesten verbreiteten Formate mit diesen erweiterten Möglichkeiten sind die .HDR und .EXR.
Normale Grafikformate basieren auf kommen mit 8-bit daher – die HDRI Formate bieten jedoch 32-bit und damit die Möglichkeiten die umfangreicheren Belichtungsinformationen der Realität in einer Grafikdatei besser einzufangen. Diese umfangreiche abgespeicherte Belichtungsinformation in einem .HDR Bild kann genutzt werden um eine virtuelle 3D Szene zu beleuchten.
Meist liegen diese HDRI Bilder als 360° Panorama vor. Will heißen die Grafik bildet einen kompletten oder nahezu kompletten Rundumblick einer realen Szene ab. Im Prinzip werden mehrere Fotos von allen Richtungen von einer Position aus gemacht und anschließend in einem Prozess zu einem Bild verrechnet. Hier kann man auch zwischen unterschiedlichen Darstellungsformen der Panoramen unterscheiden. Üblich sind hier aber sphärische Darstellungen. Das Bild in Gänze auf dem Monitor betrachtet sieht dann stark verzerrt aus und erinnert an den „Fischaugen“ Effekt.
Wo kann man HDRI-Grafiken kostenlos herunterladen?
Es gibt eine Vielzahl an guten Quellen für brauchbare HDRI Fotos. Wie muss man qualitativ hochwertige Grafiken zur kommerziellen Nutzung eher kaufen und findet nur eine geringere Auswahl an kostenlosem Material. Zur Erstellung guter HDRI Aufnahmen gehört schließlich eine gewisse Erfahrung und Arbeitszeit. Glücklicherweise findet man aber dennoch ein paar gute Quellen mit denen man die Technik zumindest schon einmal ausprobieren kann. Hier findet ihr einige HDRI Fotos zum kostenlosen Download:
Wie belichtet man eine 3D Szene mit einem HDRI Bild?
Los geht’s! In diesem Tutorial wollen wir eine einfache 3D Innenraum Szene mit Hilfe eines HDRI-Bildes beleuchten. Wir gehen an dieser Stelle einmal davon aus, dass Grundkenntnisse im Bereich Modellierung, Materialien, Rendering in 3DS MAX vorhanden sind.
Ich nutze für dieses Tutorial 3ds MAX 2014 (English) in Kombination mit V-ray 3 und habe meine Oberfläche etwas angepasst, was für das Verständnis der Technik aber keinen Einfluss haben sollte.
Die Idee dieser Belichtungsmethodik ist grundsätzlich, dass wir eine Außen-Lichtquelle in unserer 3D Szene erstellen bei der die Belichtungsinformation aus einer Textur – also Grafik abgeleitet wird. Normalerweise kann man ja die Lichtintensität, Lichtfarbe etc. für eine virtuelle Lichtquelle individuell einstellen. Hier jedoch sollen diese Parameter aus unserem HDRI-Bild, welches die Belichtungsinformationen der realen Szene enthält abgeleitet werden.
Dome Light erstellen und HDRI Grafik zur Beleuchtung einladen
Wir starten mit 3ds MAX:
Als erstes lade ich ein “V-ray dome light“. Dieses findest Du via Create/Lights/VRay/VRayLight und ändere den Typ auf „Dome“. Schneller geht’s über den „Dome Light“ Button in V-ray 3.
Wähle die neue Lichtquelle aus und gehe zum „Modify“ bzw. „Ändern“ Tab. Hier aktivierst Du unter „Texture“ das Kontrollkästchen „Use texture“ und lade eine Textur über den „none“ Button. An dieser Stelle laden wir das HDRI Bild, welches wir zur Belichtung der Szene vewenden wollen.
Wähle zunächst als Map Typ “VRayHDRI” aus.
Öffne den Materialeditor (Shortcut M) und ziehe per drag&drop das VRayHDRI vom Textur Botton auf einen leeren Material Slot. Wähle als nächstes „Instance“ im Dialog der aufpoppt. Somit wirken sich die Änderungen am Material unmittelbar auf das im Dome Light verwendeten Map aus.
Als nächstes klicke den […] Button um das HDRI Bild deiner Wahl auf deinem Computer auszuwählen.
Unter “Mapping/Mapping Type” sollte dann noch der Panoramatyp des Basisbildes ausgewählt warden. Die meisten HDRI Umgebungsbilder basieren auf einer sphärischen Darstellungsform – wir wählen hier also „Spherical“ aus.
HDRI Bild auch als Hintergrundgrafik verwenden
Als nächstes geht‘s in die Rendering Einstellungen (Rendering/Environment oder Shortcut 8)
Bisher war ja nur die Rede davon das HDRI-Bild zur Belichtung zu nutzen, jedoch wollen wir das gleiche Bild auch als Hintergrundbild mit rendern. Dazu ziehen wir unser Material mit dem HDRI Bild aus dem Materialeditor auf den Mapping Slot bei „Environment Map“. Wir wählen ebenfalls wieder „Instance“ im aufpoppenden Dialog, damit sich Änderungen am Material auch hier auf das Umgebungsmap auswirken.
Um auch in der Kameravorschau das Bild schon zu sehen klicken wir auf das kleine + in der oberen linken Ecke unserer perspektiven Ansicht. Hier wählen wir als nächstes „Configure Viewports“
Klick auf den “Background” Tab und wähle hier “Use Environment Background” und bestätige anschließend mit OK.
Nun wehen wir unser VRayHDRI Bild auch in der Kameraperspektive
Die Ausrichtung der Hintergrundtextur kann man bei Bedarf in den Mapping Einstellungen des VRayHDRI anpassen. Z.B. kann man mittels der horizontalen Rotation das ganze so drehen, dass die Sonne in der Szene auch aus der richtigen Richtung scheint.
Kleine Tricks um Renderzeiten zu beschleunigen
Als nächstes ergänze ich die Szene um ein paar einfache CAD Modelle anhand derer ich euch die Innenraumbelichtung mittels des HDRI Maps veranschaulichen möchte. Ich fang mal mit einer einfachen VRay plane und einem Zylinder für die ersten Blichtungstests
Bevor ich das erste Testrendering berechne ein paar Worte zu einem Problemchen. Wir haben jetzt sowohl das dome light als auch das environment map – die Szene wird also von unserem HDRI Bild zweimal beleuchtet. Das ist nicht ganz ideal, weil dann zum einen das Rendern länger dauert zum anderen hat man die Einstellungen dann nicht mehr ganz so gut im Griff.
Gehe dazu unter Render Setup auf das VRay Tab und klicke auf Environment. Aktiviere hier GI Environment und ändere die Farbe auf schwarz. Damit wird die Belichtung des Umgebung Maps im Endeffekt unterdrückt und nur noch das HDRI dome light sorgt für die Belichtung.
Um die Renderzeiten weiter zu beschleunigen können wir noch zunächst ein Overide Material nutzen. Damit werden alle Objekte in der Szene temporär mit einem einzigen Material gerendert ohne die Materialien der Szene tatsächlich zu ändern. Du findest die Einstellungen unter Render Setup, dann gehe auf das VRay Tab und klicke auf Global Switches – aktiviere hier Override mtl. Du kannst einfach ein beliebiges Material aus dem Materialeditor in den dort angezeigten Material Slot ziehen. Für mein Beispiel nutze ich einfach ein neutrales grau, damit das rendern auch zügig von statten geht.
Einstellungen der VRay Belichtung mit HDR Grafik
Ich möchte den Schwerpunkt des Renderings eher auf die Beleuchtungseinstellungen legen und belasse es damit an dieser Stelle mit den Standardeinstellungen der Render Einstellungen. Ein Rendertest mit diesen Standardwerten sieht dann so aus:
Man erkennt, dass das HDR Bild doch etwas zu dunkel ist und die Schatten doch sehr weich sind. Ich möchte es hier etwas anpassen, da es mir noch nicht so gut gefällt. Hierzu erhöhe ich unter „Processing“ der VRayHDRI map Einstellungen den Wert „Render multi“.
Die Einstellungen des „Render multi“ bewirken, im Gegensatz zu den „Overall multi“ Einstellungen, eine intensivere Belichtung durch die HDR Grafik in unserem Rendering.
Im nächsten Bild habe ich den Wert „Render multi“ mal auf 3.0 gesetzt und den „Inverse gamma“ Parameter auf 0.9. Wird der „Render multi“ erhöht wird die Szene heller und eine Reduzierung des „Inverse gamma“ Wertes erhöht den Kontrast. Ein höherer Kontrast führt dabei zu härteren Schatten.
Hier noch ein Beispiel mit einem weiter erhöhten Kontrast. Den Render Multi hab ich auf 3.0 gelassen aber den Inverse Gamma Wert auf 0.75 reduziert.
Belichtung einer einfachen Architektur Innenraum Szene
Soviel zu ein paar theoretischen Tests. Nun laden wir mal eine einfache Architektur Innenraum Szene.
Aus diesem Architektur Modell möchte ich folgende Innenraumperspektive render:
In diesem Modell sind bereits allen Objekten Materialien zugewiesen. Für die ersten Tests nutze ich aber weiterhin das override material, genauso wie in unserer einfachen Szene.
Es gibt jedoch ein Problem mit dem override material bei Innenraumszenen, weil jetzt auch das Glas der Fenster vom neuen Material überschrieben wird, welches natürlich nicht transparent ist. Somit kann kein Licht von außen in unsere Innenraumszene gelangen. Darum schließe ich als nächstes nur das Glas Material aus. Dazu öffne ich den Material Editor (M) und suche das Glas Material. Wenn Du das Material nicht direkt im Browser findest kannst Du auch mit einem Klick auf den Button mit der Pipette ein Material aus der Szene einfach per Klick auswählen. Klicke rechts auf den Material Slot und wähle „Select by material“
Dies öffnet den “Select object” Dialog und alle Objekte, denen das Glas Material zugewiesen ist werden hervorgehoben. Klick Select.
Das Objekt ist jetzt im Viewport ausgewählt. Ich erstelle ein “Selection Set” damit ich später auch einfacher neue Objekte zu der Liste hinzufügen kann, die nicht vom override material überschrieben werden. Mit aktivierter Auswahl gehe zum Punkt „Selection Set“ und tippe z.B. „WindowGlass“ ein und drücke Enter.
Die Szene hat auch eine Wand aus Glasbausteine für die ich den Prozess wiederhole.
Gehe jetzt noch einmal wie am Anfang zu den Rendereinstellungen und dort zum Override Material und klicke „Exclude“.
Wähle hier beim Selection Sets “WindowGlass”.
Füge die Auswahl zur Ausschlussliste hinzu indem Du den Button >> drückst.
Das Ganze machen wir dann nochmal für die “GlassBlock” Auswahl. Dazu schließe ich noch die Ebene (Bodenplatte) vom Anfang aus, da ich auch in den Testrenderings ein Gefühl davon bekommen will wie diese im Rendering aussieht und ob sie z.B. hell genug ist.
Rendern der Innenraum Ansicht
Jetzt gehts endlich ans Rendern! Wir setzen die output resolution mal runter, weil es erst einmal um die grobe Außenblichtung geht und wir hier keine Zeit mit Details verschwenden wollen.
Vorab noch ein Hinweis: Wenn wir die Belichtung mit einem HDRI Bild einer Außenszene steuern wollen ist es nicht notwendig sogenannte „skylight portals“ in die Fenster der Szene zu setzen. Wenn man mit Richtungslichtern oder auch der VRay Sun arbeitet ist dies notwendig, jedoch verbessert es die Renderqualität bei unserer Methodik mit einem HDRI nicht wirklich und würde nur die Renderzeiten in die Höhe treiben.
Wir spielen nochmal etwas mit dem „Render Multi“ und „Inverse Gamma“ herum um den Kontrast und die Schatten etwas zu optimieren. Mit folgenden VRayHDRI Einstellungen habe ich gute Ergebnisse erzeugt: Render Multi: 8.0 und Inverse Gamma: 0.75 – erzeugt eine gute Lichtstimmung mit ein paar markanten Schatten. Beachte jedoch, dass die Materialien doch einen deutlichen Einfluss auf die globale Illumination haben. Da hauptsächlich graue und weiße Materialien verwendet werden wird das finale Rendering doch etwas heller sein, als unsere Vorschau derzeit vermittelt.
Aus Erfahrung mache ich die Testrenderings daher meist etwas dunkler, da es auch sehr einfach ist später in der Nachbearbeitung das Bild etwas aufzuhellen.
Wenn du mit der Belichtung zufrieden bist deaktiviere global material override und rendere deine Szene mit den finalen Materialien.
Meine Szene sieht nach etwas Nachbearbeitung dann so aus:
Ich hoffe ich konnte Dir einen ersten Einblick in die HDRI basierte Beleuchtungstechnik geben. Wie Du siehst ist die Methodik auch nicht wirklich kompliziert und erzeugt vor allem aber sehr brauchbare Ergebnisse. Viel Spaß beim Ausprobieren!