21.12.2012 Aufrufe

artecLab - Universität Bremen

artecLab - Universität Bremen

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.

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-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!