Partikeleffekte

Unser Spiel wird immer lebendiger! Wir haben Soundeffekte und zusätzliche Animationen hinzugefügt, um das Einsammeln von Münzen noch befriedigender zu machen. Doch wir können noch einen Schritt weiter gehen, um visuelles Feedback zu verbessern: mit Partikeleffekten.

Partikeleffekte können einem Spiel unheimlich viel Leben einhauchen. Sie sind perfekt, um kurze, dynamische visuelle Ereignisse darzustellen, wie Explosionen, Rauch, Funken oder eben das Aufsammeln einer Münze.

In diesem Artikel wirst du:

  • Das Konzept von Partikelsystemen in Godot kennenlernen.
  • Den GPUParticles2D Node verwenden, um einen Partikeleffekt für unsere Münze zu erstellen.
  • Die verschiedenen Eigenschaften eines Partikelsystems konfigurieren
  • Den Partikeleffekt über unser Script auslösen, wenn eine Münze eingesammelt wird.

Was sind Partikelsysteme in Godot?

In Godot erstellst du Partikeleffekte meist mit einem GPUParticles2D Node (für 2D-Spiele). Dieser Node allein macht noch nichts. Er benötigt zwei Hauptkomponenten, um Partikel zu erzeugen und zu steuern:

  • Texture: Das ist das Bild, das für jeden einzelnen Partikel verwendet wird (oft ein kleiner Kreis, Stern, Punkt, etc.).
  • ProcessMaterial: Eine Ressource, die definiert, wie sich die Partikel über ihre Lebenszeit verhalten (Geschwindigkeit, Richtung, Schwerkraft, Farbe, Größe etc.).

Darauf achten: CPUParticles2D vs. GPUParticles2D

  • CPUParticles2D: Auf dem Prozessor berechnet. Gut für wenige Partikel oder individuelle Kontrolle. Langsam bei vielen. Wird jedoch seitend Godot nicht mehr aktiv weiterentwickelt.
  • GPUParticles2D: Auf der Grafikkarte berechnet. Sehr schnell für viele Partikel (Zehntausende). Weniger direkte Code-Kontrolle (oft Shader nötig).

Empfehlung: Nimm GPUParticles2D für die meisten Effekte; CPUParticles2D nur für spezielle Fälle mit wenigen Partikeln und volle Partikelkontrolle per Code notwendig.


Schritt 1: Partikel-Effekt zur Münze hinzufügen

Diese Partikel sollen von der Münze ausgehen, wenn sie eingesammelt wird. Der CPUParticles2D Node gehört also in die Coin-Scene.

  1. Öffne deine Szene coin.tscn.
  2. Wähle im Scene Dock den Root-Node Coin (Area2D) aus.
  3. Füge als Kind einen GPUParticles2D Node hinzu. Klicke auf den „+“ Button (Child Node hinzufügen), suche GPUParticles2D und klicke „Create“. Benenne ihn zum Beispiel in CollectParticles um.

Schritt 2: Den Partikeleffekt konfigurieren

Nachdem wir den GPUParticles2D Node hinzugefügt haben, müssen wir ihn im Inspector konfigurieren, um das gewünschte Verhalten zu erzielen.

  1. Wähle den CollectParticles Node im Scene Dock aus und gehe in den Inspector. Hier konfigurieren wir das System:

Schritt 3: Partikel im Script auslösen

Jetzt verbinden wir den Partikeleffekt mit dem Einsammeln der Münze in unserem coin.gd Script.

  1. Öffne das Skript coin.gd.
  2. Füge eine @onready Variable für den Partikel-Node hinzu, damit wir ihn im Script referenzieren können:

Gehe zur Funktion _on_Coin_body_entered(body). Innerhalb des if body.is_in_group("players"): Blocks, füge den Code ein, um die Partikel zu starten, nachdem der Sound abgespielt wurde und bevor die Münze entfernt wird.

Dein _on_Coin_body_entered sollte nun so aussehen:

Darauf achten: emitting = true für One Shot Partikel

Da wir die One Shot-Eigenschaft im ProcessMaterial des GPUParticles2D aktiviert haben, wird der Partikeleffekt nur einmal als „Burst“ ausgesendet, wenn wir emitting von false auf true setzen. Die Partikel werden dann ihre Lifetime lang existieren und verschwinden. Dies ist ideal für einmalige Effekte wie das Einsammeln unserer Münze.

Darauf achten: hide() versteckt auch die Partikel

Damit wir die Partikel auch sehen können, dürfen wir nicht mehr einfach nur den Node verstecken (vorher: hide()), sondern wie verstecken lediglich die Animation. Der Node wird erst zerstört, wenn der Soundeffekt fertig abgespielt ist (await collect_sound.finished). Partikel, die dann noch existieren, werden ebenfalls ausgeblendet.


Schritt 4: Speichern und Ausführen

  1. Speichere dein coin.gd Skript (Strg + S) und die Szene coin.tscn (Strg + S).
  2. Führe das Projekt aus (F5).

Ergebnis:

Wenn du nun Münzen einsammelst, sollten dort Partikel erscheinen, die den Effekt des Einsammelns visuell verstärken!


Dein nächster Schritt

Fantastisch! Du hast gelernt, wie man Partikeleffekte in Godot erstellt und steuert. Wir haben nun ein noch dynamischeres Spielerlebnis geschaffen. Du hast gelernt:

  • Die Grundlagen des GPUParticles2D Nodes.
  • Wie man eine ParticleProcessMaterial konfiguriert, um das Verhalten der Partikel zu steuern (Geschwindigkeit, Größe, Lebenszeit, etc.).
  • Wie man Partikel-Texturen zuweist.
  • Wie man One Shot-Partikel per Script auslöst.

Als Nächstes werden wir unserem Spiel ein grundlegendes User Interface (UI) hinzufügen, um den Fortschritt unserer Spieler:innen anzuzeigen. Wir erstellen ein HUD (Heads-Up Display), das die Anzahl der gesammelten Münzen darstellt. Das führt uns in die Welt der Control Nodes und wie wir Text und Zahlen auf dem Bildschirm aktualisieren können.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.