Projektbeschreibung

"3Dali" ist die Implementierung einer interaktiven 3D-Welt, für die als Vorlage das Gemälde "Außenbezirk der paranoisch-kritischen Stadt: Nachmittag am Rand der europäischen Geschichte" (1936) von Salvador Dali diente. Im "3Dali"-System ist das Bild dreidimensional nachmodelliert. Damit konnten wir die Dali-Landschaft betretbar und die Bildgegenstände veränderbar machen. Der Benutzer kann seine eigene Dali-Welt kreieren und abspeichern.

Gestaltung der Welt
Die surrealistischen Bilder von Salvador Dali bieten eine interessante Vorlage für die Kreation einer 3-dimensionalen Welt. Als Vorlage haben wir uns für das Gemälde "Außenbezirk der paranoisch-kritischen Stadt: Nachmittag am Rand der europäischen Geschichte" (auch "On Paranoic Critical Town") aus dem Jahr 1936 entschieden. Das Bild zeigt eine Reihe von Figuren und Elementen geometrischer Gestalt, platziert in einer weitläufigen, einfach strukturierten Landschaft. Unser Entschluß fiel auf dieses Bild, weil sich die Landschaft als leicht erweiterbarer Rahmen für eine 3D Welt gut eignet, ein großer Teil der Bildelemente aus - mit vertretbarem Aufwand - modellierbaren Objekten besteht und uns zudem eine Veränderung des Bildes durch Vergrößerung oder Verkleinerung der Anzahl an Bildelementen sinnvoll erschien.

Die Elemente des Bildes haben wir in 3D Studio Max modelliert, im *.3ds - Format exportiert und mit dem frei verfügbaren Loader lib3ds in unser Programm eingebunden. Da das .3ds-Format keine Texturen beinhaltet, mußten diese separat geladen und auf die Textur-Koordinaten ausgerichtet werden. Aufgrund der vorgegebenen Beschränkung auf eine Textur pro Objekt haben wir komplexere Objekte in Teilobjekte - jeweils mit eigenen Texturen versehen - untergliedert. Um später die Manipulation des gesamten Objektes zu gewährleisten, wurden die Teilobjekte im Szenegraphen unter einen Transform-Knoten eingefügt.

Die verwendeten Texturen sind zu einem großen Teil der Bildvorlage entnommen und von uns überarbeitet und erweitert worden. So gibt es natürlich auch Objekte im Bild Dalis - wie z.B. die Frau im Vordergrund -, die nicht vollständig abgebildet sind. In diesem Falle mussten wir sowohl die Form als auch die Textur des Objektes frei ergänzen. Selbiges gilt selbstverständlich auch für die in der Vorlage nicht sichtbaren Seiten der Objekte; an dieser Stelle verbleiben unsere 3D-Objekte zum derzeitigen Zeitpunkt noch erweiterbar. Zu den vorgenommenen Vereinfachungen zählen zum Beispiel auch die Modellierung der Figuren als "Pappaufsteller" und der Hintergrundobjekte, wie der Gasse auf der rechten Bildhälfte, als "2D-Kulisse"

Interaktionsmöglichkeiten und User Interface
Der Benutzer sieht nach dem Programmstart zunächst auf dem Bildschirm das Original-Gemälde im Bilderrahmen vor weißem Hintergrund, auf einer Plakette unter dem Bild sind der Bildtitel und Benutzungshinweise (wie Tastaturbelegung) zu lesen.

Navigation und Interaktion
Per Mausklick gelangt man in die 3D-Welt. Dort sind als Eingabemedien Tastatur und Maus vorgesehen. Die Bewegung durch die Welt wird durch die Eingabe über die Tastatur gesteuert: Der Benutzer kann sich mit den Pfeiltasten nach rechts, links, vorne und hinten bewegen und mit den Tasten Page Up / Down nach oben und unten. Die Blickrichtung der Kamera lässt sich mit den Pfeiltasten in Kombination mit der Shift-Taste verstellen.

Neben der reinen Bewegung durch die Welt gibt es eine Reihe von Interaktionsmöglichkeiten, bei denen wir zwischen weltbezogenen und objektbezogenen Interaktionen unterscheiden. Zu den weltbezogenen Aufgaben gehören das Laden und Speichern der Welt (3D), Screenshots (2D) sowie das Verlassen der Welt, also das Programmende. Die Objektinteraktionen beinhalten die drei Manipulationsarten Translation , Skalierung und Rotation auf den Objekten und das Hinzuladen von Objekten. Per Mausklick kann der Benutzer ein Objekt auswählen, das dann durch dünne rote Linien entlang der bounding box hervorgehoben ist. Mithilfe der Maus kann das Objekt nun auf eine der drei genannten Arten per drag and drop manipuliert werden. Zusätzlich gibt es die Möglichkeit, Dali-Objekte auszuwählen und in die Welt hinzuzuladen. Wie bei den bereits vorhandenen Objekten können auch diese daraufhin per Mausinteraktion gedreht, verschoben und vergrößert oder verkleinert werden.

Menü
Alle im System enthaltenen Interaktionsmöglichkeiten sind im Kontextmenü zu finden Dieses erscheint "on demand" vor der Welt durch Drücken der rechten Maustaste an einer beliebigen Position in der 3D-Welt. Im Gegensatz zum klassischen Kontextmenü handelt es sich nicht um Texteinträge, sondern um Werkzeugbuttons mit Tooltips. Außerdem besitzt das Menü eine eigene Fensterleiste und kann dadurch solange stehen bleiben, bis es durch den Benutzer explizit geschlossen wird.

Dies ist insofern wichtig, als daß wir für die Objektmanipulation Modi verwenden, die durch Drücken der entsprechenden Buttons aktiviert werden und zwischen denen der Benutzer hin und her wechseln kann. Als Feedback bleibt zum einen der jeweilige Button gedrückt stehen, und zum anderen wechselt das Cursorsymbol zu einem der drei Manipulationssymbole. Beim Schließen des Menüs nimmt der Cursor wieder sein normales Pfeil-Symbol an und keiner der drei Modi ist aktiviert. Somit können Objekte nur verändert werden, solange das Menü sichtbar ist. Durch Mausklick auf den Hilfebutton können Bedienungsinformationen wie Tastenbelegung, die auch auf dem Startbildschirm zu lesen waren, in einem separaten kleinen Fenster nachgelesen werden.