Mit zweidimensionalen Eingabegeräten dreidimensionale Objekte formen ist keine leichte Aufgabe und setzt eine Vielzahl von Programmfunktionen voraus. Wie das quelloffene Projekt K-3D diese Herausforderung für die Gestaltung des Benutzerinterface meistert, zeigt diese Projekteküche.

Abbildung 1: Obwohl K-3D bereits seit 13 Jahren existiert, bietet es eine neu gestaltete, übersichtliche Benutzeroberfläche, die auf Usability-Tests basiert und sich an die in Grafikanwendungen gängigen Standards hält.
Was die Leistung angeht, ist Blender [1] eindeutig Trendsetter unter den freien 3D-Programmen. Genauso berühmt ist die Anwendung allerdings für ihre miserable Benutzerführung. Der Open-Source-Modeller K-3D setzt andere Akzente: “Jedes Bedienelement sollte dort zu finden sein, wo der Benutzer es erwartet.” Joe Crawford, Koordinator der Arbeit am Userinterface im K-3D-Projekt (siehe Kasten “Joe Crawford”), baut seine Entwürfe daher auf den Ergebnissen von Benutzerbefragungen auf.
Ein Beispiel für den Erfolg seiner Arbeit sind die in Abbildung 1 hervorgehobenen Karteikartenreiter, die die in jedem Modeller notgedrungen zahlreichen Werkzeuge pro Kategorie auf ein gutes Maß beschränken. Blender nutzt ein ähnliches Konzept: Die in Abbildung 2 im unteren Fensterdrittel sichtbaren Bedienelemente repräsentieren nur einen kleinen Teil der Blender-Funktionen.

Abbildung 2: Alleskönner: Blender ist die leistungsfähigste Open-Source-3D-Anwendung. Das Interface ist jedoch sehr überladen und lenkt selbst erfahrene Anwender von der eigentlichen Arbeit ab.
Ein Klick auf einen der in der Abbildung hervorgehobenen kleinen Buttons wechselt die angezeigte Kategorie. Während K-3D für den Kategorienwechsel die intuitiven Reiter nutzt, setzt Blender hierfür, wie für fast alle anderen Programmfunktionen, Buttons ein.
Naturgetreu
Um organische Formen wie die einer menschlichen Hand detailgetreu nachzubilden, bauen die Designer zunächst die Grundform aus Polygonen auf und unterteilen diese bei Bedarf immer weiter. Die entgültige Form der räumlichen Körper entsteht durch wiederholtes Verschieben, Drehen oder Skalieren der einzelnen Polygone.
Diese feine Unterteilung der Grundform ermöglicht eine Arbeitsweise, die Joe Crawford mit dem Modellieren von Ton vergleicht: “Wichtig ist, dass sich die Werkzeuge zum Verschieben, Drehen oder Skalieren intuitiv bedienen lassen. Dies sicherzustellen, war mein Hauptbeitrag zu K-3D.” Die Verschieben-, Skalieren- und Drehen-Werkzeuge bilden das Grundhandwerkszeug für den Designer. K-3D platziert sie daher links oben im Anwendungsfenster. Unterhalb dieser Werkzeuge finden sich Buttons, die den Auswahlmodus zwischen dem Objekt-, Einzelpunkt-, Kanten- oder Oberflächen-Modus umschalten. Die Position der zugehörigen Shortcuts auf der Tastatur ([1] bis [4] sowie [Q] bis [R]) entspricht der Anordnung der Schaltflächen.
Beschränkte Bewegungsfreiheit
Um das Manipulieren räumlicher Objekte mit der auf zwei Achsen beschränkten Maus zu erleichtern, nutzt K-3D ein visuelles Konzept (Abbildung 3), das sich ähnlich auch in Maya, dem Profi-Werkzeug der Filmbranche, findet: Drei farbige Achsen oder Kreise symbolisieren die Achsen des Koodinatensystems oder die Drehbewegungen um eine der Achsen. Ein Klick auf eines der farbigen Elemente schränkt die Bewegung beziehungsweise Skalierung auf die zugehörige Dimension ein.

