U kunt lichteffecten toevoegen aan uw 2D-spel. Dit artikel gaat daarom over 2D licht en schaduw in Unity.
Inleiding tot 2D-lichteffecten in Unity
Bei Verwendung der Universal Render Pipeline (URP) mit ausgewähltem 2D-Renderer bietet die Light 2D-Komponente eine Möglichkeit, Sprites mit 2D-optimierter Beleuchtung zu versehen. Für 2D Licht und Schatten, benötigst du das korrekte Rendering und die passenden Lichttypen.
U kunt kiezen uit verschillende 2D-lichtsoorten. De soorten licht in het pakket zijn:
Vrije vorm
Sprite
Parametrisch
punt
Globaal
Het pakket bevat het gegevensitem van de 2D-renderer dat de parameters voor de verschillende verlichtingsstijlen bevat. Hiermee kunt u maximaal vier aangepaste verlichtingsopties voor uw project gebruiken.
Opmerking: als je de experimentele 2D-renderer hebt geactiveerd (Menu: Grafische instellingen> 2D-renderer-items toevoegen onder Scriptable Render Pipeline-instellingen), hebben sommige 3D-renderingopties in het URP-item geen effect op de uiteindelijke app of het spel.
Vereisten voor 2D-licht en schaduw en instellingen in Unity
U hebt Unity 2019.2.0b1 of hoger nodig
en de Universal Render Pipeline versie 6.7 of hoger.
Hoe de 2D-renderer te configureren:
1. Maak een nieuw pijplijnmiddel door Maken> Renderen> Universal Render Pipeline> Pipeline Asset te selecteren in het menu Activa
2. Kies vervolgens: Maken–> Rendering–> Universal Render Pipeline–> 2D Renderer (Experimenteel)
Voeg het nieuwe middel toe aan de rendererlijst.
Selecteer Bewerken -> Projectinstellingen en ga naar de categorie afbeeldingen.
Stel de instellingen voor de renderpijplijn in op de nieuwe renderer.
Sleep de lichteffecten onder de grafische instellingen van de projectinstellingen.
Om de sprites voor te bereiden op verlichting en ze te verlichten met 2D-verlichting, wordt aan de sprite-renderercomponent van de sprite een materiaal toegewezen met een shader die reageert op 2D-verlichting.
Als je nieuwe sprites naar de scène sleept, wordt het materiaal automatisch toegewezen aan "Sprite-Lit-Default" zodat ze kunnen interageren en worden verlicht door 2D-lampen.
Als alternatief kunt u het Shader Graph-pakket gebruiken om een aangepaste shader te maken die op licht reageert. Het Shader Graph-pakket kan worden gedownload van de Package Manager.
Upgrade naar een compatibele shader
Mogelijk moet u uw materialen bijwerken naar een shader die compatibel is met verlichting. De volgende functies werken automatisch een scène of een project in een proces bij. Bijgewerkte scènes of projecten kunnen niet worden teruggezet naar hun vorige status.
Een scène bijwerken
Om de momenteel geopende scène bij te werken, gaat u naar Bewerken> Pijplijnen renderen> Universal Render Pipeine-> 2D Renderer> Scène upgraden naar 2D Renderer
Dan wordt je scherm zwart:
Update van project
Om alle prefabs en materialen in uw project bij te werken, gaat u naar Bewerken> Render Pipeline> UniversalRP-> 2D Renderer> Update Project naar 2D Renderer
Nu moet je licht toevoegen aan je scène.
Klik met de rechtermuisknop in het hiërarchievenster en selecteer Licht–> 2D–> Het licht dat u wilt installeren.
Nu is er licht nodig in de scene.
Klik in het hiërarchievenster eenmaal met de rechtermuisknop en selecteer Licht–>2D en de gewenste lichtbron, b.v. Bijvoorbeeld puntlicht. De lichtbron verschijnt in de scène. Het is niet erg groot en kan worden vergroot met behulp van de halve cirkel op de gele rand. De Achtergrond is nog helemaal zwart.
De sorteerlagen waarop het licht betrekking moet hebben, moeten worden ingesteld.
Selecteer "Alle" onder Doelsorteerlagen in het infovenster. Dan verhoudt het licht zich tot de voor- en achtergrond. De buiten- en binnenradius van de lichtbron kunnen worden aangepast.
De Falloff Intensity geeft de lichtintensiteit aan. In het gebied Kleur kunt u de kleur van het licht instellen. Alles wat niet verlicht is, is volledig zwart.
Het globale licht verlicht alle geselecteerde objecten. Ook kunnen hier alle sorteerlagen worden geselecteerd. Ook de intensiteit en kleur kunnen hier worden ingesteld. Als je bijvoorbeeld het licht naar een object van een bepaalde kleur verplaatst en de lichtkleur aanpast en hetzelfde doet met een ander object, dan heeft elk object zijn eigen kleur. U kunt ook de pijlen naast de lichtbron gebruiken om de hoek van de lichtinval aan te passen. Ook hier is er een binnen- en een buitenhoek.
Meer lichte vormen
Met Sprite Lights kunt u sprites toevoegen die een scène verlichten. Hiervoor zijn bijvoorbeeld Sprite cookies geschikt. De sprite verlicht alle ingestelde lagen.
Een Freeform Light kan naar behoefte worden geverfd. U bepaalt zelf de vorm van het licht. Met behulp van de weergegeven punten kunt u de vorm van het licht instellen. U kunt zoveel punten toevoegen of verwijderen als u wilt. Hier definieert u ook de verlichte lagen.
Het parametrische licht: Hiermee kan licht in bepaalde vormen worden gecreëerd: driehoek, vierkant, vijfhoek, enz. Het aantal zijden kan worden ingesteld onder Zijden in het infovenster. Met Angle Offset kan de hoek worden aangepast.
De achtergrond kan worden geselecteerd onder Achtergrond-> Sprite-editor-> Secundaire textuur.
Dit wordt de _NormalMap genoemd.
Normale kaarten geven ook de indruk van een plastic oppervlak en werpen geen schaduwen. Bovendien dekt het geen enkel oppervlak.
De achtergrond, die zou moeten werken als een normale kaart, wordt in het gebied Textuur getekend. Bevestig met Toepassen.
Markeer ook de lichten die door de normale kaart moeten worden beïnvloed. Selecteer in het infovenster de optie Gebruiken als normale kaart. Door een normale kaart te gebruiken, lijken 2D-objecten driedimensionaal.
Trouwens: als je het deeltjessysteem wilt gebruiken, kun je de 2D-lichteffecten niet tegelijkertijd gebruiken. Op dit moment sluiten beide elkaar uit.
Der Fehler „2D-Renderer-Daten müssen zugewiesen werden“ in Unity
Mit der Veröffentlichung von Unity 2019.3 haben wir Entwickler den 2D-Renderer im Universal Render Pipeline (URP) kennengelernt, der einen robusten Rahmen für die Darstellung von 2D-Grafiken mit erweiterten Funktionen und Möglichkeiten bietet. Doch wie bei jeder neuen Technologie können wir während der Einrichtung und Implementierung auf Herausforderungen stoßen. Eine solche Herausforderung ist die Fehlermeldung „2D-Renderer-Daten müssen deinem Universal Render Pipeline-Asset oder deiner Kamera zugewiesen werden“, die auftreten kann, wenn die 2D-Rendererdaten nicht ordnungsgemäß konfiguriert sind. Die englische Version der Fehlermeldung lautet: 2D renderer data must be assigned to your universal render pipeline asset or camera.
Was ist der 2D-Renderer?
Der 2D-Renderer ist ein Bestandteil des Universal Render Pipeline, der speziell für die Darstellung von 2D-Grafiken entwickelt wurde. Er bietet eine Reihe von Funktionen, darunter:
- 2D-Lichter: Beleuchte deine 2D-Szenen mit dynamischen Lichteffekten.
- Sprite-Masternode im Shader Graph: Erstelle deine eigenen Shader für beleuchtete und unbeleuchtete Sprites mit Shader Graph.
- Pixelgenaue Kamera-Komponente: Sorge für eine pixelgenaue Darstellung, damit deine Visuals klar und gestochen scharf sind.
- Normal Map-Unterstützung: Unterstütze Normal Maps im Tilemap Renderer, Sprite Shape Renderer und deformierten Sprite Renderern.
- Experimentelle Shadow Caster-Komponente: Aktiviere experimentelles Schattenerzeugen für eine verbesserte visuelle Tiefe.
- Post-Processing-Unterstützung: Wende Post-Processing-Effekte an, um das Gesamtbild deiner 2D-Szenen zu verbessern.
Erste Schritte mit Universal RP und dem 2D-Renderer
Um den 2D-Renderer in Unity zu nutzen, befolge diese Schritte:
- Installation von Universal RP: Lade dir die neueste Version von Unity 2019.3 herunter und erwerbe den Universal Render Pipeline in der Version 7.2.1 oder neuer aus dem Paketmanager innerhalb von Unity.
- Konfiguration des 2D-Renderers:
- Erstelle ein neues Pipeline-Asset und einen 2D-Renderer, indem du im Asset-Browser des Projektfensters die entsprechenden Optionen unter „Erstellen > Rendering > Universal Render Pipeline“ auswählst.
- Weise den erstellten 2D-Renderer den Renderer-Daten im Pipeline-Asset zu.
- Lege die Einstellungen der Scriptable Render Pipeline im Grafikbereich so fest, dass das erstellte Pipeline-Asset verwendet wird.
Verständnis der Fehlermeldung
Die Fehlermeldung „2D-Renderer-Daten müssen zugewiesen werden“ tritt auf, wenn Unity feststellt, dass die erforderlichen Renderer-Daten für den 2D-Renderer im Universal Render Pipeline nicht ordnungsgemäß konfiguriert sind. Dies geschieht typischerweise, wenn der 2D-Renderer nicht dem Universal Render Pipeline-Asset oder der Kamera in der Szene zugewiesen wurde.
Behebung des Fehlers
Um den Fehler zu beheben und die ordnungsgemäße Funktionalität des 2D-Renderers sicherzustellen, sollten wir:
- Die Zuweisung des 2D-Renderers zum Universal Render Pipeline-Asset oder zur Kamera in der Szene überprüfen.
- Überprüfen, ob das Pipeline-Asset und die Renderer-Daten gemäß den bereitgestellten Richtlinien korrekt konfiguriert sind.
- Sicherstellen, dass die Einstellungen der Scriptable Render Pipeline im Grafikbereich so festgelegt sind, dass das erstellte Pipeline-Asset verwendet wird.
Durch das Befolgen dieser Schritte und die Gewährleistung einer ordnungsgemäßen Konfiguration des Universal Render Pipeline und des 2D-Renderers können wir die erweiterten Funktionen und Möglichkeiten des 2D-Rendering-Frameworks von Unity effektiv nutzen.
De volgende is Game Programming in Unity: An Overview
Effiziente Lichteffekte mit dem 2D-Renderer und 2D-Lichtern
Bisher war es üblich, für Lichteffekte in Unity ein separates Sprite zu verwenden und diesem dann ein entsprechendes Licht zuzuweisen. Diese Methode erforderte zusätzlichen Aufwand bei der Synchronisierung von Sprite und Licht, insbesondere bei Animationen oder Änderungen in der Szene. Mit der Einführung des 2D-Renderers im Universal Render Pipeline wird dieser Prozess deutlich vereinfacht. Nun können wir direkt dem Sprite ein 2D-Licht hinzufügen, wodurch das Licht effizienter mit dem Sprite verbunden ist und die Synchronisierung automatisch erfolgt.
Das gelingt allerdings nur, mit der vorherigen korrekten Konfiguration.
Dies erleichtert nicht nur die Gestaltung von Lichteffekten in 2D-Szenen, sondern ermöglicht auch eine schnellere und flexiblere Entwicklung. Die Voraussetzung dafür ist jedoch die richtige Konfiguration des 2D-Renderers in der URP, wie im vorherigen Abschnitt beschrieben. Durch die korrekte Einrichtung des 2D-Renderers können Entwickler das volle Potenzial dieser neuen Funktion nutzen und die Effizienz ihrer Arbeitsabläufe steigern.
Hier gaat het naar Unity-website
Oorspronkelijk gepost 2020-02-20 13:58:58.