Beleuchtung in Einheit 5

Was Sie erstellen werden

Unter den aufstrebenden Spielprogrammierern ist Unity immer beliebter geworden. Dies liegt an der Tatsache, dass Unity direkt eine Vielzahl von Plattformen unterstützt, z. B. mobile Umgebungen, Desktop-Umgebungen und Konsolenumgebungen. Darüber hinaus ist es kostenlos für Entwickler oder Studios mit geringerem Umsatz.

Unity unterstützt verschiedene Technologien und Komponenten. Einige der Schlüsselkomponenten sind die Beleuchtungs- und Beleuchtungstechniken. In Unity können Sie eine Szene beleuchten, indem Sie das komplexe Verhalten von Lichtern simulieren oder ein einfaches Beleuchtungsmodell anwenden.

In diesem Lernprogramm wird erläutert, wie die Beleuchtung in Unity 5 funktioniert, die Beleuchtungsarten und -eigenschaften und wie mit ihnen reichhaltige Beleuchtungseffekte erstellt werden können.

Voraussetzungen

Stellen Sie zunächst sicher, dass Sie über die neueste Version von Unity verfügen. In diesem Tutorial verwenden wir die Version 5.5.0f3. Stellen Sie sicher, dass Sie die neueste Unity-Version verwenden. Andernfalls haben Sie möglicherweise Probleme, wenn Sie dem Lernprogramm folgen und die Physikgelenke verwenden.

Laden Sie als Nächstes die herunter LightingInUnity5-Starter Datei. Entpacken und öffnen Sie das Projekt in Unity. Die Demo-Szene sollte automatisch geöffnet werden. Wenn nicht, können Sie sie von der Seite aus öffnen Vermögenswerte Mappe.

Direkte und indirekte Beleuchtung

In einem realen Szenario gibt es zwei Arten von Lichteffekten: direkte und indirekte Beleuchtung. Direkte Beleuchtung ist, wie der Name schon sagt, Licht, das direkt von einer Lichtquelle kommt (einer Lampe, der Sonne oder einer anderen). Bei der indirekten Beleuchtung handelt es sich dagegen um Licht, das von einem anderen Objekt kommt.

Lassen Sie uns beide testen und implementieren.

Direkte Beleuchtung ist in Ihrem bereits in Aktion zu sehen Szene. Wie Sie wahrscheinlich bemerkt haben, haben Sie ein gerichtetes Licht in der Szene aufgerufen Richtungslicht.

Richtungslichter werden meistens im Außenbereich für Sonne und Mondlicht eingesetzt. Sie wirken sich auf alle Oberflächen der Objekte in der Szene aus. Sie sind auch für den Grafikprozessor am günstigsten.

Sie können das auswählen Richtungslicht und sehen Sie seine Eigenschaften in der Inspektor Feld. Sie werden einige interessante Eigenschaften wie z Art, Farbe, und Intensität. Sie können mit spielen Farbe und das Drehung Eigenschaften und sehen Sie das Ergebnis in Echtzeit. Durch das Ändern dieser Werte spielen Sie direkt mit direktem Licht.

In diesem Moment hat Ihre 3D-Szene kein indirektes Licht. Sie können das überprüfen, indem Sie die Kugel näher an der grünen oder roten Wand. Das Kugel Farbe ändert sich nicht.


Eine Möglichkeit, indirekte Beleuchtung zu verwenden, ist die Verwendung statischer GameObjects. Beachten Sie, dass die Verwendung von statischen Spielobjekten die Leistung Ihres Spiels verbessern kann, aber auch die Qualität verringert. Sie müssen also die richtige Balance für Ihr Spiel finden.

Fügen Sie Ihrer Szene ein Boxnetz hinzu (GameObject > 3D-Objekt > Würfel) und platziere es neben der Kugel. Nennen Sie es Würfel.

Wähle aus Würfel, und innerhalb der Inspektor aktivieren Sie die Statisch Eigentum.

Wenn Sie das aktivieren Statisch Diese Eigenschaft erstellt Unity automatisch eine Lichtkarte für dieses Objekt und wendet das korrekte Beleuchtungsmodell an. Sie können die Kamera jetzt in Richtung bewegen Würfel und sehen, wie die indirekte Beleuchtung funktioniert. Das Grün (im Bild) oder die rote Farbe breitet sich jetzt im aus Würfel.

Wenn Sie die Richtung ändern Richtungslicht, Sie werden feststellen, dass Unity auch die Light Maps automatisch aktualisiert.

Die indirekte Beleuchtung, die auf die angewendet wird Würfel wird nicht auf die angewendet Kugel weil der Kugel ist nicht statisch. Sie können dies lösen, indem Sie die Kugel statisch (Inspektor > Statisch).

In diesem Moment können Sie statische Objekte direkt und indirekt beleuchten. 3D-Szenen bestehen jedoch aus dynamischen Objekten. Wie können wir also solche Effekte auf diese Objekte anwenden? Diese Frage führt uns zum nächsten Abschnitt.

Leichte Sonden

Wenn Ihre Szene nicht statische Objekte enthält, müssen Sie bestimmte Beleuchtungstechniken verwenden, um sie richtig zu beleuchten, damit sie nicht von der Szene getrennt erscheinen.

Mit Hilfe von Lichtsonden und ihren Positionen können Sie strategische Punkte in der Szene erfassen. Jede Lichtsonde kann eine bestimmte Region abtasten und dann die Beleuchtung in dieser bestimmten Region berechnen. Diese Berechnungen sind schnell genug, um während des Spiels verwendet zu werden. Die Verwendung von Lichttastern verhindert, dass die Beleuchtung bewegter Objekte von statischen Objekten mit Lichtbild in der Szene getrennt wird.

Das Kugel ist also ein dynamisches Objekt und wird, anders als es scheint, nicht richtig beleuchtet. Wenn Sie das drehen Richtungslicht Wenn Sie aus sind, werden Sie feststellen, dass die einzige Beleuchtung die Kugel ist das Umgebungslicht. So beleuchten Sie die Kugel, Sie müssen Lichtsonden verwenden.

Um einem Bereich Ihrer Szene Lichtsonden hinzuzufügen, gehen Sie zu Komponente> Rendern> Leichensondengruppe. Dadurch wird eine Lichtsondengruppe in Ihrer Szene erstellt.

Der nächste Schritt besteht darin, die Sonden der Gruppe in die richtige Position zu bringen. Sie möchten sie jetzt in der Nähe jeder Ecke des Fensters platzieren Box.

Der beste Weg, dies zu tun, ist zu ändern orthographisch Ansicht (durch Klicken auf den Würfel in der oberen rechten Ecke der Szene). Wählen Sie dann jeden Lichtsondenknoten aus und ziehen Sie ihn in jeden Box Ecke (ähnlich dem nächsten Bild).

Wiederholen Sie den Vorgang, bis Sie alle Knoten positioniert haben.

Es gibt Szenen, bei denen zusätzliche Sonden erforderlich sind, um Objekte richtig zu beleuchten. Um weitere Sonden hinzuzufügen, können Sie eine Sonde auswählen und dann unter Inspektor, klicke auf das Auswahl duplizieren Taste.

Nach dem Duplizieren müssen Sie den neuen Knoten an der richtigen Stelle platzieren (der duplizierte Knoten erscheint an derselben Position wie der ausgewählte Knoten)..

Wenn Sie sich die Schnittstelle in der Inspektor, Sie werden feststellen, dass Sie auch einzelne Sonden hinzufügen können (Probe hinzufügen), löscht Sonden (Ausgewählte löschen) oder wählen Sie alle Sonden aus der Gruppe aus (Wählen Sie Alle).

Um die Lichttaster in Aktion zu sehen, wählen Sie die Option Kugel und fügen Sie ein Starrer Körper dazu (Hinzufügen Komponente> Starrer Körper). Weisen Sie dann dem Collider ein Material zu. Sie können das Gummimaterial verwenden.

Jetzt platzieren Sie die Kugel in der Nähe der Spitze der Box und drücke abspielen. Sie können jetzt die richtige Beleuchtung des sehen Kugel. Deaktivieren Sie die Lichtsonden und, um die Unterschiede zu sehen abspielen die Szene wieder.

Punktlicht

Punktlichter sind das häufigste Licht in Spielen. Sie werden normalerweise für Explosionen und Glühlampen verwendet. Da sie Licht in alle Richtungen emittieren, verursachen sie für den Grafikprozessor durchschnittliche Kosten. Die Berechnung von Schatten bei Verwendung von Punktlichtern ist jedoch teurer.

Fügen Sie ein Punktlicht hinzu, indem Sie auswählen GameObject> Licht> Punktlicht. Als nächstes positionieren Sie die Punktlicht in der Box In der Nähe der Spitze.

Wähle aus Punktlicht und werfen Sie einen Blick auf die Parameter in der Inspektor.

