Unity Lighting Tutorial

Unity Lighting Tutorial – Erstelle atemberaubende Beleuchtungseffekte in Unity

Gefällt Dir der Artikel? Dann teile ihn doch, um diese Informationen auch anderen zugänglich zu machen!

Seiteninhalt

Das Lighting (Beleuchtung) in Unity ist bei der Erstellung von interaktiven Anwendungen und im Bereich Game Development eine wichtige Komponente. Egal, ob es sich um ein Spiel oder eine Virtual- oder Augmented Reality Anwendung handelt.

Grundlegend ist die Beleuchtung dafür verantwortlich, Objekte in einer Szene sichtbar zu machen. Darüber hinaus verleiht die richtige Beleuchtung der Szene Realismus durch Schatten, Reflexionen, Spiegelungen und trägt zusätzlich zur Tiefenwahrnehmung bei.

Bei der Entwicklung von Anwendungen ist jedoch eine ausgewogene Herangehensweise erforderlich. Je mehr Lichtquellen und Details eingesetzt werden, desto höher sind die Anforderungen an die Performance. Das kann je nach Plattform zu Herausforderungen führen. Anwendungen auf High-End-PCs besitzen beispielsweise ganz andere Anforderungen als Anwendungen auf Smartphones.

In diesem Unity Lighting Tutorial erhältst du einen umfassenden Überblick über das Thema Beleuchtung in Unity. Egal, ob du Einsteiger bist oder bereits Erfahrung gesammelt hast. Dieses Tutorial wird dir helfen, deine Kenntnisse zu erweitern und dein Verständnis für Unity Lighting zu vertiefen.

Übersicht Lighting

Bevor wir auf die verschiedenen Beleuchtungstechniken in Unity eingehen, ist es wichtig, eine grundlegende Übersicht über das Beleuchtungskonzept zu schaffen. Hierbei wird zwischen direkter (direct) und indirekter (indirect) sowie der globalen Beleuchtung unterschieden.

Direct Lighting

Das Direct Lighting bezeichnet das Licht, das von einer Lichtquelle direkt auf die Oberfläche eines Objektes fällt oder direkt vom Betrachter gesehen wird. Bei einer Anwendung ist der Betrachter nichts anderes als eine virtuelle Kamera in der Szene. Die einzelnen Pfade der Beleuchtung werden auch als Lichtpfade bezeichnet. Allgemein gesprochen handelt es sich um Direct Lighting, wenn der Lichtpfad nicht oder höchstens einmal abgelenkt wird. Dieser hat somit keinen oder nur einen einzigen Bounce. Blicken wir dazu auf die folgende Abbildung.

Beleuchtungskonzept Direct Lighting

In dieser Darstellung sind eine Lichtquelle in Form einer Glühbirne, verschiedene Objekte, Lichtpfade und ein Betrachter enthalten. Verfolgt man die einzelnen Pfade des Lichts, so treffen sie direkt auf die Oberfläche eines Objektes und werden nicht reflektiert. Einzig der Lichtpfad auf den Ball auf der linken Seite wird einmal abgelenkt. Die Anzahl der Bounces liegt hierbei also bei 1. Es handelt sich somit um Direct Lighting. Lass uns im Gegensatz dazu auf das Indirect Lighting blicken…

Indirect Lighting

Das Indirect Lighting bezeichnet hingegen das Licht, das von einer Lichtquelle ausgesendet und von Objekten in der Szene mehrmals abgelenkt wird. Im Allgemeinen hat der Lichtpfad mindestens 2 Bounces. Dieses Konzept der Beleuchtung trägt zum Realismus einer Szene bei, da es die Lichtverteilung und Reflexionen zwischen den Objekten berücksichtigt. Auch hierzu wieder eine Abbildung.

Beleuchtungskonzept Indirect Lighting

Auch in dieser Darstellung sind eine Lichtquelle in Form einer Glühbirne, Objekte, Lichtpfade und ein Betrachter zu sehen. Verfolgt man die einzelnen Pfade des Lichts, so besitzen sie mindestens 2 Bounces. Der Lichtpfad, der vom Ball auf der linken Seite reflektiert wird, hat insgesamt 5 Bounces. Damit handelt es sich um indirect Lighting.

Global Illumination

