Wie erstellt man eigentlich Schnee in Unity? Dieser Beitrag bringt dich Schritt für Schritt dorthin, dass es in deinem Spiel schneit.
Schnee in Unity erstellen
Erstelle zu Beginn den Visual Effect Graph, um das Visual Effect Graph Asset zu erschaffen.
Dies funktioniert wie folgt: Rechte Maustaste–>Create–>Visual Effects –>Visual Effect Graph
Öffne mit einem Doppelklick das Bearbeitungsmenü:
Ändere den Simulationsraum, von Local zu World, da es nicht nur bei einem Objekt schneien soll, sondern in der Spielwelt (durchaus gibt es Merkwürdigkeiten, bei denen einzelne Menschen beim Spazierengehen eingeschneit werden, dies lassen wir jedoch erstmal im Raum der fiktiven Möglichkeiten stehen)
Als nächstes steigere die Spawnrate. Mit einer Schneeflocke lässt sich beim Wetter nicht viel anfangen. Setze die konstante Spawn Rate auf 4000.
Setze die Kapazität auf 100.000.
Damit sagst du dem System, das 100.000 Partikel gleichzeitig existieren dürfen.
Füge die Angular Velocity from Curve hinzu. Angular Velocity steht für die Winkelgeschwindigkeit, in welcher sich die Partikel um die eigene Achse bewegen. Sie wird in Grad pro Sekunde angegeben.
Dabei stellst du dir die Kurve ein, wie du sie benötigst.
Wähle mit der rechten Maustaste Edit Key:
Setze den Wert auf 300.
Damit veränderst du die Kurve für die Geschwindigkeit der Partikel so, wie du sie für den Schnee benötigst. Bestätige mit Enter.
Die Kurve sieht danach folgendermaßen aus:
Setze als nächstes die Lebenszeit der Partikel nach oben. Gebe für A den Wert 10 und für B den Wert 15 ein. Somit bleiben die Schneeflocken länger bestehen.
Erstelle eine Position Property mit dem Titel „Camera.“ Dabei handelt es sich um Positionseinstellungen, welche Unity sagen, wo sich in der Spielwelt dein Asset befindet.
Benenne es um (rechte Maustaste: Rename und gewünschten Namen eingeben).
Aktiviere im Untermenü „Exposed“. Damit belichtest du deine Partikel.
Der Wert ist momentan noch auf Lokal gesetzt. Deswegen ändere ihn auf „World“.
Ziehe die Camera in dein Diagramm. Verbinde das Positionsbox-Center mit Camera im Diagramm.
Verändere jetzt die Größe (Size) auf die Größe, für die du den Schnee benötigst. Beispielsweise 5,5,5.
Damit vergrößerst du deine Box, in welcher sich der Schnee bewegt.
Momentan sieht das ganze so aus:
Füge jetzt eine Set Scale-Komponente hinzu. Damit ermöglichst du zufällige Größenveränderungen für jeden Partikel.
Verändere die Werte oben von 0 auf: 0.5;0.5;0.5 und
unten auf 0.15;0.15 und 0.15
Anschließend sieht es schon etwas anders aus. Bis jetzt hast du im Initialize Particle-Fenster gearbeitet. Im kommenden Schritt ändert sich das.
Füge jetzt Schwerkraft zu deinen Schneeflocken hinzu. Dafür benötigst du das Update Particle-Fenster. Setze sie auf 0.0, -0.75 und 0.0
Jetzt müssten die Partikel nach unten fallen.
Damit der Schnee etwas durcheinanderwirbelt, wenn er fällt, füge Turbulenzen hinzu.
Dafür benötigst du in Unity Turbulence Force.
Noch mehr umhergewirbelt wird der Schnee, wenn du Tile Warp Positions hinzufügst. Verbinde den Center der Tile / Warp Positions ebenfalls mit der Kamera. Vergiss nicht, die Größe anzupassen, wie du dies oben bereits bei der Boxgröße gemacht hast. Die Tile / Warp Positions bauen kleine Strudel ein, welche den Schnee noch mehr umherwirbeln.
Setze den Uv Mode auf Flipbook (Daumenkino). Dadurch rieselt der Schnee langsamer hinab.
Setze den Blend Mode auf Additive. Dies sorgt dafür, dass die Pixel deines angegeben Materials dem Hintergrund hinzugefügt werden. Der Alphamodus könnte flimmern.
Passe die Flip Book Size an deine Textur an. Dadurch kann der Schnee beispielsweise heller erscheinen.
Füge die Schneeflockentextur hinzu, die du möchtest. Dann füge einen Set Tex Index hinzu.
Erstelle eine Random Number Node und setze das Maximal auf 4. Dieser erstellt einen zufallsgenerierten Zahlenwert, der zwischen dem vordefinierten Minimal- und Maximalwert liegt. Verbinde dies mit dem Set Tex Index.
Entferne anschließend Set over Lifetime.
Am Ende sieht es so aus:
Der Schnee wird als „Child“ der Main Camera in die Szene gebracht.
Makiere im Hierarchiefenster den Schnee.
Füge über Add Component einen VFX Property Binder im Inspectorfenster hinzu.
Property Binder ermöglichen das Anhängen einer Visual Effect-Komponente an ein GameObject: Dadurch können Verbindungen zwischen Szenen- oder Gameplay-Werten und exponierten Eigenschaften für diese Visual Effect-Instanz hergestellt werden.
Wähle bei dem +Zeichen Transform–>Position aus.
Ändere den Namen in Camera_position und ziehe die Main Camera aus der Szene bei Target hinein.
Fertig und viel Spaß mit deinem Schnee im Spiel!
Originally posted 2020-01-30 14:43:00.