Der erste Parameter ist Art. Hier können Sie die Lichtart einstellen, die Sie verwenden möchten. Sie können entweder auswählen Stelle, Directional, Punkt, oder Bereich. Jedes liefert einen bestimmten Lichteffekt. Sie können eine beliebige Option auswählen und die Ergebnisse in Echtzeit anzeigen. Für dieses Tutorial verwenden Sie jedoch die Punkt Möglichkeit. Dadurch wird ein Glühbirneneffekt erzeugt (Licht leuchtet in alle Richtungen gleich).

Der zweite Parameter ist Backen. Sie können es auf einstellen Echtzeit, Gebacken, oder Gemischt. Behalten Sie den Wert als Standard bei. Das Angebot Der Parameter legt fest, wie weit das Licht von der Mitte des Lichts ausgestrahlt wird Punktlicht. Das Farbe Parameter definiert die emittierte Lichtfarbe.

Intensität definiert die Helligkeit des Lichts und Bounce-Intensität definiert den Intensitätsmultiplikator für indirektes Licht. Das Schattenart Definiert die Schatzeigenschaften und Schattentypen. Sie können es entweder einstellen Keine Schatten, Harte Schatten, oder Weiche Schatten. Denken Sie daran, dass Punktlichtschatten für den Motor am teuersten sind. Seien Sie also vorsichtig, wenn Sie diese Option auswählen.

Wenn Sie auswählen Harte Schatten oder Weiche Schatten, Sie werden den Schatten sehen, der durch die erzeugt wird Kugel und das Punktlicht. Wenn Sie das ändern Stärke Wert wird der Schatten auch abschwächen oder akzentuieren. Das Auflösung lässt Sie die Detailebene der Schatten definieren. Endlich, Vorspannen und Normale Vorspannung Sie können den Versatz konfigurieren, der beim Vergleich der Pixelposition im hellen Raum mit dem Wert aus der Schattenkarte verwendet wird.

Das Plätzchen ist ein optionaler Parameter, der einen Alphakanal einer Textur darstellt, die als Maske verwendet wird und bestimmt, wie hell das Licht an verschiedenen Positionen ist. Da es sich um ein Punktlicht handelt, muss die verwendete Textur eine Cubemap sein.

Das Halo zeichnen Bei dieser Option wird nur ein Lichthof um die Lichtquelle gerendert. Flare Definiert einen Verweis auf eine Fackel, die an der Lichtposition gerendert werden soll. Flare und Halo zeichnen kann beim Debuggen der 3D-Szene und möglichen Engpässen hilfreich sein.

Render-Modus legt fest, wie wichtig die Beleuchtung ist, wenn der Renderer die Szene rendert. Je wichtiger, desto intensiver wird das Rendern. Das Render-Modus kann eingestellt werden AutoWichtig, oder Nicht wichtig. Endlich, Culling Mask wird verwendet, um Gruppen von Objekten auszuwählen oder auszuschließen, die vom Punktlicht betroffen sind.

Nachdem Sie nun alle Eigenschaften des Punktlichts gesehen haben, sprechen wir bei Verwendung von Punktlichtern über direkte und indirekte Beleuchtung. Wenn Sie ein Spiel erstellen, ist die Verwendung von Beleuchtung und Beleuchtungseffekten eines der Hauptmerkmale. Ein starkes Beleuchtungsszenario führt jedoch zu längeren Ladezeiten, FPS-Engpässen und mehr Arbeit für die CPU. Daher wird empfohlen, mit zu spielen Schatten Art und Backen Eigenschaften, um die Leistung Ihrer Szene auszugleichen.

Zum Beispiel, wenn Sie die Backen zu Echtzeit und das Schattenart zu Harte Schatten oder Weiche Schatten, Sie haben einen sehr schönen, realistischen Schatteneffekt zwischen Kugel und das Box. Diese Einstellung kann jedoch für die CPU schwer sein, wenn Ihre Szene aus vielen Lichtern besteht.

Wie löse ich das Problem? Sie können das zunächst einstellen Backen Parameter zu Backen. Sobald Sie dies getan haben, erstellt Unity automatisch Lightmaps für dieses Licht, wodurch Sie eine Leistungssteigerung erzielen. Dieser Leistungsschub hat jedoch seine Kosten: Jetzt gibt es keine Schatten, die vom Punktlicht in dynamische Objekte, wie z Kugel.

Es empfiehlt sich, jedes Licht einzeln zu analysieren und dann entsprechend vorzugehen. In dieser Szene wäre es zum Beispiel sinnvoller Echtzeit Backen und Schwer Schatten, weil nur eine Lichtquelle in der Box vorhanden ist. 

Wenn Ihre Lichtquelle jedoch eine Taschenlampe in einer Wand ist, ist es besser, sie einzustellen Backen zu Backen und lassen Sie Unity die Lichtkarten erzeugen.