Global Illumination (globale Beleuchtung) ist ein wichtiger Aspekt der Beleuchtung in Unity. Es bezieht sich auf die Simulation der indirekten Lichtausbreitung in einer Szene, einschließlich der Reflexionen und Schatten. Das trägt maßgeblich zum Realismus einer Anwendung bei.

In Unity stehen verschiedene Global-Illumination-Techniken zur Verfügung. Darunter das Enlighten-System und der Progressive Lightmapper. Diese Techniken verwenden komplexe Algorithmen, um die Lichtausbreitung in einer Szene zu berechnen und die entsprechenden Lichtinformationen zu speichern.

Der Unity Lighting Editor (Window → Rendering → Lighting) beinhaltet die Einstellungen für die Beleuchtungsfunktionen der Szene, darunter auch die Einstellungen für Global Illumination. In diesem Menü kannst du verschiedene Parameter wie beispielsweise die Auswahl des Lightmapping-Verfahrens anpassen.

Unity Lighting Editor

Lightmapping Settings

Lightmapper: Die Auswahl des Lightmapping-Verfahrens wie beispielsweise Enlighten oder Progressive Lightmapper. Du kannst das bevorzugte Verfahren auswählen, um die Beleuchtungsqualität und die Berechnungszeit zu optimieren.

Direct Samples: Die Anzahl der Proben, die für die direkte Beleuchtung verwendet werden. Eine höhere Anzahl kann zu genaueren Schatten und Reflexionen führen, erhöht jedoch auch die Berechnungszeit.

Indirect Samples: Die Anzahl der Proben, die für die indirekte Beleuchtung verwendet werden. Eine höhere Anzahl kann zu detaillierteren indirekten Lichteffekten führen, erhöht jedoch auch die Berechnungszeit.

Environment Samples: Die Anzahl der Proben, die für die Beleuchtung der Umgebung verwendet werden. Eine höhere Anzahl kann zu besserer Beleuchtung der Umgebung und realistischeren Reflexionen führen.

Min Bounces: Die minimale Anzahl von Bounces, die für die Berechnung des indirekten Lichts berücksichtigt werden. Das bestimmt die Anzahl der Reflektionen, die das indirekte Licht in der Szene erfährt.

Max Bounces: Die maximale Anzahl von Bounces, die für die Berechnung des indirekten Lichts berücksichtigt werden. Das beeinflusst die Reichweite der indirekten Lichtausbreitung und kann die Berechnungszeit beeinflussen.

Weitere Informationen dazu findest du hier. Okay, da du jetzt einen Überblick über die Beleuchtungskonzepte hast, wollen wir uns im nächsten Abschnitt des Unity Lighting Tutorials mit den verschiedenen Lichtquellen beschäftigen.

Hinweis: Mit dem ultimativen Unity Cheat Sheet erhältst du einen detaillierten Überblick über Tipps & Tricks mit dem Umgang von Unity. Sichere dir jetzt das Cheat Sheet, um deine Anwendungen noch einfacher und effektiver erstellen zu können!

Arten Lichtquellen

Das Lighting in Unity ist eine Simulation von Licht aus der realen Welt. Dadurch wirkt dein Spiel oder deine Anwendung deutlich realistischer. Jedes Licht benötigt grundsätzlich eine Lichtquelle. Hierfür gibt es 3 wichtige Eigenschaften. Diese Eigenschaften sind in jeder Lichtquelle in Unity als Parameter verfügbar.

  • Die Form bestimmt die Richtung, in der das Licht emittiert wird.
  • Die Größe bestimmt den Bereich, den das Licht beeinflusst.
  • Die Stärke (oder Intensität) bestimmt, wie weit das Licht strahlt und wie hell es ist.

Für das Unity Lighting gibt es unterschiedliche Arten. Abhängig vom verwendeten Typ werden die Objekte in der Szene entsprechend gerendert. Hier sind die wichtigsten Typen im Überblick, die ich dir im Anschluss Schritt-für-Schritt erkläre:

  • Directional Light
  • Point Light
  • Spot Light
  • Area Light
  • Ambient Light

Directional Light

Das Directional Light simuliert eine parallele, weit entfernte Lichtquelle wie beispielsweise die Sonne. Diese Art von Beleuchtung wird in Unity standardmäßig eingefügt und beleuchtet Objekte aus einer bestimmten Richtung.

