Der Sewer

Top  Previous  Next

Der "Plug and Play"-Artikel dieses Monats wurde von einem von Graftons Code-Teilen inspiriert und befasst sich mit dem Zusammenfügen ("Nähen") von Terrain. Grafto hat zwei kleine Funktiönchen geschrieben, die, wenn es um Terrain-Sewing geht, hervorragende Arbeit leisten. Allerdings erfordern sie schon etwas Vorbereitung. Dieser Code-Schnipsel nimmt 9 Terrain-Entities jedweder horizontaler / vertikaler Skalierung mit irgendeiner Anzahl an Vertices, erstellt dann die Terrainteile zur Laufzeit und näht sie automatisch zusammen.

 

Die Terrain-Stücke, die mit diesem Demo geliefert wurden, wurden nicht gerade mit der Maßgabe zueinander zu passen, erstellt. Sehen Sie selbst:

 

aum84_sewer1

 

Nichtsdestotrotz leistet der Näh-Code ganze Arbeit indem er die benötigte Info über die Terrains bekommt und die Dinger zusammennäht:

 

aum84_sewer2

 

Indem Sie mit diesen Variablen am Anfang der Datei sewer.c herumspielen, können Sie die horizontale und / oder vertikale Skalierung des Terrains setzen.

 

var horizontal_scale = 5; // horizontal scale of the terrain entities, play with it

var vertical_scale = 2; // vertical scale of the terrain entities, play with it

 

aum84_sewer3

 

Diese Terrainstücke wurden sehr gut zusammengenäht, obwohl wir eine extrem große vertikale Skalierung gewählt haben. Sehen Sie selbst:

 

aum84_sewer4

 

Und so sieht das gesamte Level von oben aus:

 

aum84_sewer5

 

Ich wählte eine absolut zufällige Höhenmap für meine Terrains, denn ich wollte sehen, ob der Näh-Algorithmus auch unter extremen Bedingungen gut funktioniert. Eine sehr große Höhenmap sollten Sie in 9 Teile zerlegen, um 9 Terrainstücke zu erstellen - das Endresultat sieht dann natürlicher aus.

 

Wie immer ist der Code sehr gut kommentiert.