Denken Sie daran, dass es Sache des Entwicklers ist, die Qualität und Leistung des Spiels zu steuern. Beachten Sie daher, dass Sie dieses Gleichgewicht unbedingt beachten müssen, insbesondere wenn Sie für mobile Geräte entwickeln.

Punktlicht

Punktlichter strahlen Licht von einer Lichtquelle aus, die auf eine bestimmte Region gerichtet ist. Sie beleuchten nur Objekte innerhalb einer bestimmten Region, einer durch einen 3D-Kegel begrenzten Region. Im Grunde funktionieren sie wie die Scheinwerfer eines Autos. Wie Sie sich vorstellen können, eignen sie sich ideal für Taschenlampen, Autoscheinwerfer oder Laternen. Sie sind auch die teuerste Lichtart für den Grafikprozessor.

Lass uns jetzt das ändern Punktlicht in ein Punktlicht. Wähle aus Punktlicht Sie haben zuvor erstellt und ändern Art zu Stelle. Nächster, Drehen das Licht, so dass es den Boden des beleuchten kann Box. Benennen Sie es in um Punktlicht.

Wie Sie vielleicht schon bemerkt haben, im Inneren Inspektor, das Stelle Parameter sind ähnlich wie Punkt Einsen. Sie haben jedoch einen neuen angerufen Spot-Winkel.

Das Spot-Winkel bestimmt den Winkel des Lichtkegels in Grad.

Bei direkter und indirekter Beleuchtung funktionieren Spotlights genauso wie Punktlichter. Sie haben die gleichen Einschränkungen und Vorteile. Daher müssen Sie vorsichtig sein, wenn Sie das Lichtverhältnis in Ihrem Spiel einstellen.

Beachten Sie, dass Sie immer mit Schatten und Backen spielen können, um Aussehen und Leistung in Einklang zu bringen.

Flächenlicht

Ein Flächenlicht ist Licht, das in alle Richtungen auf einer Seite eines rechteckigen Bereichs einer Ebene emittiert wird. Dieses Rechteck ist in beiden definiert Breite und Höhe Eigenschaften. Die Flächenlichter stehen nur beim Backen von Lichtkarten zur Verfügung, sodass sie zur Laufzeit keine Auswirkungen auf Objekte haben.

Wähle aus Punktlicht und ändern Sie seine Art zu Bereich und seinen Namen zu Flächenlicht. Positionieren Sie dann das Licht in Ihrer Box und in der Inspektor, ändere das Breite und das Höhe, um den gesamten Bereich innerhalb der Box.

Durch den Blick auf die Flächenlicht Parameter werden Sie feststellen, dass die meisten Parameter zum Beispiel den vorherigen ähnlich sind Art, Halo zeichnen, Flare, Render-Modus, und Culling Mask

Die wirklichen neuen Parameter sind die Breite und Höhe.Beide werden verwendet, um die Größe des rechteckigen Lichtbereichs einzustellen.

Wenn Sie drücken abspielen, Sie werden sehen, dass das Flächenlicht alle Objekte innerhalb seines Bereichs beleuchtet. Die Größe des Rechtecks ​​wird durch das Zeichen bestimmt Breite und Höhe Eigenschaften. Die Seite, auf die das Licht geworfen wird, ist die Normalität der Ebene, die der positiven des Lichts entspricht Z Richtung. Das Licht wird von der gesamten Oberfläche des Rechtecks ​​ausgestrahlt. Daher sind Schatten und Schatten des betroffenen Objekts tendenziell viel weicher als bei punktuellen oder gerichteten Lichtquellen.

Die Beleuchtungsberechnungen für ein Flächenlicht sind ziemlich prozessorintensiv, sodass sie zur Laufzeit nicht verfügbar sind und nur möglich sind Gebacken in Lichtkarten.

Schlussfolgerungen

Damit ist das Lernprogramm zu Beleuchtung in Unity 5 abgeschlossen. Sie haben einige Beleuchtungseffekte und -konfigurationen kennen gelernt. Mit diesem Wissen können Sie jetzt mehrere Lichteffekte auf Ihr Spiel oder Ihre Anwendung anwenden.

Einheit hat eine aktive Wirtschaft. Es gibt viele andere Produkte, die Ihnen beim Aufbau Ihres Projekts helfen. Die Art der Plattform macht sie auch zu einer großartigen Option, mit der Sie Ihre Fähigkeiten verbessern können. In jedem Fall können Sie sehen, was auf dem Envato Marketplace verfügbar ist.

Wenn Sie weitere Fragen oder Kommentare haben, können Sie, wie immer, eine Zeile im Kommentarbereich ablegen.