Projekt Micarpet Projektbericht - artecLab - Universität Bremen
Projekt Micarpet Projektbericht - artecLab - Universität Bremen
Projekt Micarpet Projektbericht - artecLab - Universität Bremen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Projekt</strong> MiCarpet <strong>Projekt</strong>bericht<br />
12.1.4 Terrain-Visualisierung<br />
Entwurf<br />
Mit dem Entwurf des <strong>Projekt</strong>themas und der Anforderungsdefinition war klar, dass das Spielszenario eine<br />
offene Außenszene bedingte (Inseln im Meer). Daraus folgte, dass die Grafikengine zwingend eine gute<br />
Visualisierung für die darzustellende Landschaft brauchte, um eine möglichst realistische Darstellung<br />
der Landschaft zu bieten. Gleichzeitig sollte es der Modellierungsgruppe möglich sein, eigenständig und<br />
schnell das Terrain zu entwerfen und zu bearbeiten.<br />
Generell gibt es für die Generierung und Darstellung von Terrain zwei grundlegende Möglichkeiten:<br />
• Darstellung über eine Heightmap (siehe Abbildung 12.2). Hier wird als Basis für das Terrain ein<br />
Grauwertbild (oder mehrere) genommen und die Werte des Bildes als Höheninformationen interpretiert.<br />
Aus diesen Höhenwerten wird dann zur Laufzeit ein normales Dreiecksmesh erzeugt, das<br />
einfach als normales 3D-Objekt gerendert wird. Dieser Ansatz hat den großen Vorteil, konzeptuell<br />
simpel zu sein (es ist lediglich ein Gitter von Punkten zu erstellen und diese Punkte entsprechend<br />
den Werten in der Heightmap vertikal zu verschieben). Weiterhin lassen sich die Heightmaps einfach<br />
generieren (etwa mit einem Fraktal-Generator) und benötigen wenig Speicher.<br />
Nachteile dieses Verfahrens sind allerdings, dass das Terrain immer auf eine einfache Struktur beschränkt<br />
bleibt, d.h. die Steigung des Terrains ist limitiert, weiterhin sind keine Überhänge oder<br />
ähnliches möglich. Gleichermaßen sind natürlich nicht so einfach unregelmässig geformte Landschaften<br />
oder ähnliches möglich. Weiterhin ergibt sich gestalterisch das Problem, dass die Integration<br />
mit Standard-Programmen zur Modellierung schwierig ist: da die Heightmap natürlich von<br />
der übrigen Geometrie (Bäume, ..) völlig getrennt ist, fällt es bei der Gestaltung der Gesamtszene<br />
schwer, Objekte in der Landschaft zu positionieren, da die Landschaftsgeometrie nur in der<br />
fertigen Anwendung, nicht aber im Modellierungsprogramm sichtbar ist.<br />
• Darstellung als normales 3D-Modell; dies ist der Ansatz, den wir schließlich gewählt haben. Der<br />
Vorteil ist hier, dass die Modellierer hier völlige Freiheit bei der Gestaltung des Terrains besitzen<br />
- so sind problemlos etwa überhängende Klippen und sehr unregelmässiges Terrain möglich. Die<br />
grundlegende Modellierung geschah hierbei über einen Terraingenerator, welcher durch eine Simulation<br />
ein Terrainmodell erstellte, was dann über einen Export in das Modellierungsprogramm<br />
übernommen werden konnte. Dort konnten dann die Modellierer das gegebene Terrain per Hand<br />
nachbearbeiten und alle weiteren Objekte in der Szene plazieren.<br />
Der Nachteil der Darstellung als 3D-Objekt ist natürlich der höhere Speicheraufwand (ein fertig<br />
detailliertes Terrain besteht im System aus normalerweise aus 10.000 - 50.000 Dreiecken). Weiterhin<br />
ist natürlich die Geschwindigkeit bei der Darstellung niedriger als bei Heightmaps, welche<br />
grundsätzlich rechteckig sind und bei welche man beim Rendern einfach im Detail reduzieren<br />
kann, wenn sie weiter entfernt sind. Weiter kann man bei Heightmaps sehr einfach feststellen,<br />
welches Terrain gerade überhaupt sichtbar ist.<br />
Ein letzter - praktischer - Nachteil ist schließlich, daß es zur Darstellung von Terrain als 3D-<br />
Modell kaum fertige Algorithmen gibt, weswegen wir zur Visualisierung (siehe unten) eine eigene<br />
Implementation schreiben mussten. Für Heightmaps gibt es hingegen viele fertige Algorithmen,<br />
die relativ einfach hätten eingesetzt werden können.<br />
Implementation<br />
Das Grundproblem bei der Visualisierung eines Terrains als fertiges 3D-Modell ist nicht die Darstellung<br />
des Modells an sich, dies kann ja über die normale Grafikausgabe wie bei den restlichen Modellen<br />
6. Januar 2005 Seite 97