Directional Light in Unity

Eine wichtige Eigenschaft des Directional Light ist, dass die Platzierung dieser Lichtquelle keinen Einfluss auf die Beleuchtung der Objekte hat. Unabhängig von der Position werden alle Objekte gleichmäßig beleuchtet. Lediglich die Rotation des Directional Light hat einen Einfluss, wie in der folgenden Abbildung zu erkennen ist. Mit dem Transform Tool kann der Winkel der Lichtquelle verändert werden, um beispielsweise einen Sonnenaufgang oder Sonnenuntergang zu simulieren. Die Schatten in der Szene werden entsprechend dem Einfallswinkel des Lichts gerendert.

Directional Light in Unity rotiert

Point Light

Das Point Light simuliert eine Lichtquelle, die von einem bestimmten Punkt im Raum wie beispielsweise einer Glühbirne ausgestrahlt wird. Sie sendet Licht in alle Richtungen gleichmäßig aus und beleuchtet Objekte in der näheren Umgebung. Je weiter entfernt ein Objekt von dieser Lichtquelle ist, desto geringer wird es beleuchtet.

Unity Point Light

Eine der wichtigsten Parameter des Point Light ist die Range (Reichweite). Damit lässt sich bestimmen, wie weit das Licht reicht, bevor es an Intensität verliert. Du kannst die Reichweite in Unity anpassen, um den gewünschten Beleuchtungsbereich festzulegen.

Ein weiterer Aspekt ist die Intensity (Intensität). Sie beeinflusst die Helligkeit des Lichts, die von der Lichtquelle abgestrahlt wird. Damit lässt sich die Beleuchtungsstärke des Lighting und die gewünschte Atmosphäre in der Szene steuern.

Zusätzlich zur Reichweite und Intensität bietet das Point Light in Unity auch die Möglichkeit eine Farbe und Schatten einzustellen. Es ist auch möglich, mehrere dieser Lichtquellen in einer Szene zu platzieren, um komplexe Beleuchtungsszenarien zu erstellen und bestimmte Bereiche der Szene gezielt zu beleuchten.

Unity Point Light Settings

Spot Light

Das Spot Light simuliert eine Lichtquelle, die einen konzentrierten Lichtstrahl erzeugt. Du kannst dir das ganze wie bei einem Scheinwerfer oder einer Taschenlampe vorstellen. Sie sendet einen kegelförmigen Lichtstrahl aus, der Objekte in einer bestimmten Richtung beleuchtet.

Unity Spot Light

Eine der wichtigsten Parameter ist der Spot Angle (Öffnungswinkel). Er definiert den Bereich, den das Licht abdeckt. Ein enger Öffnungswinkel erzeugt einen konzentrierteren Lichtstrahl mit einem scharfen Übergang zwischen beleuchteten und unbeleuchteten Bereichen. Ein weiter Öffnungswinkel erzeugt hingegen einen breiteren Lichtstrahl mit einem weicheren Übergang.

Wie beim Point Light lässt sich auch beim Spot Light die Range (Reichweite) und Intensity (Intensität) einstellen. Mit der Kombination aus Öffnungswinkel, Reichweite und Intensität kannst du den gewünschten Beleuchtungsbereich und die Helligkeit festlegen.

Zusätzlich zur Reichweite, Intensität und Öffnungswinkel bietet Unity auch die Möglichkeit eine Farbe und Schatten einzustellen. Wie bei anderen Lichtquellen ist es auch möglich, mehrere in einer Szene zu platzieren. So kannst du verschiedene Spot Lights mit unterschiedlichen Parametern und Positionen kombinieren, um eine detaillierte und präzise Beleuchtung zu erzeugen.

Unity Spot Light Settings

Area Light

Das Area Light ist eine besondere Art von Lichtquelle, die eine Fläche mit einer bestimmten Form und Größe beleuchtet. Im Gegensatz zum Point-, Spot- oder Directional Light, das Licht von einem einzelnen Punkt ausstrahlt, sendet das Area Light Lichtstrahlen gleichmäßig von einer Fläche aus.

Unity Area Light

Eine der wichtigsten Parameter ist die Shape (Form). Es stehen verschiedene Formen wie beispielsweise ein Rechteck, ein Quadrat oder ein Kreis zur Verfügung. Durch die Wahl der richtigen Form kannst du die Beleuchtung an die Geometrie deiner Szene anpassen und bestimmte Bereiche gezielt beleuchten.

