In diesem Tutorial lernst du, wie du einen Grafikeffekt (VFX) für Feuer erstellst und diesen den Fallen in deinem Level hinzufügst.
Bevor du anfängst
Stelle sicher, dass du verstehst, wie du ein Material erstellst. Das erfährst du im Modul Erstellen von Materialien und Material-Instanzen dieser Reihe.
Du wirst mit den folgenden Assets arbeiten:
BP_FireTrap-Blueprint
Niagara – Übersicht
Das Niagara VFX System ist das primäre Werkzeug, um Grafikeffekte (VFX) in der Unreal Engine zu erstellen. Das System bietet eine Vielzahl vorgefertigter Grafikeffekte, die du anpassen und direkt in deinem Level platzieren kannst. Du kannst auch deine eigenen Grafikeffekte erstellen, um vollständige Individualisierung zu erreichen.
Mehr über Niagara erfährst du in der Dokumentation Niagara – Übersicht.
Erstellen eines Niagara-Systems
Jetzt erstellst du dein erstes Niagara System, das einen regulären Emitter verwendet. Befolge diese Schritte, um ein neues Niagara System zu erstellen:
Gehe zum Inhaltsbrowser und navigiere zum Ordner Inhalt > AdventureGame > Artist. Klicke mit der rechten Maustaste auf den Ordner Artist und wähle Neuer Ordner aus. Nenne ihn VFX.
Klicke im neuen VFX-Ordner mit der rechten Maustaste auf eine beliebige Stelle im Asset-Bereich, gehe zu FX und wähle Niagara System.
Das Fenster Niagara System erstellen öffnet sich. Hier kannst du einen Emitter oder ein System als Basis für deinen visuellen Effekt auswählen.
Wenn du ein System auswählst, wird ein Niagara System erstellt, das einen oder mehrere Emitter verwendet. Wenn du einen Emitter wählst, wird ein Niagara System erstellt, das einen einzigen Emitter verwendet.
Wähle den Hängende Partikel-Emitter aus und klicke auf Erstellen.
Nenne dieses Asset NS_HangingParticles und öffne es.
Im Fenster NS_HangingParticles siehst du zwei Knoten: NS_HangingParticles und FloatingParticles.
Der NS_HangingParticles-Knoten ist der Systemknoten, der Optionen wie die Eigenschaften für das gesamte System sowie zwei Phasen namens System-Spawn und System-Update auflistet, in denen du Module hinzufügen kannst, die ausgeführt werden, wenn die Unreal Engine das System erstellt (Spawn) und solange das System aktiv ist (Update).
Der HangingParticulates-Knoten ist der Emitter. Dieser Knoten definiert, wie Partikel erzeugt und gerendert werden.
Wenn du irgendwo im Diagramm Systemübersicht, wo sich die Knoten befinden, mit der rechten Maustaste klickst, kannst du diesem System neue Emitter hinzufügen. Alternativ kannst du die Taste E als Shortcut verwenden, um einen neuen Emitter hinzuzufügen.
Das Hinzufügen eines neuen Emitters öffnet das Fenster Emitter zu deinem System hinzufügen. Dies ähnelt dem vorherigen Fenster, in dem du dein System erstellt hast, aber zeigt nur die verfügbaren Basis-Emitter an (da du das System bereits erstellt hast). Schließe für dieses Beispiel das Fenster, ohne einen weiteren Emitter hinzuzufügen.
Der HangingParticulates-Emitter verfügt über vordefinierte Module, die den Grafikeffekt erzeugen – ähnlich wie kleine Staubpartikel. In der oberen linken Ecke des Fensters siehst du deinen Effekt im Vorschau-Panel.
Jetzt erhöhst du die Spawn-Rate dieses Emitters, um die Anzahl der Partikel zu erhöhen, die gespawnt werden. Befolge diese Schritte:
Wähle den HangingParticulates-Knoten aus.
Navigiere im Details-Panel zur Kategorie Spawn-Rate.
Ändere das SpawnRate-Feld auf 250.
Du kannst auch das Modul Spawn Rate im Emitter auswählen, um im Details-Panel nur die zugehörigen Optionen zu sehen.
Im Vorschau-Panel siehst du jetzt viel mehr gerenderte Partikel.
Unten im Fenster siehst du eine Zeitleiste, die verwendet wird, um das System zu animieren. Du kannst auf die Pause- oder Play-Schaltfläche klicken, um die Vorschau anzuspielen.
Jetzt fügst du das System deinem Level hinzu, um es im Kontext zu sehen. Befolge diese Schritte:
Gehe im Inhaltsbrowser zum Ordner Adventure Game > Artist > VFX, in dem du das Asset NS_HangingParticles erstellt hast.
Ziehe das Asset NS_HangingParticles in die Welt. Du siehst jetzt, wie dein Grafikeffekt im Level simuliert wird.
Feuereffekt erstellen
In diesem Abschnitt erstellst du einen Feuereffekt für deine Fallen.
Material erstellen
Um einen animierten Feuereffekt zu erstellen, verwendest du eine Textur, die eine Reihe von Standbildern enthält, die bei der Anzeige in einer Sequenz eine Flamme animieren. Diese Art von Textur wird SubUV-Textur genannt und kann über das Material oder den Niagara-Emitter animiert werden.
Zuerst erstellst du ein Material mit der bereitgestellten Feuertextur. Befolge diese Schritte:
Gehe zum Inhaltsbrowser und navigiere zum Ordner AdventureGame > Artist > Materialien.
Klicke mit der rechten Maustaste irgendwo und erstelle ein Material.
Nenne das Asset M_Fire_SubUV_Simple und öffne es.
Um das Material einzurichten, führe die folgenden Schritte durch:
Im Details-Panel, unter der Material-Kategorie:
Ändere den Überblendmodus auf Durchscheinend.
Ändere das Schattierungsmodell zu Unbeleuchtet.
Klicke mit der rechten Maustaste im Materialeditor und erstelle einen ParticleSubUV-Knoten.
Wähle den Particle SubUV-Knoten und ändere im Details-Panel die Textur zur T_Fire_SubUV-Datei.
Ziehe vom Particle-SubUV-Knoten den RGB-Pin und füge einen Multiply-Knoten hinzu (unter der Math-Kategorie).
Ziehe den Output-Pin des Multiply-Knotens und verbinde ihn mit dem Emissive Color-Input des M_Fire_SubUV_Simple-Knotens.
Klicke mit der rechten Maustaste auf einen leeren Bereich unter dem Particle SubUV-Knoten und füge einen Particle Color-Knoten hinzu (unter der Particles-Kategorie).
Ziehe seinen RGB-Output Pin und verbinde ihn mit dem B-Input Pin des Multiply-Knotens.
Ziehe den R-Output-Pin des Particle SubUV-Knotens und füge einen neuen Multiply-Knoten hinzu.
Ziehe den A-Output-Pin des Particle Color-Knotens und verbinde ihn mit dem B-Input-Pin des neuen Multiply-Knotens.
Ziehe den Output-Pin des neuen Multiply-Knotens und füge einen Clamp-Knoten hinzu.
Ziehe den Output-Pin vom Clamp-Knoten und füge einen Depth Fade-Knoten hinzu.
Ändere auf dem Depth Fade-Knoten das Feld Fade Distance auf 60.
Verbinde den Output-Pin des Depth Fade-Knotens mit dem Opacity-Input-Pin des M_Fire_SubUV_Test-Knotens.
Die Vorschau des Materials sollte nun so ähnlich aussehen:
Dieses Material legt seine emissive Farbe fest, um der Form der ParticleSubUV-Textur zu entsprechen, die durch die Partikelfarbe getönt (eingefärbt) wird, die aus dem Niagara-System stammt. Die Opazität wird über den Alpha-Wert (Transparenz) der Partikelfarbe festgelegt und wird zwischen 0 und 1 normalisiert. Zu guter Letzt nutzen wir einen DepthFade-Knoten, um alle Partikel auszublenden, die sich mit naher Geometrie im Level überlappen (Clipping).
Das Niagara System erstellen
Als Nächstes erstellst du das Niagara System, das den Grafikeffekt generiert. Für den Effekt verwendest du einen leichtgewichtigen (zustandslosen) Emitter. Diese Emitter sind für eine bessere Leistung im Vergleich zu herkömmlichen (zustandsbehafteten) Emittern optimiert, sind jedoch auf einen bestimmten Satz von Modulen begrenzt.
Mehr Informationen zu Leichtgewichtigen Emittern findest du in der Dokumentation Übersicht über Leichtgewichtige Emitter in Niagara.
Befolge diese Schritte, um ein neues Niagara System zu erstellen:
Gehe zum Inhaltsbrowser und navigiere zum Ordner AdventureGame > Artist > VFX .
Klicke mit der rechten Maustaste irgendwo, gehe auf FX und wähle Niagara System.
Wähle in der Liste Minimal Leichtgewichtig aus und klicke auf Erstellen. Beachte, dass du auch das Suchfeld oben im Fenster nutzen kannst, um das System zu finden.
Nenne dieses Asset NS_LW_Fire und öffne es.
Als Nächstes richtest du die Module des Emitters ein. Befolge diese Schritte:
Wähle den Minimal-Emitter-Knoten aus.
Ändere im Details-Panel unter der Emitter-Zustand-Kategorie die Schleifendauer auf 5,0 s.
Unter der Spawn Burst Instantaneous-Kategorie:
Klicke neben der Überschrift Spawn Burst Instantaneous auf die Typ-Dropdown-Liste und ändereden Eintrag auf Rate. Dies ändert das Spawn Burst Instantaneous-Modul in ein Spawn Rate-Modul.
Ändere das Feld Spawn Rate in Bindung.
Gehe ins Benutzerparameter-Panel unten links im Fenster. Klicke auf die Plus-Schaltfläche neben der Kategorie Benutzerparameter, um einen neuen Parameter hinzuzufügen.
Wähle Neu erstellen > Gewöhnlich > float aus.
Nenne diesen Parameter FireSpawnRate.
Ändere den Wert des FireSpawnRate-Parameters auf 20.
Wähle den Minimal-Emitter aus und ändere im Details-Panel den Wert des Feldes Spawn Rate über die Dropdown-Liste zu FireSpawnRate.
Wechsle bei gewähltem Emitter im Details-Panel zur Kategorie Partikel initialisieren und ändere das Feld Lebenszeit auf 5,0 s.
Drücke auf dem Emitter die Plus-Schaltfläche neben der Simulieren-Bühne und füge ein Shape Location-Modul hinzu.
Wenn du ein neues Modul hinzufügst, wird es standardmäßig ausgewählt und das Details-Panel zeigt nur die Eigenschaften dieses Moduls an. Du kannst immer entweder den Emitter auswählen, um die Eigenschaften jedes Moduls anzuzeigen, oder ein einzelnes Modul, um nur dessen Eigenschaften anzuzeigen.
Wähle das neue Modul aus und setze im Details-Panel den Formgrundkörper auf Ebene. Dadurch werden die Feuerpartikel auf einer flachen Ebene verteilt. Du kannst die Ebenengröße bei Bedarf verringern, aber für dieses Tutorial kannst du sie bei 100 mal 100 belassen.
Füge auf dem Emitter unter der Simulieren-Bühne ein Geschwindigkeit hinzufügen-Modul hinzu.
Wähle das Modul aus, und im Details-Panel:
Setze Geschwindigkeit auf Nicht einheitlicher Bereich.
Lege den Min Z-Wert des Geschwindigkeit-Felds auf 5 und Max Z auf 10 fest. Damit werden die Partikel langsam nach oben bewegt.
Füge auf dem Emitter unter Simulieren ein Scale Color-Modul hinzu.
Wähle das Modul aus und lege im Details-Panel den Maßstabstyp auf Farbbereich fest.
Klicke auf das Min-Farbfeld und ändere Hex sRGB auf FFA91300.
Klicke auf das Max-Farbfeld und ändere Hex sRGB auf FF4747FF.
Dadurch wird die Farbe jedes Partikels entsprechend angepasst.
Füge auf dem Emitter unter Simulieren ein Scale Sprite Size-Modul hinzu und lege den Bereich auf 5 und 8 fest. Dadurch wird die Partikelgröße so geändert, dass sie erheblich größer wird.
Füge auf dem Emitter unter Simulieren ein Sub UV Animation-Modul hinzu.
Wähle auf dem Emitter in der Render-Kategorie das Sprite Renderer-Modul aus.
Ändere im Details-Panel die folgenden Felder:
Ändere das Material auf das M_Fire_SubUV_Simple -Material, das du erstellt hast.
Ändere die Ausrichtung auf Geschwindigkeitsausgerichtet.
Ändere den Zuwendungsmodus auf Kamera zuwenden.
Ändere in der Sub UV-Kategorie die Sub Image Size auf 6 und 6.
Du hast eine Sub Image Size von 6 x 6 eingegeben, weil die T_Fire_SubUV-Textur 6 Zeilen und 6 Spalten hat.
Du siehst nun die Vorschau deines neuen Feuer-Effekts!
Feuer-Effekt den Feuerfallen hinzufügen
Zu guter Letzt musst du den Feuer-Effekt zum Fallen-Blueprint hinzufügen, damit der Feuer-Effekt für jede Falle abgespielt wird, solange die Falle aktiv ist. Befolge diese Schritte:
Gehe zum Inhaltsbrowser und navigiere zum Ordner AdventureGame > Designer > Fallen.
Öffne den BP_TrapFire-Blueprint.
Wähle im Komponenten-Panel die Basis-Komponente, klicke auf Hinzufügen und füge eine Niagara Partikel Systemkomponente hinzu.
Indem du zuerst die Basis-Komponente auswählst, fügst du die Niagara-Komponente als Child der Basis-Komponente hinzu. Dies ist ein wichtiger Schritt, damit der Effekt mit der Größe der Basis-Komponente skaliert.
Wähle die Niagara-Komponente aus und ändere im Details-Panel unter der Niagara-Sektion das Niagara System-Asset in das von dir erstellte NS_LW_Fire.
Öffne im Blueprint-Editor den EventGraph-Tab. So sieht es jetzt aus:
Vor dem Stopp-Knoten in der oberen Zeile fügst du zwei neue Knoten hinzu, um den Feuer-Effekt zu deaktivieren.
Entferne die Verbindung zwischen den Stopp- und Material festlegen-Knoten, indem du ALT gedrückt hältst und mit der linken Maustaste auf die Verbindung zwischen ihnen klickst.
Sorge für etwas Platz zwischen den Knoten.
Klicke mit der rechten Maustaste in der Mitte und füge einen Deactivate Niagara-Knoten hinzu. Beachte, dass der Knoten nach der Niagara-Komponente benannt ist, die du zuvor hinzugefügt hast. Zum Beispiel Deaktivieren [Komponente], sodass der Name von dem hier angezeigten Namen abweichen kann.
Verbinde den Material festlegen-Knoten mit dem Deactivate Niagara-Knoten.
Verbinde den Deactivate Niagara-Knoten mit dem Stop Audio-Knoten.
Jetzt wiederholst du diese Schritte für die Zeile unter dieser, in der Material festlegen und Audio abspielen stattfinden.
Folge den gleichen Schritten wie zuvor und füge stattdessen einen Activate Niagara-Knoten hinzu.
Kompiliere und speichere deinen Blueprint.
Dein EventGraph sollte jetzt so aussehen:
Als Nächstes fügst du die Möglichkeit hinzu, den FireSpawnRate Niagara Benutzerparameter zu modifizieren, den du zuvor aus dem Fallen-Blueprint erstellt hast. In diesem Beispiel modifizierst du die Feuer-Spawn-Rate, aber diese Technik kann verwendet werden, um eine beliebige Anzahl von Benutzerparametern in deinem Niagara System zu ändern.
Um den Benutzerparameter zu ändern, führe die folgenden Schritte aus:
Wechsle im Blueprint-Editor zum Tab Konstruktions-Script.
Erstelle eine neue Float-Variable und nenne sie FireSpawnRate.
Wähle die neue Variable aus und führe Folgendes aus:
Ändere deine Kategorie auf Einrichtung. Dies kategorisiert FireSpawnRate mit den anderen Variablen unter der Einrichtung-Kategorie.
Ändere den Standardwert auf 10. Das sorgt dafür, dass jede neue Instanz der Feuerfalle im Level mit sichtbaren Partikeln beginnt.
Aktiviere Instanz bearbeitbar, um diese Variable öffentlich zu machen.
Ziehe im Diagramm den Exec-Pin des Knotens Parent: Konstruktions-Script und füge einen Set Niagara Variable (Float)-Knoten hinzu. An diesem Knoten:
Gib FireSpawnRate in das Textfeld In Variable Name ein. Dies bezieht sich auf den Parameter, den du im Niagara System erstellt hast. Stelle sicher, dass du den Namen genau so schreibst, wie er in deinem Niagara System erscheint.
Ziehe den In Value-Pin und füge einen Get FireSpawnRate-Knoten hinzu. Dies bezieht sich auf die Variable, die du in diesem Blueprint erstellt hast.
Ziehe den Target-Pin und füge einen Get-Niagara-Knoten hinzu, der auf die Niagara-Komponente verweist, die du dem Blueprint hinzugefügt hast.
Speichere und kompiliere den Blueprint. Dein Konstruktions-Script-Diagramm sollte nun so aussehen:
Es ist Zeit, dein Spiel zu spielen und dir den Feuer-Effekt selbst anzusehen! Da du den Feuer-Effekt zum Blueprint-Asset der Falle hinzugefügt hast, musst du keinen Grafikeffekt zu deinem Level hinzufügen oder die Fallen manuell ändern. Die Fallen erhalten automatisch die Feuer-Effekte.
Feuerfalle-Basis-Mesh ausblenden
Führe die folgenden Schritte aus, um das quadratische Mesh der Feuerfalle auszublenden, sodass du nur den Feuer-Effekt im Spiel siehst:
Kehre zum
BP_TrapFire-Blueprint zurück.Wähle im Komponenten-Panel TrapBase aus.
Gehe im Details-Panel gehe zur Rendern-Kategorie und aktiviere Im Spiel ausgeblendet.
Kompiliere und speichere den Blueprint.
Wenn du jetzt das Spiel spielst, siehst du nur den Feuer-Effekt auf dem Level-Boden.
Feuer-Spawn-Rate anpassen
Du kannst die vorhin erstellte FireSpawnRate-Variable nutzen, um die Anzahl der Feuerpartikel zu ändern, die jede einzelne Falle produziert.
Um die Spawn-Rate des Feuers zu ändern, befolge diese Schritte:
Verwende im Outliner-Panel das Suchfeld, um nach BP_FireTrap zu suchen. Alternativ kannst du den Ordner Room2 aufklappen, um alle Feuerfallen in Raum 2 zu sehen.
Wähle alle BP_FireTrap-Actors aus.
Ändere im Details-Panel unter der Kategorie Einrichtung das Feld Feuer-Spawn-Rate auf 20.
Du wirst feststellen, wie sich die Anzahl der gespawnten Feuerpartikel basierend auf der eingegebenen Zahl ändert. Du kannst verschiedene Werte ausprobieren, bis du die richtige Menge für dein Spiel gefunden hast!
Experimentiere weiter mit deinem Effekt und finde heraus, was du erstellen kannst! Weitere Informationen findest du unter Creating Visual Effects.
Beispielprojekt
Unten findest du einen Link zum Herunterladen des fertigen Beispielprojekts, das du mithilfe dieser Tutorial-Reihe erstellen kannst. Du kannst dieses Beispielprojekt verwenden, um zu sehen, wie dein fertiges Projekt aussehen könnte, oder als Referenz, um zu sehen, wie wir das Projekt gebaut und gestaltet haben.
Als Nächstes
Glückwunsch zum Abschluss der Artist-Tutorial-Reihe! Du hast gelernt, mit Materialien, Nachbearbeitungseffekten, Beleuchtung, Audio und den Grafikeffekten von Niagara zu arbeiten, um einen künstlerischen Durchlauf in deinem Level durchzuführen.
Solltest du daran interessiert sein, dein Projekt als eigenständiges Programm zum Testen und Teilen zu paketieren, sieh dir die folgende Dokumentation an: