14.11.2012 Aufrufe

Projekt Micarpet Projektbericht - artecLab - Universität Bremen

Projekt Micarpet Projektbericht - artecLab - Universität Bremen

Projekt Micarpet Projektbericht - artecLab - Universität Bremen

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!