Ähnlich wie bei anderen Lichtquellen ist es möglich die Range (Reichweite) und Intensity (Intensität) einzustellen. Ein weiterer Aspekt des Area Lights ist dessen Größe. Eine größere Fläche führt zu einer weicheren und diffuseren Beleuchtung. Eine kleinere Fläche hingegen führt zu einer schärferen und fokussierteren Beleuchtung.

Bei der Platzierung des Area Lights ist es wichtig, die Position, Ausrichtung, Form und Größe zu berücksichtigen. Diese Lichtquelle kannst du verwenden, um gleichmäßige Beleuchtung über größere Flächen wie zum Beispiel Räume oder Straßen zu erzeugen.

Unity Area Light Settings

Ambient Light

Das Ambient Light ist eine spezielle Art der Beleuchtung, die eine Hintergrundbeleuchtung für die ganze Szene erzeugt. Sie simuliert das Licht, das von indirekten Lichtquellen reflektiert und gestreut wird. Es füllt die Szene mit einer gleichmäßigen Helligkeit und wirkt sich auf alle Objekte aus. Du findest die entsprechenden Parameter unter Window → Rendering → Lighting → Environment.

Unity Ambient Light

Eine der wichtigsten Parameter ist auch hier die Intensity (Intensität). Du kannst die Intensität des Ambient Light in Unity anpassen, um die Helligkeit der Hintergrundbeleuchtung festzulegen. Eine höhere Intensität führt zu einer helleren und intensiveren Beleuchtung. Eine niedrigere Intensität führ eher zu einem gedämpfteren Effekt.

Zusätzlich zur Intensität kannst du auch die Farbe anpassen. Damit lassen sich verschiedene Atmosphären von warmen Sonnenuntergängen bis hin zu kühlen, blauen Schatten erzeugen.

Allerdings ist wichtig zu beachten, dass das Ambient Light als ergänzende Beleuchtung dient und nicht alleine verwendet werden sollte. Die Kombination mit anderen Lichtquellen ermöglicht es dir, komplexe und realistische Beleuchtungsszenarien zu erstellen. Hier findest du übrigens ein 3D Unity Lighting Tutorial, bei dem einige der genannten Lichtquellen vorgestellt werden.

Emissive Materials

Beim Unity Lighting ermöglicht das Emissive Material die Erzeugung von selbstleuchtenden Effekten in der Szene. Im Gegensatz zu normalen Materialien, die das Licht nur reflektieren, sendet ein Emissive Material selbst Lichtstrahlen aus.

Diese Beleuchtung kann ebenso andere Objekte in der Szene beleuchten wie in der nachfolgenden Abbildung. Das eröffnet interessante Möglichkeiten zur Erzeugung von leuchtenden Oberflächen, glühenden Effekten und magischen Lichtquellen.

Emissive Material Unity

Der wichtigste Parameter des Emissive Materials ist die Emission. Dieser Parameter steuert die Intensität und Farbe des ausgesendeten Lichts. Du kannst die Intensität erhöhen, um die Leuchtkraft der Oberfläche zu verstärken. Oder sie verringern, um subtilere Effekte zu erzeugen. Durch die Anpassung der Emissionsfarbe kann die gewünschte Lichtfarbe für das selbstleuchtende Material definiert werden.

Emissive Materials können vielfältig eingesetzt werden. Zum Beispiel könntest du sie verwenden, um futuristische Leuchtbalken, leuchtende Augen von Kreaturen, fluoreszierende Pflanzen oder geheimnisvolle Schalter und Symbole zu erstellen. Damit ein Emissive Material seine volle Wirkung entfalten kann, ist eine korrekte Beleuchtung der Szene entscheidend. Es interagiert mit allen Lichtquellen einschließlich des Ambient Lights. Dadurch entstehen realistische Schattenwürfe und Lichteffekte, die zur Immersion beitragen.

Während das Emissive Material visuell beeindruckende Effekte erzeugen kann, sollte es jedoch sparsam eingesetzt werden, um eine Überlastung der Szene zu vermeiden. Starke Emissionswerte können ungewollte Blendeffekte hervorrufen. Es ist auch wichtig die Performance zu berücksichtigen. Eine hohe Anzahl an Emissive Material in der Szene erhöht die GPU-Belastung. Daher sollte die Verwendung des selbstleuchtenden Materials mit Bedacht erfolgen, vor allem bei mobilen Anwendungen.

