artecLab - Universität Bremen
artecLab - Universität Bremen
artecLab - Universität Bremen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
2. Die Engine 35<br />
beliebige Objekte mit physikalischen Eigenschaften<br />
zu versehen, die hinterher interaktiv in der<br />
Welt benutzbar bzw. manipuierbar sind.<br />
2.2 Szenengraph der<br />
Unreal Engine 2<br />
Die Unreal Engine 2 benutzt als Grundlage für<br />
jedes Level einen BSP-Baum (Binary Space Partitioning).<br />
Ein BSP-Baum ist eine Datenstruktur,<br />
die benutzt wird, um Objekte in einem Raum zu<br />
organisieren. Ein BSP-Baum ist eine rekursive-<br />
Zerlegung des Raumes, die jedes Liniensegment<br />
(bzw. jedes Polygon in 3D) wie eine Zerlegungsebene<br />
ansieht, welche benutzt wird, um alle übrigen<br />
Objekte des Raumes als vor oder hinter dieser<br />
Ebene liegend zu kategorisieren. Wenn demnach<br />
ein neues Objekt in den Baum eingefügt wird,<br />
wird es zunächst in Relation zur Wurzel zugeordnet<br />
und dann rekursiv unter Betrachtung jedes<br />
folgenden Knotens eingeordnet.<br />
Diese BSP-Geometrie ist ausschlaggebend, um<br />
verdeckte Polygone vor dem Rendern eines Frames<br />
automatisch zu entfernen. Jedes Polygon,<br />
dass nicht gerendert werden muss, spart Rechenzeit,<br />
die bei sehr großen und komplexen 3D-<br />
Welten oft ausschlaggebend dafür ist, dass eine<br />
Simulation flüssig dargestellt werden kann.<br />
Die BSP-Geometrie wird im Unreal Editor mit<br />
Hilfe von Constructive Solid Geometrie (CSG) erstellt.<br />
Im Gegensatz zu anderen 3D-Engines wird<br />
ein Raum vom Weltspace subtrahiert und nicht<br />
zu diesem hinzuaddiert.<br />
Um detallierte Objekte in den von BSP-<br />
Geometrie erschaffenen Räumen zu platzieren,<br />
wird ein externes Modellingprogramm benötigt.<br />
In diesem Programm wird ein komplexes 3D-<br />
Modell erstellt und texturiert. Danach wird es in<br />
die Unreal Engine importiert und kann dann als<br />
sogenanntes Static Mesh platziert werden.<br />
EinStaticMeshwirdauchindemBSP-Baumkategorisiert.<br />
allerdings wird das gesamte Objekt,<br />
dass oftmals aus tausenden von Polygonen besteht,<br />
als ein einziger Knoten in diesem BSP-<br />
Baum kategorisiert. Dadurch lässt sich komplexe<br />
Geometrie darstellen, ohne dass der BSP-Baum<br />
so groß wird, dass sich der Geschwindigkeitsvorteil<br />
der BSP-Geometrie in das Gegenteil umkehrt.<br />
Würdeein derart detailiertes Objekt als BSP-<br />
Geometrie kategorisiert, würde es tausende von<br />
neuen Knoten in dem BSP-Baum verursachen.<br />
Ein weiterer Vorteil von Objekten als Static Meshes<br />
ist der geringe Speicherbedarf im Gegensatz<br />
zu geometrischen Objekten als BSP-Geometrie.<br />
Darüberhinaus sind sie beliebig oft platzierbar<br />
und werden trotzdem nur einmalin den Speicher<br />
geladen. Static Meshes sind also beliebig oft referenzierbar.<br />
Dadurch ist es möglich, sehr detail-