Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Computer graphics & visualization Procedural Terrain Generation Hager Simon Proseminar Gamedesign.

Ähnliche Präsentationen


Präsentation zum Thema: "Computer graphics & visualization Procedural Terrain Generation Hager Simon Proseminar Gamedesign."—  Präsentation transkript:

1 computer graphics & visualization Procedural Terrain Generation Hager Simon Proseminar Gamedesign

2 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Gliederung Einführung Einführung Erstellen des Terrains Erstellen des Terrains – 1/f noise – Voronoi Diagramme – Kombination Erosion Erosion – Hydraulic erosion – Thermal erosion – Kombination Abschluss Abschluss

3 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Einführung Motivation: Motivation: – Automatisiertes Erstellen von Landschaften für ein Strategiespiel Zu beachten: Zu beachten: – Performanz – Aussehen – Spielbarkeit Unüberwindbare Grenzen Unüberwindbare Grenzen Großteil der Karte erreichbar Großteil der Karte erreichbar Genug Bauplatz Genug Bauplatz

4 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Einführung

5 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Einführung Leicht Graphisch darzustellen Leicht Graphisch darzustellen Leicht zu manipulieren Leicht zu manipulieren Einfach zu Implementieren Einfach zu Implementieren Repräsentation des Terrains durch Heightmap Repräsentation des Terrains durch Heightmap

6 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Einführung Definition von Aussehen und Spielbarkeit durch Zahlen: Definition von Aussehen und Spielbarkeit durch Zahlen: Erosion soll liefern: Erosion soll liefern: Große ebene Flächen Große ebene Flächen – Mittelwert der Steigung der Map möglichst klein Steile Hänge Steile Hänge – Standardabweichung der Steigung möglichst groß

7 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Einführung Festlegen einer 2ten Heightmap s, in der die Steigung jedes Punktes gespeichert wird: Festlegen einer 2ten Heightmap s, in der die Steigung jedes Punktes gespeichert wird:

8 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Einführung Berechnung des Arithmetischen Mittels: Berechnung des Arithmetischen Mittels: Berechnung der Standardabweichung: Berechnung der Standardabweichung: Erosion: Erosion:

9 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Einführung Spielbarkeits-Faktor durch 2 Werte: Spielbarkeits-Faktor durch 2 Werte: Erreichbarkeit (durch Einheiten) Erreichbarkeit (durch Einheiten) Bauplatz Bauplatz Festlegen einer Erreichbarkeitsmap A mit Festlegen einer Erreichbarkeitsmap A mit – A = 1 wenn s < T – A = 0 wenn s T

10 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Einführung Entfernen aller Bereiche die eine n x n große Einheit nicht betreten kann Entfernen aller Bereiche die eine n x n große Einheit nicht betreten kann Den größten zusammenhängenden Teil auswählen Den größten zusammenhängenden Teil auswählen

11 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Einführung Erreichbarkeits Faktor u = Verhältnis der Summe aller 1en zur Gesamtmap Erreichbarkeits Faktor u = Verhältnis der Summe aller 1en zur Gesamtmap Prinzipiell analog für Gebäude, mit kleinerem T und größerem n die building score β errechnen Prinzipiell analog für Gebäude, mit kleinerem T und größerem n die building score β errechnen Gesamtgüte der Karte ist damit dann: Gesamtgüte der Karte ist damit dann: ω = ε x β x u

12 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Spectral synthesis Generieren mehrerer Ebenen durch: Generieren mehrerer Ebenen durch: Bestimmten Punkten in festem Abstand wird Zufallswert zugewiesen Bestimmten Punkten in festem Abstand wird Zufallswert zugewiesen Restliche Punkte werden Interpoliert Restliche Punkte werden Interpoliert Mehrmals wiederholen, jeweils mit doppelter Auflösung und halber maximaler Höhe, bis gewünschte Auflösung der heightmap erreicht ist Mehrmals wiederholen, jeweils mit doppelter Auflösung und halber maximaler Höhe, bis gewünschte Auflösung der heightmap erreicht ist Übereinanderlegen aller Ebenen Übereinanderlegen aller Ebenen

13 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Spectral synthesis

14 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Spectral synthesis ε = 0.417 Relativ langsam Relativ langsam

15 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Midpoint displacement Zufällige Werte für die vier Eckpunkte Zufällige Werte für die vier Eckpunkte Mittelpunkt kriegt den Wert des Mittels der Eckpunkte + zufälligen Offset Mittelpunkt kriegt den Wert des Mittels der Eckpunkte + zufälligen Offset Rekursiv ausführen bis jeder Punkt der Heightmap einen Wert enthält Rekursiv ausführen bis jeder Punkt der Heightmap einen Wert enthält Offset bei jeder Rekursion verkleinern Offset bei jeder Rekursion verkleinern

16 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Midpoint displacement ε = 0.478

17 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de 1/f noise Gleichmäßige, Homogene Verteilung Gleichmäßige, Homogene Verteilung Unrealistisch Unrealistisch Spielerisch nicht toll, da keine großen (längere) Steigungen zum Beschränken der Karte erzeugt werden Spielerisch nicht toll, da keine großen (längere) Steigungen zum Beschränken der Karte erzeugt werden