Abbildung 3: Die häufigsten Operationen beim Modellieren, Drehen, Verschieben und Skalieren basieren in K-3D auf einem ausgefeilten interaktiven Verfahren, das sich über die farbcodierte visuelle Gestaltung auch einem noch ungeübten Benutzer schnell erschließt.
Geschichtswissenschaft
Der typische Workflow beim 3D-Modelling führt oft dazu, dass Veränderungen an einem Objekt auf andere Gegenstände zu übertragen sind. Im einfachsten Fall möchte der Designer mehrere Objekte um den gleichen Betrag in den Hintergrund verschieben. Natürlich ist es in allen Modellern möglich, die Elemente gleichzeitig auszuwählen und zu verschieben. Bemerkt der Anwender jedoch erst später, dass er noch ein weiteres Objekt um die gleiche Distanz bewegen möchte, ist es zu spät. Anders in K-3D: Die Anwendung speichert Verschiebungen und andere Veränderungen als eigenständige Objekte in der »Node-List« (Abbildung 1, links oben). Die gespeicherte Änderung lässt sich jederzeit auf weitere Objekte anwenden.
Die »Node-History« unterhalb der »Node-List« zeigt alle nacheinander an einem Objekt vorgenommenen Veränderungen. Es ist jederzeit möglich, eine Änderungsoperation aus der Objektpipeline nachträglich zu entfernen oder anzupassen: Stellt sich im Verlauf der Arbeit heraus, dass der Betrag des Verschieben in den Hintergrund zu gering ausfiel, kann der Anwender dies im »Node-Properties«-Fenster korrigieren.
Dies Bedienkonzept heißt parametrisches Modelling. Die meisten professionellen CAD-Anwendungen basieren wie K-3D auf diesem Konzept. “Der Node-basierte Ansatz führt dazu, dass im Node-Properties-Unterfenster immer nur die Einstellungen für das gerade aktive Objekt sichtbar sind. Dies wirkt sich positiv auf die Übersicht aus,” so Joe Crawfords Einschätzung.
Modelling ist ein kreativer Prozess. Wegen der Komplexität des Arbeitens mit der Maus im 3D-Raum geht leicht einmal etwas schief. Eine leistungsfähige Undo-Funktion ist daher wichtig. K3-D bietet nicht nur eine einsträngige History wie ein Browser: Geht der Anwender dort zu einer früher besuchten Seite und klickt auf einen Link, sind die folgenden History-Einträge verloren. Die Undo-Funktion von K-3D konserviert dagegen alle bisherigen Zustände des Dokuments. Nebenäste bleiben im Undo-Tree als durchgestrichene Einträge erhalten (Abbildung 1, unten links).
Mut zur Lücke
K-3D ist ein reiner Modeller. Bei der Umsetzung der Drahtgittermodelle in fotorealistische Renderings verlässt sich das Programm auf andere Software: Die Entwickler empfehlen Aqsis, eine freie Umsetzung des Renderman-Interface. Der Renderman-Standard ist eine Beschreibungssprache für räumliche Objekte und Szenen, die oft bei 3D-Effekten in Kinofilmen zum Einsatz kommt. Außer Renderman-konformen Renderern wie Aqsis unterstützt K-3D Yafray und Povray (siehe auch [3]).
K-3D liegt gegenwärtig in Version 0.3.6 vor. Obwohl das Projekt schon seit 13 Jahren existiert, ist das vorgestellte parametrische Bedienkonzept eine relativ neue Errungenschaft. Die Arbeit daran ist noch nicht abgeschlossen: Gelegentlich kommt es beim nachträglichen Ändern der Parameter zu unerwarteten Ergebnissen. Verändert man zum Beispiel an einem Quader nach einigen Deformationsoperation die Zahl der Gittermaschen, weisen neu hinzugekommene Teile des Quaders die rechteckige Grundform vor der Deformation auf. Bisweilen verabschiedet sich die Anwendung auch mit einem Speicherzugriffsfehler.
Fertig ist K-3D bisher also noch nicht. Die Programmierer sorgen jedoch mit ihrem neu entwickelten Bedienkonzept, dessen Gestaltung auf Umfragen und Usability-Tests basiert, für frischen Wind bei den notorisch schwer zu bedienenden freien 3D-Grafikprogrammen.
Joe Crawford |
|
Der Kanadier ist im K-3D-Projekt für die Koordination der Userinterface-Entwicklung zuständig. Seine Firma, Joetainment Enterprises, entwickelt 3D-Grafiken und Animationen und setzt dabei häufig Open-Source-Anwendungen wie K-3D, Blender oder Wings 3D ein. Die Erfahrungen mit unterschiedlichen Grafik- und Animationswerkzeugen bringt Joe auch ins K-3D-Projekt ein: Er vertritt die Auffassung, dass sich die Software-Entwicklung nach den Bedürfnissen der Anwender richten sollte und nicht umgekehrt. |
Chicken Wings mexikanisch
Für Prickeln auf dem Gaumen sorgen scharfe mexikanische Chicken Wings mit folgenden Zutaten: 750 g Hähnchenflügel, etwas Butter, Salz und Pfeffer, 3 Teelöffel brauner Zucker, 1/8 Tasse Weißweinessig, 1/4 Tasse Wasser, etwa 1 Esslöffel Salsa Valentina, andere Salsa oder Tabasco nach Geschmack.
Zur Zubereitung die Hähnchenflügel waschen, salzen und pfeffern, dann in einer Pfanne mit Butter goldbraun anbraten. Den Zucker, Essig, Salsasoße und Wasser in den Bratenfond geben und kurz aufkochen. Die Hähnchenflügel in eine feuerfeste Auflaufform legen und mit der Soße übergießen. Im Backofen abgedeckt etwa 40 Minuten bei 200 Grad köcheln lassen. Weitere 10 bis 15 Minuten ohne Abdeckung backen.
Infos |
|
[1] Blender: [http://blender.org] [2] K-3D: [http://www.k-3d.org] [3] Schwerpunkt-Thema 3D-Grafik: Linux-Magazin 11/05 |