Emissive Material Settings

Hinweis: Mit dem ultimativen Unity Cheat Sheet erhältst du einen detaillierten Überblick über Tipps & Tricks mit dem Umgang von Unity. Sichere dir jetzt das Cheat Sheet, um deine Anwendungen noch einfacher und effektiver erstellen zu können!

Beleuchtungsmodus Unity

Unity bietet verschiedene Beleuchtungsmodi, mit denen du das Lighting in der Szene steuern kannst. Jeder Modus hat seine eigenen Vor- und Nachteile und ist für verschiedene Arten von Projekten und Plattformen geeignet. In diesem Abschnitt erhältst du eine Übersicht über die drei Hauptbeleuchtungsmodi in Unity.

  • Real-Time Lighting
  • Baked Lighting
  • Mixed Lighting

Unity Lighting Mode

Real-Time Lighting

Der Beleuchtungsmodus Real-Time Lighting ermöglicht die dynamische Berechnung der Beleuchtung in Echtzeit während der Ausführung der Anwendung. Das bedeutet, dass die Lichtquellen interaktiv sind und sich in Echtzeit auf Änderungen in der Szene auswirken. Damit werden alle Beleuchtungsberechnungen (Schatten, Helligkeit, Position, …) für jeden einzelnen Frame durchgeführt.

Ein gutes Beispiel dafür ist die folgende Abbildung. Das Lighting der Straßenlaterne wurde auf Realtime geändert und über Window → Rendering → Lighting → Generate Lighting aktualisiert. Sobald die Position der Straßenlaterne über das Move Tool verändert wird, passt sich auch entsprechend das Lighting in Echtzeit an.

Unity Real-Time Lighting

Real-Time Lighting ist besonders nützlich, wenn sich Lichtquellen, Schatten und Reflexionen während der Laufzeit der Anwendung verändern sollen. Gerade im Hinblick auf das Lighting von Charakteren oder anderen dynamischen Objekten ist das wichtig.

Allerdings kann die Berechnung sehr CPU- und GPU-intensiv sein und die Performance entsprechend beeinflussen. Insbesondere bei mobilen Anwendungen oder bei komplexen Szenen mit vielen Lichtquellen solltest du das berücksichtigen.

Baked Lighting

Der Beleuchtungsmodus Baked Lighting berechnet im Gegensatz zum Real-Time Lighting die Beleuchtung statisch im Voraus. Diese Berechnungen werden dann in sogenannten Lightmaps als Textur gespeichert. Das erfolgt meist während der Erstellung einer Szene und nicht während der Laufzeit des Spiels. Die gespeicherte Beleuchtung wird dann in die Anwendung geladen und statisch auf die Objekte angewandt.

Auch hierzu wieder ein einfaches Beispiel. Das Lighting der Straßenlaterne wurde auf Baked geändert und über Window → Rendering → Lighting → Generate Lighting aktualisiert. Wird die Position der Straßenlaterne verändert, so wird das Lighting nicht aktualisiert. Hierzu muss die Beleuchtung erneut über Window → Rendering → Lighting → Generate Lighting gebaked werden.

Unity Baked Lighting

Wichtig beim Baked Lighting ist, dass statische GameObjects mit static markiert werden. Das bedeutet, dass diese GameObjects während der Laufzeit ihre Position, Rotation oder Skalierung nicht verändern. Dynamische GameObjects, die nicht als static markiert sind, werden nicht in das Baked Lighting einbezogen.

Allerdings heißt das auch, dass Bewegungen von Objekten oder Lichtquellen in der Szene nicht in Echtzeit dargestellt werden können. Wenn beispielsweise ein bewegliches Objekt Schatten wirft, muss dieser Schatten separat berechnet werden. Das Gleiche gilt für Lichtquellen, die sich während der Laufzeit ändern können.

Static GameObject für Baked Lighting

