Erfahren Sie, wie Sie Ihre eigenen Lichteffekte erstellen, um Ihre Spiele aufzuhellen.

Dynamische Beleuchtung und Schatten können die visuelle Qualität und das Spielerlebnis Ihrer Godot-Spiele verbessern. Sie sorgen für Tiefe, Atmosphäre und Realismus und machen Ihre Spielwelt immersiver und ansprechender.

Mit den leistungsstarken Funktionen von Godot wie CanvasModulate und PointLight2D ist das Erstellen und Anpassen dynamischer Beleuchtung und Schatten eine einfache Aufgabe.

Einrichten des Godot-Spiels

Bevor Sie in die dynamische Beleuchtung eintauchen, richten Sie ein einfaches 2D-Spiel ein die Godot-Spiel-Engine. Erstellen Sie eine neue Szene und fügen Sie eine hinzu CharacterBody2D für den Spieler.

Der in diesem Artikel verwendete Code ist hier verfügbar GitHub-Repository Die Nutzung steht Ihnen unter der MIT-Lizenz kostenlos zur Verfügung.

Im Inneren CharacterBody2D, füge hinzu ein CollisionShape2D mit rechteckiger Form und a Sprite2D um den Charakter des Spielers darzustellen. Erstellen Sie außerdem einige Plattformen mit StaticBody2D Knoten.

instagram viewer

Implementieren Sie nun die Spielerbewegung und die Kollision mit den Bildschirmgrenzen mithilfe von GDScript:

extends CharacterBody2D

var speed = 200

func _physics_process(delta):
var velocity = Vector2()

if Input.is_action_pressed('ui_right'):
velocity.x += 1

if Input.is_action_pressed('ui_left'):
velocity.x -= 1

if Input.is_action_pressed('ui_down'):
velocity.y += 1

if Input.is_action_pressed('ui_up'):
velocity.y -= 1

velocity = velocity.normalized() * speed
move_and_collide(velocity * delta)

Mit diesem Code kann sich der Spieler innerhalb der Bildschirmgrenzen nach links, rechts, oben und unten bewegen.

Verdunkeln Sie den Rest der Szene

Um den Effekt einer dynamischen Beleuchtung zu erzielen, müssen Sie den Rest der Szene mit Ausnahme der von den Lichtquellen beleuchteten Bereiche abdunkeln. Sie können dies mit Godots tun CanvasModulate Besonderheit.

extends Node2D

const DARKNESS = 0.7

func _ready():
var canvas_modulate = CanvasModulate.new()
canvas_modulate.color = Color(0, 0, 0, DARKNESS)
add_child(canvas_modulate)

Hängen Sie dieses Skript an ein neues an Node2D am Anfang der Szene hinzugefügt. Der CanvasModulate Der Knoten wendet eine halbtransparente schwarze Überlagerung an, die die gesamte Szene mit Ausnahme der von Lichtern beleuchteten Bereiche verdunkelt.

Erstellen Sie eine konstante Variable DUNKELHEIT, der die Intensität der auf die Szene angewendeten Dunkelheit bestimmt. Durch Anpassen des Werts von DUNKELHEITkönnen Sie steuern, wie dunkel die Szene wird, wenn sie nicht von Lichtern beleuchtet wird. Ein höherer Wert führt zu einer dunkleren Szene, während ein niedrigerer Wert die Szene weniger dunkel macht.

Lichtschatten werfen

Um Schatten zu werfen, müssen Sie etwas einrichten LightOccluder2D Knoten auf Hindernissen, die das Licht blockieren sollen. Wenn Sie beispielsweise Wände, Plattformen oder andere Objekte haben, die Schatten werfen sollen, fügen Sie a hinzu LightOccluder2D zu jedem.

Erstelle eine neue LightOccluder2D Knoten und passen Sie seine Form an die Form des Hindernisses in Ihrem Spiel an. Sie können auch die Eigenschaften des Okkluders anpassen, z Polygone Und Segmente zur Feinabstimmung des Schattenwurfverhaltens.

Fügen Sie omnidirektionale Lichter hinzu

Fügen Sie nun a hinzu PointLight2D Knoten mit einer Textur, die Ihre Lichtquelle darstellt. Punktlichter geben Licht in alle Richtungen ab und erzeugen einen realistischen Beleuchtungseffekt.

extends PointLight2D

var light_color = Color(1, 1, 0.8)

func _ready():
energy = 2.5
color = light_color

Sie können die Eigenschaften anpassen, um den Bereich und die Farbe des vom emittierten Lichts zu steuern PointLight2D.

Sie können auch eine benutzerdefinierte Lichttextur erstellen oder importieren, um die Form und das Erscheinungsbild Ihrer Lichtquelle zu definieren. Je nachdem, welche Atmosphäre Sie erzeugen möchten, kann es sich um einen einfachen Kreis oder eine komplexere Form handeln.

Um die Textur auf das anzuwenden PointLight2D Führen Sie zum Erstellen eines Knotens die folgenden Schritte aus:

  1. Wähle aus PointLight2D Knoten im Szenenbaum.
  2. Suchen Sie im Inspektorfenster die Texture-Eigenschaft unter Textur Abschnitt.
  3. Klicken Sie auf das leere Texturfeld und wählen Sie im Dateibrowser die gewünschte Lichttextur aus.

