Die gewöhnlichen Lichtquellen in Unity sind nicht für die Verwendung von 2D Anwendungen und Spiele optimiert. Mit Hilfe der Universial Render Pipeline (URP) kannst du aber 2D Lights in dein Projekt integrieren. Wie das geht, erfährst du in diesem Beitrag.
Universial Render Pipeline aktivieren
Hierfür solltest du mindestens Unity 2020.1 verwenden. Wenn dein Projekt nicht bereits auf dem URP Template basiert, dann musst du das Package im Package Manager hinzufügen und so erweitern.
Universal RP im Unity Package Manager
Wähle aus dem Package Manager in der Kategorie „Unity Registry“ das Universal RP Projekt und klicke auf „install“.
Sobald diese Installation abgeschlossen ist, findest du unter „Create“ > Light auch den Menüpunkt „2D“. Die einzelnen Optionen für die Erstellung der GameObjects sind aber noch nicht selektierbar.
Neue Auswahlmöglichkeit 2D Lights
Pipeline und 2D Renderer
Danach wählst du Edit > Project Settings > Graphics. Hier ist der Eintrag Scriptable Render Pipeline Settings leer. Du musst dir zuerst ein neues Asset erstellen.
Wähle im Projektordner Create > Rendering > Universal Render Pipeline > Pipeline Asset (Forward Renderer). Danach verlinkst du das erstellte Asset in den Einstellungen der Pipeline.
Pipeline Asset in Settings verlinken
Im nächsten Schritt musst du noch den Standard Renderer durch einen 2D Renderer austauschen. Erstelle dir über den Menüpunkt Create > Rendering > Universal Render Pipeline > 2D Renderer einen eigenen.
Selektiere im Assets Ordner dein Universal Render Pipeline Assets und verlinke im Inspector den eben erstellten 2D Renderer.
2D Renderer in Pipeline Asset verlinken
2D Lights verwenden
Ab jetzt kannst du 2D Lights in deinem Unity Project verwenden. Sobald du neue Sprites hinzufügst werden die auch vom 2D Renderer berücksichtigt.
Erstelle dir jetzt dein erstes 2D Licht. Wähle dazu Create > Light > 2D > Point Light und platziere es entsprechend.
2D Point Light hinzufügen
Sprites aktualisieren
Solltest du bereits eine 2D Scene mit Sprites erstellt haben, dann sind diese möglicherweise noch hell dargestellt. Der 2D Renderer in Unity berücksichtigt also diese Grafiken noch nicht richtig. Hierfür musst du deine Grafiken aktualisieren. Gehe hierzu auf Edit > Render Pipeline > Universal Render Pipeline > 2D Renderer > Upgrade Scene
Fazit
Mit den 2D Lights hast du viele verschiedene Möglichkeiten, berücksichtige aber, dass sich die Funktion im Entwicklungsstadium befindet. In neueren Versionen von Unity wird es einfacher sein die 2D Lights hinzuzufügen. Wenn du aber jetzt schon damit arbeiten möchtest, dann folge immer den hier beschriebenen Schritten.