Dieser statische Charakter des Baked Lighting kann zu Einschränkungen führen, wenn die Anwendung dynamische Beleuchtungseffekte erfordert. In solchen Fällen sind dynamische Beleuchtungstechniken wie das Real-Time Lighting möglicherweise besser geeignet, obwohl das oft mit einer höheren Performance verbunden ist. Die Entscheidung zwischen Baked und Real-Time Lighting hängt also von den Anforderungen und Zielen des Projekts ab.

Das Baked Lighting eignet sich somit besonders gut für Szenen mit statischer Beleuchtung, bei denen sich die Lichtquellen nicht ändern. Dieser Beleuchtungsmodus kann die CPU- oder GPU-Belastung reduzieren. Es wird für mobile Anwendungen oder Szenen verwendet, bei denen der Rechenaufwand einer Echtzeit-Beleuchtung nicht erforderlich ist.

Mixed Lighting

Der Beleuchtungsmodus Mixed Lighting kombiniert die Vorteile von Real-Time und Baked Lighting. In Mixed Lighting Szenen werden einige Lichtquellen in Echtzeit berechnet, während andere Lichtinformationen vorab gebaked und in Lightmaps gespeichert werden. Mixed Lighting erlaubt es einer Lichtquelle, sowohl das Direct als auch das Indirect Lighting zu nutzen.

Unity Mixed Lighting

Mixed Lighting ist ideal für Szenen, die eine Mischung aus statischer und dynamischer Beleuchtung erfordern, um eine optimale Balance zwischen Realismus und Performance zu erreichen. Die Verwendung von Mixed Lighting erfordert jedoch mehr Berechnungen pro Szene als das Baked oder Real-Time Lighting. Es ist daher nicht ratsam das Mixed Lighting für die Erstellung von mobilen Anwendungen zu verwenden.

Unity Lighting Explorer

Mit dem Unity Lighting Explorer erhältst du eine schnelle und einfache Übersicht zu allen verwendeten Lichtquellen in deiner Szene. Darunter der Name und die Art der Lichtquelle und weitere Parameter wie beispielsweise die Intensity oder die Farbe. Um den Explorer zu öffnen kannst du zu Window → Rendering → Light Explorer navigieren. Diese Übersicht ermöglicht dir eine schnelle Anpassung aller Lichtquellen.

Unity Lighting Explorer

Light Probes

Übersicht Light Probes

Unity Light Probes ermöglichen es, realistische Beleuchtung für dynamische Objekte in statisch beleuchteten Szenen zu erzeugen. Angenommen alle GameObjects in der Szene sind statisch und alle Lichtquellen sind mit Baked Lighting eingebettet.

Wenn nun ein dynamisches Objekt in die Szene eingefügt wird, soll die Beleuchtung während der Laufzeit auf diese Objekte angewandt. Da das Lighting jedoch einbettet wurde, wird es nicht in Echtzeit aktualisiert. Um das zu lösen, werden sogenannte Light Probes verwendet, um die indirekte Beleuchtung und Reflexionen für die dynamischen Objekte anzuwenden.

Ähnlich wie bei Lightmaps speichern Light Probes Informationen über die Beleuchtung aus der Szene. Der Hauptunterschied besteht darin, dass Lightmaps Beleuchtungsinformationen von den jeweiligen Oberflächen speichern. Während hingegen Light Probes Informationen über die Beleuchtung vom leeren Raum speichern. Sehen wir uns dazu ein kleines Beispiel an.

Dynamisches Objekt innerhalb Beleuchtung ohne Light Probes

Beispiel Light Probes

In dieser Szene ist ein dynamisches Objekt in Form einer Kugel enthalten. Sie befindet sich in der oberen Abbildung innerhalb der Beleuchtung der Straßenlaterne. Die Kugel wird aber von dieser Lichtquelle nicht beleuchtet. Der Grund dafür ist, dass das Baked Lighting verwendet wird und nicht in Echtzeit aktualisiert wird.

Unity Light Probes

Eine Möglichkeit, um das zu lösen, sind Light Probes wie in der oberen Abbildung zu sehen. Dabei wird ein Bereich definiert, in dem Informationen zur Beleuchtung des leeren Raumes gespeichert werden. Diese Daten werden im Anschluss auf dynamische Objekte angewandt. Nutzen wir diese im Bereich der Beleuchtung der Straßenlaterne, so wirkt sich die Beleuchtung der Lichtquelle auch auf das dynamische Objekt aus.

Dynamisches Objekt innerhalb Beleuchtung mit Light Probes