Jetzt strahlt Ihre Lichtquelle Licht mit der definierten Form und Farbe aus und verleiht Ihrer dynamischen Beleuchtung und Ihren Schatten eine optisch ansprechende Note.

Inklusive zusätzlicher Funktionen

Zusätzlich zur Grundeinstellung dynamischer Beleuchtung und Schatten können Sie verschiedene zusätzliche Funktionen einführen, um die visuelle Attraktivität und das Spielerlebnis weiter zu steigern. Hier sind einige Ideen, die Sie berücksichtigen sollten:

Leichte Animationen

Erwecken Sie Ihre Lichtquellen zum Leben, indem Sie ihnen Animationen hinzufügen. Sie können beispielsweise flackernde Lichter für Fackeln oder Kerzen erzeugen, die Bewegung eines Lagerfeuers simulieren oder sogar magischen Kugeln einen pulsierenden Effekt verleihen.

Tag-Nacht-Zyklus

Implementieren Sie einen dynamischen Tag-Nacht-Zyklus, der die Intensität und Farbe der Lichter im Laufe der Spielzeit schrittweise ändert. Diese Funktion kann das Eintauchen verstärken und je nach Tageszeit unterschiedliche Stimmungen erzeugen.

Leichtes Verblassen

Erstellen Sie sanfte Übergänge für Änderungen der Lichtintensität, um abrupte Verschiebungen zu vermeiden, die das Eintauchen unterbrechen könnten. Durch schrittweises Ein- und Ausblenden der Lichter können Sie einen natürlicheren und optisch ansprechenderen Effekt erzielen.

Dynamische Schatten

Anstatt statische Schatten zu verwenden, sollten Sie in Betracht ziehen, sich bewegenden Objekten oder Charakteren dynamische Schatten hinzuzufügen. Sie können dies erreichen, indem Sie zusätzliche Lichtquellen verwenden, die der Bewegung der Charaktere folgen und so die Illusion von Schattenaktualisierungen in Echtzeit erzeugen.

Urheberrechtsfreie Soundeffekte

Soundeffekte spielen eine entscheidende Rolle dabei, dass Ihre Spielwelt lebendig und dynamisch wirkt. Erwägen Sie die Integration Urheberrechtsfreie Soundeffekte zur Ergänzung Ihrer dynamischen Beleuchtung und Schatten.

Best Practices für dynamische Beleuchtung und Schatten

Während dynamische Beleuchtung und Schatten Ihr Spiel erheblich verbessern können, kann sich eine unsachgemäße Implementierung negativ auf die Leistung und die visuelle Qualität auswirken. Hier sind einige Best Practices, die Sie beachten sollten:

Lichtquellen optimieren

Beschränken Sie die Anzahl der aktiven Lichtquellen auf das für Ihren gewünschten visuellen Effekt notwendige Minimum. Zu viel Licht kann die Leistung erheblich beeinträchtigen, insbesondere bei Geräten der unteren Preisklasse.

Verwenden Sie leichtes Backen

Erwägen Sie bei statischen Szenen oder Objekten das Backen der Beleuchtungsinformationen, um die Leistung zu verbessern. Light Baking berechnet die Beleuchtungsdaten vorab und reduziert so den Bedarf an Echtzeitberechnungen während des Spiels.

Entscheiden Sie sich für einfache Okkluder

Beim Einrichten LightOccluder2D Wenn Sie Knoten haben, entscheiden Sie sich nach Möglichkeit für einfache Formen. Komplexe Okkluder mit vielen Eckpunkten können zu Leistungsproblemen führen. Verwenden Sie nach Möglichkeit einfache Polygone oder Liniensegmente als Okkluder.

Ausmerzen und Schichten

Nutzen Sie das Sichtbarkeits- und Ebenensystem von Godot, um sicherzustellen, dass Lichter und Schatten nur für sichtbare Bereiche berechnet werden. Das Ausblenden von Lichtern und Schatten außerhalb des Bildschirms kann die Leistung erheblich verbessern.

Indem Sie diese Best Practices befolgen und zusätzliche Funktionen sorgfältig implementieren, können Sie atemberaubende und fesselnde dynamische Beleuchtung und Schatten erzeugen, die die Gesamtqualität verbessern Dein Plattformspiel.

Machen Sie Godot-Spiele mit dynamischer Beleuchtung und Schatten ansprechender

Dynamische Beleuchtung und Schatten hauchen Ihrer Spielwelt Leben ein. Sie schaffen eine immersivere und atmosphärischere Umgebung und ziehen die Spieler tiefer in das Spielerlebnis ein. Das Zusammenspiel von Licht und Schatten kann Emotionen hervorrufen, den Ton angeben und das visuelle Storytelling Ihres Spiels verbessern.

Ob es sich um einen geheimnisvollen dunklen Dungeon oder eine ruhige Mondnacht handelt, dynamische Beleuchtung bereichert das Gameplay und hinterlässt einen bleibenden Eindruck bei den Spielern.