Advertisement
  1. Game Development
  2. Unity
Gamedevelopment

Einen Animierten Wasserfall erstellen

by
Difficulty:BeginnerLength:ShortLanguages:

German (Deutsch) translation by Andreas Geibert (you can also view the original English article)

Bist Du bereit gegen einen weiteren, gefährlichen Gegner in Deinem Spiel zu kämpfen? Einen Gegner? Ja – Er heißt "Performance"!

Wie wir in meinem letzten Artikel gesehen haben, zerstört schlechte Performance ein Spiel.

Performance ist vor allem auf Mobilgeräten und Web-Plattformen kritisch. Aber das ist nicht das einzige Problem: In der Vergangenheit waren PCs und Konsolen noch nicht so leistungsstark wie heute. Wenn wir dieses Wissen nutzen und etwas in der Vergangenheit wühlen, finden wir großartige und smarte Lösungen.

Heute lernst Du, wie Du einen wunderschönen Wasserfall in Dein Spiel integrierst, welcher die Performance nicht beeinträchtigt.

Wir verwenden dazu folgende Tools:

  • Unity 5 (Kostenlos verfügbar. Lade es jetzt herunter!)
  • Eine Textur wie diese:
The Waterfall Texture

Und... Fertig! Es ist Magie!

Der Wasserfall-Effekt

Sieh Dir dieses Video an:

Ist das nicht ein genialer Wasserfall? Ich liebe ihn. So einen Wasserfall möchte ich auch gerne in mein Spiel integrieren. Aber wie?

Wir können erst einmal damit starten, die Szenerie aus dem Video zu analysieren. Schau Dir das Video genau an: Welche Einzelteile kannst Du erkennen?

  • Den Fluß (oben)
  • Den Wasserfall (vertikal)
  • Den Fluß (unten)
  • Etwas Nebel, dort, wo der Wasserfall im Fluß mündet
  • Etwas Gischt, dort, wo der Wasserfall anfängt und in den Fluß mündet

Solch einen Wasserfall können wir in ein paar wenigen Schritten erreichen, ohne die Performance zu beeinträchtigen.

Aber zuerst möchte ich Dir etwas erklären ...

Warum können wir auf Mobilgeräten kein "echtes Wasser" nutzen?

In einem 3D Spiel wird Wasser von speziellen Shadern und anderen Komponenten, wie z.B. Partikelsystemen, simuliert, was einer sehr lange Zeit in der Renderingphase bedarf. Aus diesem Grund sind soclhe High-Level Lösungen nicht für Mobilgeräte geeignet.

Dieses Tutorial wurde geschrieben, um einen einfachen Weg zu zeigen, einen Wasserfall in ein Spiel zu integrieren, ohne die Framerate negativ zu beeinflussen.

1. Erstelle die erste Szene

  • Öffne Unity
  • Erstelle drei Flächen, wie Du im Beispiel-Bild sehen kannst
The waterfalls structure
  • Erstelle drei Materialien mit Mobile/Particle/Alpha Blended Shadern, die Du folgendermaßen benennst: Waterfall_bottom, Waterfall_main, Waterfall_top
  • Zu allen drei Materialien fügst Du die Textur "waterfall_texture" hinzu.

2. Der Code

  • Der Kern dieser Idee besteht darin, die Animierte UV Map zu verwenden.
  • Erstelle dazu ein neues Skript in C# und nenne es "ScrollUV".
  • Öffne das Skript und kopiere Dir folgenden Code:
  • Speichere die Datei und füge das Skript allen, vorher erstellten drei Flächen hinzu.

3. Die richtigen Einstellungen

Du musst das Tiling der Texturen so einstellen, dass es zu den Größen der einzelnen Flächen passt.

Adjust the tiling of the texture is an important step

Außerdem musst Du die Geschwindigkeit einstellen: Die vertikale Fläche sollte schnell laufen als die anderen beiden.

Der Finale Effekt sollte dann folgendermaßen aussehen:

The final effect

And ... Fertig! Drücke Play und schau Dir das Ergebnis an.

Bonus: Ein Partikel-System

Wenn Du noch ein paar Partikel hinzufügen möchtest, um der Effekt realistischer erscheinen zu lassen, folgen hier noch ein paar Ideen:

Anmerkung: Die Texturen wurden mit Paint erstellt. Sie sind wirklich sehr, sehr einfach gehalten, so dass jeder, auch ohne große Vorkenntnisse, diese erstellen kann.

Gischt

Erstelle ein Partikel-System und benenne es "PS_spray" und bewege is in der Szene an das Ende des Wasserfalls.

Stelle folgende Parameter ein:

Particle System for spary effect

Dupliziere das Partikel-System und bewege es an den Anfang des Wasserfalls.

Nebel

Erstelle ein Partikel-System und benenne es "PS_steam" und bewege is in der Szene an das Ende des Wasserfalls.

Stelle folgende Parameter ein:

Particle System for steam effect

Bonus 2: Lava

Dies ist ein einfacher Trick, um einen Lava-Wasserfall zu erstellen: Ändere einfach die Farbe der Textur, z.B. so:

The Lava Texture

Nun kannst Du noch die Anzahl an Partikel im Nebel-Partikel-System hochstellen und die Gischt-Partikel enfernen.

Fazit

Manchmal ist die schnellste auch die beste Lösung.

Dieses Vorgehen wurde z.b. schon in den 90er Jahren verwende, als PCs noch nicht so leistungsstark wie heute waren und Entwickle kreative Lösungen finden mussten, mit diesen Limitierungen umzugehen.

Der "Trick" einer animierten UV Mal eignet sich für viele Situationen.

Zum Beispiel kannst Du ihn nutzen, um einen Hintergrund zu animieren. Oder, wenn eine Textur mehrere Tiles hat (z.B. "Frames in einem Comic), kannst Du kurze, animierte Sequenzen damit erstellen. Das einzige Limit ist Deine Vorstellungskraft.

Warum ist es überhaupt wichtig, solche Techniken heute noch zu verstehen? Weil es immer, vor allem in der Spieleentwicklung, Limits gibt, die umgangen werden müssen. Das Lernen aus der Vergangenheit ist der beste Weg um für die Zukunft zu lernen.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.