Leitfaden zu Schatten in der Einheit

Wenn Sie ein Unity-Entwickler sind, der die visuelle Attraktivität Ihrer Projekte verbessern möchte, kann das Verständnis und die Implementierung von Schatten einen erheblichen Unterschied machen. Schatten verleihen Ihren Szenen Tiefe und Realismus und sorgen dafür, dass Objekte realistisch mit Lichtquellen interagieren. Dieser Leitfaden führt Sie durch die Grundlagen der Aktivierung von Schatten in Unity und erkundet zusätzliche Optimierungen mithilfe von Lightmaps.

Schatten im Unity-Editor.

  • Überprüfen Sie das Sharp Shadows Toolkit

Schatten aktivieren Unity

Schritt 1: Öffnen Sie Ihr Unity-Projekt

  • Öffnen Sie Ihr Unity-Projekt und öffnen Sie eine Szene mit Objekten, um Schatten zu werfen.

Schritt 2: Einrichtung des gerichteten Lichts

  • Suchen Sie in Ihrer Szenenhierarchie nach "Directional Light". Dieses Licht simuliert Sonnenlicht in Unity.
  • Wählen Sie "Directional Light" aus, um auf seine Eigenschaften im Inspektorfenster zuzugreifen.

Schritt 3: Schatteneinstellungen

  • Scrollen Sie im Inspektor nach unten, um das Dropdown-Menü "Shadow Type" zu finden.
  • Wählen Sie je nach Wunsch "Soft Shadows" oder "Hard Shadows".

Schritt 4: Schattenabstand und Auflösung anpassen

Schattenabstand und Auflösung können in den Qualitätseinstellungen des Projekts angepasst werden.

  • Ändern Sie "Shadow Distance", um den Schattenbereich zu steuern.
  • Ändern Sie "Shadow Resolution", um Qualität und Leistung in Einklang zu bringen.

Schritt 5: Schatten auf Objekten deaktivieren

Wenn Sie den Schattenwurf von bestimmten Objekten deaktivieren möchten, führen Sie die folgenden Schritte aus:

  • Wählen Sie ein Objekt in Ihrer Szene aus.
  • Suchen Sie im Inspektor nach "Mesh Renderer" oder einer beliebigen von "Renderer" abgeleiteten Komponente.
  • Ändern Sie die Einstellung "Cast Shadows" auf den entsprechenden Wert.
  • Sie können auch steuern, ob das Objekt Schatten erhält, indem Sie das Kontrollkästchen "Receive Shadows" aktivieren oder deaktivieren.

Schritt 6: Beobachten Sie die Szene

  • Beobachten Sie die Szene, um Schatten in Echtzeit zu sehen.

Fehlerbehebung bei Schatten:

Wenn in Ihrer Szene keine Schatten sichtbar sind, beachten Sie Folgendes:

  • Richtungslichtwinkel: Stellen Sie sicher, dass das Richtungslicht so positioniert ist, dass seine Strahlen Ihre Objekte treffen. Experimentieren Sie mit seiner Rotation.
  • Objekteinstellungen: Überprüfen Sie, ob die Option "Cast Shadows" für die Objekte aktiviert ist, die Sie Schatten werfen möchten.
  • Lightmap-Auflösung: Wenn Sie Lightmaps verwenden, stellen Sie sicher, dass Ihre statischen Objekte über eine ausreichende Lightmap-Auflösung verfügen. Erhöhen Sie es bei Bedarf.
  • Shader-Kompatibilität: Einige Shader sind möglicherweise nicht mit Schatten kompatibel. Testen Sie mit Unity's-Standard-Shadern oder Shadern, die auf Schattenkompatibilität ausgelegt sind.
  • Echtzeit vs. gebacken: Echtzeitschatten werden möglicherweise nicht angezeigt, wenn das Objekt als statisch markiert ist. Wählen Sie entweder Echtzeit- oder gebackene Schatten.
  • Schattenabstand in den Qualitätseinstellungen: Überprüfen Sie die Einstellung "Shadow Distance" in den Qualitätseinstellungen des Projekts. Wenn der Abstand kleiner als der aktuelle Abstand zur Kamera eingestellt ist, sind in bestimmten Entfernungen möglicherweise keine Schatten sichtbar.

Schatten mit Lightmaps optimieren

Unity bietet Lightmaps als erweiterte Optimierungstechnik für statische Objekte und reduziert so den Bedarf an Echtzeitberechnungen.

Gebackene Lightmaps in Unity.

  • Überprüfen Sie Bakery – GPU Lightmapper

Schritt 1: Objekte als statisch markieren

  • Wählen Sie statische Objekte in Ihrer Szene aus.
  • Aktivieren Sie im Inspektor das Kontrollkästchen "Static".

Schritt 2: Lightmap-Einstellungen konfigurieren

  • Gehen Sie zu 'Window -> Rendering -> Lighting', um das Beleuchtungsfenster zu öffnen.
  • Scrollen Sie nach unten zum Abschnitt "Lightmapping".
  • Setzen Sie "Lightmapper" auf "Progressive" oder "Enlighten".
  • Klicken Sie auf "Generate Lighting", um Light-Maps zu backen.

Schritt 3: Passen Sie Echtzeit vs. gebackene Schatten an

  • Verwenden Sie Echtzeitschatten für dynamische Objekte.
  • Verlassen Sie sich bei statischen Objekten auf gebackene Schatten von Lightmaps.

Schritt 4: Testen und iterieren

  • Drücken Sie „Play“, um Ihre Szene zu test. Passen Sie die Einstellungen an und iterieren Sie, um das gewünschte Gleichgewicht zwischen visueller Qualität und Leistung zu erreichen.

Abschluss

Sie haben Schatten in Unity erfolgreich aktiviert und Lightmaps für eine optimierte Schattenwiedergabe untersucht. Experimentieren Sie mit verschiedenen Einstellungen, beobachten Sie die Auswirkungen auf Ihre Szene und setzen Sie Ihre Reise zur Erstellung visuell beeindruckender Unity-Projekte fort.