18 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Voronoi Diagramme Zufällige Feature points setzen Zufällige Feature points setzen Die Senkrechte in der Mitte zwischen der Verbindungsgeraden zweier Punkte ergibt eine Grenze: Die Senkrechte in der Mitte zwischen der Verbindungsgeraden zweier Punkte ergibt eine Grenze:

19 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Voronoi Diagramme Berechnen der heightmap durch: Berechnen der heightmap durch: h = c 1 d 1 + c 2 d 2 + c 3 d 3 +... + c n d n d 1 = Abstand zum nächsten feature point d 2 = Abstand zum 2. nähsten feature point c = beliebige Konstanten

20 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Voronoi Diagramme c2 = 1 c1 = -1 c3 = 1 c1 = 1 c2 = -1

21 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Voronoi Diagramme Mögliche Verbesserungen: Mögliche Verbesserungen: Vergrößern der Abstände zwischen den Hügeln: Vergrößern der Abstände zwischen den Hügeln: Entfernen von Zufälligen Hügeln: Entfernen von Zufälligen Hügeln:

22 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Voronoi Diagramme Fazit: Fazit: Zufälligeres Terrain Zufälligeres Terrain Steile Hänge Steile Hänge Aber: Aber: Völlig unspielbar Völlig unspielbar Unrealistisches Aussehen Unrealistisches Aussehen Niedriges ε = 0.347 Niedriges ε = 0.347

23 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Analyse 1/f noise ergibt schönes, aber langweiliges Terrain 1/f noise ergibt schönes, aber langweiliges Terrain Voronoi Diagramme zufälliger, aber unspielbar Voronoi Diagramme zufälliger, aber unspielbar Lösung: Kombination der beiden: Lösung: Kombination der beiden:

24 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Combination Aber: gerade Kanten der Vornoi-Diagramme noch vorhanden Aber: gerade Kanten der Vornoi-Diagramme noch vorhanden ε = 0.460 Kombination der beiden verschiedenen Algorithmen Kombination der beiden verschiedenen Algorithmen 1/3 Voronoi diagram 1/3 Voronoi diagram 2/3 Midpoint displacement 2/3 Midpoint displacement

25 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Perturbation Lösung: perturbation (Störungen) Lösung: perturbation (Störungen) Verschieben von Zellen mittels noise-Funktionen Verschieben von Zellen mittels noise-Funktionen Um maximal N/4 Zellen Um maximal N/4 Zellen

26 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Combination

27 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Erosion Simulation von natürlicher Erosion (Umwelteinflüsse) Simulation von natürlicher Erosion (Umwelteinflüsse) Verschönerung Verschönerung Spielbarkeit verbessern: Spielbarkeit verbessern: Abhänge steiler machen Abhänge steiler machen Ebenes Terrain stärker einebenen Ebenes Terrain stärker einebenen

28 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Hydraulic erosion Hinzufügen von Wasser, durch eine 2te Heightmap (w) Hinzufügen von Wasser, durch eine 2te Heightmap (w) Auflösen von Gestein: für jeden Punkt: h = h – w Auflösen von Gestein: für jeden Punkt: h = h – w Wasser fließen lassen: Wasser fließen lassen: Wasser verdunsten lassen: h = h + w Wasser verdunsten lassen: h = h + w Wiederholen Wiederholen

29 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Hydraulic erosion

30 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Thermal erosion 1.Festlegen eines Grenzwertes T 2.Ist der Höhenunterschied d zwischen zwei Punkten < T passiert nichts, ansonsten wird vom höheren Punkt solange Gestein abgegeben bis d = T Simuliert Wegbrechen von Gestein von Hängen Simuliert Wegbrechen von Gestein von Hängen

31 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Thermal erosion

32 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Analyse Thermal erosion wäre schnell, produziert aber keine spielbaren Ergebnisse Thermal erosion wäre schnell, produziert aber keine spielbaren Ergebnisse Hydraulic erosion ebnet Terrain schön flach ein und lässt die Abhänge steil, ist aber zu langsam Hydraulic erosion ebnet Terrain schön flach ein und lässt die Abhänge steil, ist aber zu langsam Idee: Die Vorteile der hydraulic erosion in den thermal erosion Algorithmus einbauen Idee: Die Vorteile der hydraulic erosion in den thermal erosion Algorithmus einbauen Lösung: Einfaches Umdrehen des thermal erosion Algorithmus, statt Einebnen wenn d > T, jetzt: Einebnen wenn d T Lösung: Einfaches Umdrehen des thermal erosion Algorithmus, statt Einebnen wenn d > T, jetzt: Einebnen wenn d T

33 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Analyse

34 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Analyse

35 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Abschluss Vollständig automatisches Generieren von Terrain möglich, aber: Vollständig automatisches Generieren von Terrain möglich, aber: Spielbarkeit nicht garantierbar Spielbarkeit nicht garantierbar Balanceprobleme Balanceprobleme Von Hand erstelle Landschaften schöner als zufällig generierte Von Hand erstelle Landschaften schöner als zufällig generierte Darum kaum Spiele mit generierten (Außen-)Levels Darum kaum Spiele mit generierten (Außen-)Levels

36 computer graphics & visualization Procedural Terrain Generation Hager Simon, hager@in.tum.de Abschluss Fragen ?


Herunterladen ppt "Computer graphics & visualization Procedural Terrain Generation Hager Simon Proseminar Gamedesign."

Ähnliche Präsentationen


Google-Anzeigen