artecLab - Universität Bremen
artecLab - Universität Bremen
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.
2. Die Engine 36<br />
lierte Level zu erstellen, ohne dabei hohe Leistungseinbußen<br />
in Kauf nehmen zu müssen.<br />
Um Geometrie zu animieren, stehen zwei möglichkeiten<br />
zur Verfügung. Zum einen gibt es Animated<br />
Skeletal Meshes. Das sind Objekte, die<br />
sogenannte Knochen besitzen und über die Bewegung<br />
der Knochen animiert werden. An jedem<br />
Knochen sind verschiedene Vertices des Objekts<br />
angebunden, die sich mit dem Knochen mitbewegen.<br />
Auf diese Weise lässt sich sehr einfach eine<br />
Charakteranimation erstellen.<br />
Meshes können auch mit Hilfe von Keyframe<br />
Animationen erstellt werden. Dabei wird nur in<br />
den sogenannten Keyframes das Aussehen des<br />
Objekts abgespeichert. Zwischen den einzelnen<br />
Keyframes interpoliert die 3D-Engine die Schritte,<br />
so dass eine flüssige Animation entsteht.<br />
Für die Simulation von Außenarealen kommen<br />
der Terraineditor und die Skybox zum Einsatz.<br />
Terrain wird mit Hilfe einer Highmap erstellt. Eine<br />
Highmap ist eine Textur im Graustufenformat.<br />
Jeder einzelne Pixel der Textur steht für ein Vertex<br />
des Terrains und je heller ein Pixel ist, desto<br />
höher liegt der Vertex. Aus dieser Textur wird<br />
dann die geometrische Struktur des eigentlichen<br />
Terrains errechnet. Für die Simulation von Himmel<br />
und Sonne gibt es die Skybox. Durch diese<br />
entsteht der Eindruck eines unendlich weit entfernten<br />
Horizonts. Dabei kann die Skybox auch<br />
geometrische Objekte beinhalten, wie zum Beispiel<br />
Häuser oder Felsen. So kann der Eindruck<br />
eines sehr großen Außenareals vermittelt werden,<br />
obwohl das eigentliche Level sehr klein und kompakt<br />
ist. Durch den Einsatz der Skybox wird der<br />
Speicherplatzbedarf verringert.<br />
Die Beleuchtung in der Unreal Engine 2 ist etwas<br />
komplexer. Es gibt verschiedene Möglichkeiten,<br />
ein Level zu beleuchten. Zum einen gibt es<br />
die klassische Vorberechnung der Map im Editor.<br />
Dort wird der Lichtfall berechnet und in einer<br />
Lightmap gespeichert. Diese wird dann über die<br />
einzelnen Oberflächen gelegt. Lightmaps funktionieren<br />
allerdings nur auf BSP-Geometrie. Auf<br />
Static Meshes wird keine Lightmap gelegt, obwohl<br />
der Schattenfall von Static Meshes in die<br />
Lightmapberechnung mit einbezogen wird.<br />
Durch die Berechnung des Lichtfalls im Voraus<br />
entsteht der Nachteil, dass eine dynamische Änderung<br />
der Lichtverhältnisse zur Laufzeit nicht<br />
mehr möglich ist. Abhilfe schafft das Vertex Lighting.<br />
Dadurch lassen sich Licht und Schatten auf<br />
einzelnen Objekten zur Laufzeit berechnen. Allerdings<br />
empfangen Objekte mit Vertex Lighting<br />
keine Schatten von anderen Objekten und werfen<br />
auch keine Schatten auf andere Objekte.<br />
Um dieses Problem zu lösen, kann der Projektor<br />
verwendet werden. Mit ihm können Schatten<br />
und Lichtschein auf alle Objekte geworfen wer-