Während der Laufzeit der Anwendung interpolieren die dynamischen Objekte die indirekte Beleuchtung anhand der nächstgelegenen Light Probe. Das ermöglicht es, dass sich bewegliche oder interaktive Objekte nahtlos in die statisch beleuchtete Szene einfügen und realistische Schatten, Reflexionen und Lichtbrechungen erhalten. Durch die Verwendung von Light Probes wird die Notwendigkeit von Real-Time Lighting für dynamische Objekte vermieden, was zu einer besseren Leistung führt.

Reflection Probes

Übersicht Reflection Probes

Reflection Probes ermöglichen es, realistische Reflexionen und Spiegelungen für Materialien in der Szene zu erzeugen. Reflexionen spielen eine wichtige Rolle, um die visuelle Qualität und den Realismus der Szene zu verbessern. Insbesondere in Umgebungen mit glänzenden, spiegelnden oder reflektierenden Materialien wie Glas, Wasser, Metall oder polierte Oberflächen.

Reflection Probes sind mehr oder weniger Kameras, die Informationen über die Umgebung erfassen und diese in Form einer sphärischen Textur, der sogenannten Cube Map speichern. Diese Cube Map repräsentiert die Umgebung in alle Richtungen um die Probe. Während der Laufzeit der Anwendung liest ein reflektierendes Material wie beispielsweise Wasser die Informationen aus der nächstgelegenen Reflection Probe. Anhand der gespeicherten Cube Map werden die Reflexionen für das Material berechnet und auf das dynamische Objekt angewandt.

Reflektion Materialeinstellungen

Beispiel Reflection Probes

Zunächst ist es wichtig sich ein Material mit den korrekten Parametern zu definieren (obere Abbildung). Dazu setzen wir die beiden Parameter Metallic Map und Smoothness jeweils auf 1. Der erste Parameter bestimmt die Metallartigkeit des Materials und der zweite Parameter die Oberflächenrauheit. Du kannst ein wenig mit den beiden Werten spielen, um die Auswirkung festzustellen. Nachdem das Material erstellt wurde, wenden wir es auf die Kugel in der Szene an. Das Ergebnis sieht folgendermaßen aus.

Material Reflektion auf Kugel in Unity

Das Material wurde zwar angewandt, aber noch gibt es keine Reflexionen und Spiegelungen von den Objekten in der Szene. Um das zu erreichen, verwenden wir eine Reflection Probe, die du über das Menü GameObject → Light → Reflection Probe einfügen kannst.

Volumen für Cube Map definieren

Anschließend muss noch das Volumen für die Cube Map definiert werden. Also der Bereich, von dem Informationen erfasst werden sollen. Nachdem das Volumen definiert wurde, werden Reflexionen und Spiegelungen in der Szene auf Objekte angewandt.

Unity Materialspiegelungen durch Reflection Probe

Reflection Probes sind für realistische Reflexionen und Spiegelungen unverzichtbar. Durch die Verwendung können dynamische Objekte nahtlos in reflektierende Umgebungen integriert werden. Es gibt natürlich noch viele weitere Parameter und Einstellungen, um all das zu verfeinern. Die hier gezeigten sollen dir nur eine kurze Übersicht bieten.

So kann beispielsweise die Reflexion in Echtzeit statt im Voraus berechnet werden. Mit der richtigen Platzierung und Anpassung der Reflection Probes kannst du somit realistische und immersive Reflexionseffekte erzielen, die das Erlebnis auf eine neue Ebene heben.

Hinweis: Du willst in der 3D-Entwicklung durchstarten? Dann teste jetzt nobreakpoints Pro. Dort lernst du in zahlreichen Online-Kursen und Workshops alle nötigen Skills.

Free

Trial

Keine Extra-Kosten.
Unverbindlich testen.

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Gefällt Dir der Artikel? Dann teile ihn doch, um diese Informationen auch anderen zugänglich zu machen!

Weitere Blogartikel

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Lerne in Rekordzeit alle nötigen Skills für Game Development, VR und AR – praxisnah und flexibel in deinem Tempo!

Suche

Bereit, deinen Weg in die 3D-Entwicklung zu starten?

Lerne in Rekordzeit alle nötigen Skills für Game Development, VR und AR – praxisnah und flexibel in deinem Tempo!