Das Simulieren virtueller Welten erfordert viel Rechenleistung. Doch PCs von heute können es mit den Workstations aufnehmen, auf denen 1993 die Urtiere für Jurassic Park entstanden. Der Artikel stellt eine Auswahl der besten freie Software für diesen Bereich vor.
Die 3D-Grafik-Anwendungen als Open Source sind eine relativ neue Entwicklung. Vor fünf Jahren erforderten 3D-Animationen in professioneller Qualität noch teure Workstations. Die verwendete Software wie zum Beispiel Maya (Unlimited Version) kostete Anfang 2002 mehr als 15000 Dollar. Die Softwaretechnologie, die dabei zum Einsatz kam, blieb hinter restriktiven Lizenzen verborgen. Als die Preise für Hardware rapide sanken, blieben zunächst dennoch die Softwarepreise für nicht professionelle Anwender zu hoch. Auch die Lizenzen lockerten sich nicht. So blieben 3D-Animationen auf dem eigenen Rechner weiterhin nichts als ein Traum.
Erst als in jüngster Zeit Open-Source-Programme auftauchten, änderte sich die Situation grundlegend: 3D-Grafik wurde für jedermann erschwinglich. Außerdem sind die zugrunde liegenden Technologien nun frei verfügbar, sodass eine Vielzahl neuer Anwendungen entstehen konnte. Im Folgenden sollen die besten Programme für die einzelnen Arbeitsschritte vorstellt werden. Schließlich bietet der Artikel noch einen Überblick über den Stand, auf dem sich die Open-Source-Szene bei 3D-Programmen gegenwärtig befindet.
Am Anfang steht das Modell
Abbildung 1 zeigt den Entstehungsprozess von 3D-Animationen. Am Anfang steht die Gestaltung oder Modellierung der Form des 3D-Objekts. Die Grundform wird daraufhin im Texturing genannten Vorgang mit einer Haut überzogen. Das Modell erhält dabei eine natürlich wirkende Oberfläche mit Lichtreflexionen und eine Oberflächenstruktur. Der Prozess, der die 2D-Bitmaps (zum Beispiel eine Holzmaserung) auf die 3D-Oberfläche projiziert, nennt sich UV-Mapping und ist im einfachsten Fall vergleichbar mit dem Aufkleben eines Posters auf eine Litfaßsäule. Der Name leitet sich aus der Bezeichnung für die 2D-Koordinaten der Textur her, man nennt sie U und V im Unterschied zu den räumlichen Koordinaten X, Y, und Z.
Das 3D-Modell lässt sich nun in Bewegung setzen oder animieren. Dazu wird es in einem Rigging genannten Vorgang mit einer Art von Scharnieren versehen. Diese ermöglichen es dem Künstler, auch komplexe Objekte oder Figuren nach Art eines Marionettenspielers zu bewegen. Wenn die Animationsszene so weit fertig ist, lässt sie sich noch durch spezielle Effekte wie etwa Wasser, Feuer oder Rauch weiter verfeinern.
Die Ausleuchtung der Szene ergibt sich durch das Platzieren von Lichtquellen ähnlich wie bei einer konventionellen Filmaufnahme. Der Postproduktion genannte Arbeitsschritt kombiniert das beinahe fertige Produkt mit Filmszenen und einem Soundtrack.
Meist spielen bei der Erstellung von 3D-Animationen mehrere Programme zusammen. In so genannten Modellern legt der Designer zunächst die räumliche Geometrie der Objekte fest. Häufig erledigen dann separate Anwendungen die Animation sowie die Umsetzung der fertigen Modelle in fotorealistische Bilder oder Filmsequenzen.
Wings3D: Komplexe Formen leicht gemacht
Während geometrische Formen vergleichsweise leicht zu konstruieren sind, stellen unregelmäßige organische Formen wie die einer Hand oder eines Baumstammes eine besondere Herausforderung dar. Auf diesem Gebiet hat sich Wings3D [1], das Anleihen beim kommerziellen Programm Nendo [2] macht, als ausgesprochener Spezialist herauskristallisiert. Seine besonderen Stärken liegen beim Modellieren von Menschen oder anderen Lebewesen (Abbildung 2). Nach vielen Jahren Entwicklung ist ein mächtiges, intuitiv zu bedienendes Werkzeug entstanden. Der Umgang damit ist in wenigen Stunden zu erlernen, sodass der kreativen Arbeit bald nichts mehr im Wege steht.
Obwohl Wings3D mit Polygonen arbeitet, vermittelt es dem Anwender beinahe das Gefühl, Ton zu modellieren. Mit dem Tweak-Werkzeug lassen sich die Kontrollpunkte im 3D-Raum bewegen, sodass schrittweise die richtige Form entsteht. Wings3D stellt außerdem viele Funktionen zur Verfügung, um einfache Quader zu unterteilen, bis sich natürlich wirkende Formen ergeben. Nicht zuletzt erleichtert die einfache Definition von Hotkeys die Arbeit: Es genügt, die Maus über den entsprechenden Menüpunkt zu halten. Ein Druck auf [Entf] und den gewünschten Hotkey definiert schließlich die Verknüpfung.
Der Anwendungsbereich von Wings3D beschränkt sich weitgehend auf das Modellieren von Formen und das UV-Mapping. Animationsfeatures sind auch für zukünftige Versionen nicht geplant. Allerdings funktioniert der Datenaustausch mit anderen Programmen über die Export-Dateiformate ausgezeichnet. Zusammenfassend ist festzustellen, dass die Leistung von Wings3D für das Modellieren organischer Formen durchaus mit der von kommerziellen Programmen vergleichbar ist.

Abbildung 1: Der Produktionsprozess einer 3D-Animation – für alle Schritte gibt es frei verfügbare Softwarelösungen.

Abbildung 2: Wings3D – große Leistung trotz schlichter Benutzeroberfläche. Komplexe Formen lassen sich besonders gut umsetzen.
Blender: Leistungsstark, abergewöhnungsbedürftig
Blender [3] deckt als bisher einziges Programmpaket im Open-Source-Bereich alle Arbeitsschritte des 3D-Produktionsprozesses ab: Erstellung des Modells (Abbildung 3), Gestaltung der Oberfläche, Animation und Rendern der fertigen Szene. Außerdem bietet es einfache Postproduktions-Möglichkeiten und als einziges Programm im 3D-Sektor eine spezielle Game-Engine.
Eine weitere herausragende Stärke von Blender ist seine Geschwindigkeit, die kommerzielle Produkte in manchen Bereichen übertrifft. Hier seien besonders die Catmull-Clark-Oberflächen genannt, die aus einfachen blockhaften Formen glatte Rundungen erzeugen (Abbildung 4). Auch die Animationsfunktionen arbeiten im Vergleich zu anderen Programmen schnell und lassen sich leicht bedienen.
Blender stellt die gesamte Bildschirmanzeige, selbst die Benutzeroberfläche, über OpenGL dar und setzt dabei die Hardwarebeschleunigung moderner Grafikkarten ein. Die Oberfläche lässt sich skalieren oder transparent darstellen, ohne dass die Anzeige träge wird. Allerdings wirkt das Interface sehr überladen und ist zudem äußerst unorthodox aufgebaut: Statt über Menüs und Dialoge wird Blender weitgehend über Unterfenster bedient, die mit vielen Buttons und Schiebern gefüllt sind.
In ihrem Aufbau lassen diese aber oft Logik und Konsistenz vermissen. Selbst so einfache Funktionen wie Ausschneiden und Einfügen bedürfen in Blender der Gewöhnung, da sie über [Alt]+[C] beziehungsweise [Alt]+[V] aufgerufen werden statt wie üblich die [Strg]-Taste zu nutzen. Grund dafür ist, dass Blender als hausinternes Produkt des Animationsstudios Neo Geo konzipiert wurde.
Go Open Source
1998 gründete einer der Initiatoren von Neo Geo, der Holländer Ton Roosendaal, Not a Number mit dem Ziel, das heute als Blender bekannte Inhouse-Tool weiterzuentwickeln und frei verfügbar zu machen. Leider musste Not a Number 2001 wegen finanzieller Probleme schließen. Mit Spendenmitteln konnte jedoch der Quelltext von Blender gekauft werden und steht seitdem der Open-Source-Gemeinde zur Verfügung. Als einziger Nachteil aus der proprietären Vergangenheit bleibt bis heute der Zuschnitt der Benutzeroberfläche auf Profis, die täglich mit dem Programm arbeiten. Auf den Durchschnittsanwender wirkt sie verwirrend und abschreckend.
Nur wer viel Geduld mitbringt, wird also die vielen Vorzüge dieses hervorragenden Programms kennen lernen, das insgesamt den leistungsfähigsten Open-Source-Programmen zuzurechnen ist. Blender läuft aufgrund seiner langen Entwicklungsgeschichte sehr stabil und besitzt eine große Usergemeinde, die neben vielen 3D-Grafiken auch eine umfangreiche Dokumentation hervorgebracht hat und bei Problemen guten Support bietet.

Abbildung 3: Das User-Interface von Blender mit einem fertigen Modell: Auch der Blender-Modeller ermöglicht das Erstellen komplexer Figuren in 3D.

Abbildung 4: Blender mit einem Modell vor und nach der Anwendung der Catull-Clark-Oberflächenunterteilung. Hier zeigt sich die Leistungsfähigkeit der Software.
K3D – die Zukunft?
K3D [4] ist eine der jüngsten Entwicklungen im Bereich 3D-Grafik. Seine Stärke besteht darin, dass es eine gezielte Neuentwicklung auf Basis der bestehenden Erfahrungen ist. Professionelle Entwickler von 3D-Grafiken wurden befragt, um den Workflow an deren Anforderungen anzupassen. So besitzt K3D zum Beispiel eine hierarchische Undo/Redo-Liste.
Konkret bedeutet dies: Nachdem ein früherer Zustand wiederhergestellt und verändert wurde, stehen die Änderungen, die nach dem wiederhergestellten Änderungsschritt erfolgt sind, trotzdem noch zu Verfügung. Dieses Feature wäre sicherlich für alle entsprechenden Programme eine Bereicherung, denn es ist in einem kreativen Designprozess ganz besonders hilfreich.
Virtuelle Beziehungswelten
Großen Wert legt K3D darauf, die Beziehungen der einzelnen Bildobjekte untereinander gut zu definieren. Zur Veranschaulichung kann die Animation einer menschlichen Figur dienen. Dort müssen die Teile des Modells in vielfältiger Relation miteinander stehen, damit sich ein natürlicher Eindruck ergibt: Beim Laufen beispielsweise bewegt sich zunächst der Oberschenkel am Oberschenkelgelenk. Zusätzlich bewegt sich am Kniegelenk der Unterschenkel. Beide Bewegungen überlagern sich.
In K3D kann jedes Objekt jedes andere auf diese Weise kontrollieren. Die einmal erstellten Zusammenhänge lassen sich abspeichern. Damit sind auf Benutzerebene gewissermaßen neue Programmfeatures möglich. Da gerade im 3D-Grafikbereich die gleichen Arbeitsschritte häufig wiederkehren, hilft dies in der Praxis viel Zeit sparen.
Die Entwicklung von K3D ist bei weitem noch nicht abgeschlossen. So sind die Tools zur Modellierung von 3D-Objekten noch nicht so ausgereift wie bei Wings3D. Allerdings beschritten die Programmautoren auch hier einen neuen Weg, der wiederum die Beziehung der einzelnen Objekte besonders im Auge behält. Dieser parametrisches oder prozedurales Modelling genannte Ansatz bedeutet, dass sich Änderungen am Grundrahmen eines Modells in intelligenter Weise auch auf die Einzelteile auswirken. Zudem legt eine ausgereifte Plugin-Architektur ein solides Fundament für künftige Entwicklungen.
Gegenwärtig liegt das Programm in den Versionen 0.5 (Development) oder 0.4 (Stable) vor. In beiden fehlen noch wichtige Features. Auch an so grundlegenden Werkzeug wie dem Skalieren- oder Rotieren-Werkzeug wird noch gearbeitet. Die Funktionen für die Animation sind gegenwärtig noch schwer zu bedienen. Da die Entwickler aber offensichtlich den Fokus nicht auf Geschwindigkeit, sondern auf Qualität legen, wird es wohl eine Weile dauern, bis K3D in der Version 1.0 erscheint.
Die Modelle, die K3D liefert, sind mit der Renderman-Spezifikation, dem Industriestandard für Animation (siehe auch den Artikel in diesem Schwerpunkt), kompatibel. Die Modelle aus K3D lassen sich mit professionellen Render-Tools wie Pixars Photorealistic Renderman weiterbearbeiten. K3D ist aber nicht auf kommerzielle Partnerprodukte beschränkt: Es arbeitet auch mit dem sehr guten freien Raytracer Yafray (siehe nächster Abschnitt) zusammen, um aus den Modellen fertige Bilder zu erzeugen.
Da neben dem überzeugenden Gesamtkonzept auch ein auf GTK 2 basierendes übersichtliches User-Interface (Abbildung 5) für das Programm spricht, ist zumindest für die Zukunft einiges von K3D zu erwarten.
Rendering-Software
Der Prozess, in dem aus den 3D-Modellen endgültige Grafiken oder Animationen erstellt werden, heißt Rendern. Das gerenderte Ergebnis ist wohl die einzige Stufe des Erstellungsprozesses, die das Publikum zu sehen bekommt, daher ist die Qualität des hier eingesetzten Programms ausschlaggebend. Da es sich zudem um einen äußerst komplexen Vorgang handelt, werden Renderer meist als eigenständige Programme realisiert. Natürlich ist hierfür Voraussetzung, dass der Datenaustausch mit den anderen Produktionsstufen funktioniert.
Yafray
Bei Yafray [5] handelt es sich um den gegenwärtig leistungsfähigsten frei erhältlichen Renderer. Das Programm kann sowohl extrem realistische als auch stark stilisierte Bilder erzeugen. Die Darstellung von Licht und Schatten hat großen Einfluss darauf, wie realistisch ein gerendertes Bild auf den Betrachter wirkt. Yafray arbeitet hier wesentlich exakter als andere: Es berechnet weiche Schattenverläufe, Lichtreflexionen und -brechungen nach den Fresnel-Algorithmen. Es verfolgt auch den Strahlengang von gestreutem und durch transparente Objekte gebrochenem Licht. Dies wird als globale Beleuchtung beziehungsweise als Caustics bezeichnet.
Normalerweise fungiert der Yafray-Renderer als externes Programm. Es besitzt jedoch auch ein Plugin-API, das von anderen Programmen aufgerufen werden kann, wie dies von Blender aus bereits möglich ist. Obwohl Yafray erst in der Version 0.0.8 vorliegt, reichen die implementierten Features aus, um es für die Produktion interessant zu machen. Die Qualität der Renderings kann sich mit jener von Software, die mehrere tausend Dollar kostet, messen. Yafray ist auch zurzeit wohl der einzige praxistaugliche Open-Source-Raytracer.
Rendern erfordert eine sehr große Zahl von komplexen Berechnungen, sodass sich leicht Rechenzeiten von mehreren Stunden oder sogar Tagen ergeben. Zurzeit arbeiten die Entwickler an einem Redesign, das den Prozessor der Grafikkarte (die GPU) in den Renderprozess einbezieht. Sie erhoffen sich damit einen erheblichen Zuwachs in puncto Rechengeschwindigkeit.
Toxic
Toxic [6] ist ein Renderer, der sich auf physikalisch exakte Berechnungen stützt statt nur auf einen realistischen Eindruck für den Betrachter abzuzielen. Er benutzt unter anderem die Bidirectional Reflection Distribution Function. Anders als bei Yafray gaben sich die Entwickler nicht damit zufrieden, Algorithmen zu verwenden, deren Ergebnisse dem Auge des Betrachters realistisch erscheinen. Sie setzten es sich zum Ziel, die Schattierung der Oberfläche und den Strahlengang des realen Lichts rechnerisch exakt nachzubilden.
|
Scripting |
|---|
|
Da im Designprozess viele Arbeitsschritte wiederkehren, integrieren Grafikprogramme meist eine Skriptsprache. Hier zeichnen sich Open-Source-Anwendungen dadurch aus, dass verbreitete offene Standards zum Einsatz kommen. Dies ermöglicht es auch den vielen Usern, die nicht über fortgeschrittene Progammierkenntnisse verfügen, den Funktionsumfang eines Programms bei Bedarf zu erweitern. Auch hierfür ist Blender ein gutes Beispiel: Es ermöglicht Scripting in Python. Neben vielen anderen steht ein Skript zum Export in das Pov-Ray-Format bereit, einem Renderer, der ebenfalls frei erhältlich ist. |
Toxic verwendet ein eigenes, gut dokumentiertes XML-Dateiformat. Komplette Szenen aus anderen 3D-Paketen können jedoch noch nicht übernommen werden. Der Export aus den frei verfügbaren Modeller-Paketen setzt stets Handarbeit voraus. Daher ist Toxic gegenwärtig noch wenig praxistauglich.
Aqsis
Das Programm Aqsis [7] zeichnet sich dadurch aus, dass es den Sprachstandard der professionellen Renderman-Umgebung zur Definition von 3D-Modellen am besten unterstützt. Damit lassen sich komplexe Formen leichter nachbilden als mit anderen Modellern (Abbildung 6). Leider arbeitet Aqsis derzeit noch nicht mit Raytracing, also mit der realitätsgetreuen Rückverfolgung des Lichtstrahlenverlaufs. Daher wirken Renderings weit weniger realistisch als bei Yafray oder Toxic.
Gegenwärtig ist Aqsis wohl überwiegend für Entwickler oder als kostenloses Tool für die Arbeit mit dem Renderman-Standard interessant. Da jedoch die Integration von Raytracing auf der Agenda der Entwickler steht und Aqsis sich bisher rasch weiterentwickelt hat, sollten Interessierte das Programm, das sich gegenwärtig in einem relativ frühen Entwicklungsstadium befindet, weiterhin im Auge behalten.
Open Source als Plus
Der Zugriff auf den Quellcode ist für Studios und für freiberufliche Designer ein großes Plus. Große Studios passen gewöhnlich die Standardsoftware an ihre Bedürfnisse an. Doch auch für den Anwender, der keine Eingriffe in das Programm selbst vornehmen kann oder möchte, ergeben sich Vorteile: Ein Charakteristikum von Software aus dem Bereich Computergrafik ist, dass sie viele Features über Plugins realisiert. Bei proprietären Programmen müssen Anwender sie häufig aus vielen Quellen zusammensuchen und bei jeder Installation neu einbinden.

Abbildung 5: K3D präsentiert eine übersichtliche Benutzeroberfläche, die auf GTK 2 aufbaut. Die Entwickler legten großen Wert darauf, den Workflow effektiv und übersichtlich zu gestalten.
Dagegen tendieren die Open-Source-Entwicklergemeinden dazu, die im Quelltext vorliegenden Plugins schnell in das Hauptprogramm zu integrieren. Blender ist ein gutes Beispiel für diesen Vorgang: Viele Features dieses Programms basieren auf ehemaligen Plugins. Die Entwickler konnten auf diese Weise das Programm stärker an die Bedürfnisse der Anwender anpassen.
Hinzu kommt häufig das starke Engagement der Community: Viele Anwender, die nicht selbst programmieren, leisten einen Beitrag bei der Dokumentation beziehungsweise der Erstellung von Tutorials und erleichtern so den Einstieg bei Open-Source-Programmen. Gerade für die nicht professionellen Anwender ist dies besonders interessant – neben dem Preis natürlich.
Fazit: State of Affairs
Die Zukunft der 3D-Software im Open-Source-Bereich sieht erfolgversprechend aus. Die Bildgalerien auf den Programmportalen beweisen, dass freie Software viel leistet. Allerdings gibt es auch noch manches ungelöste Problem. So haben sich etwa bei den Dateiformaten zum Datenaustausch noch keine befriedigenden Standards etabliert. Um qualitativ hochwertige 3D-Animation zu erstellen, sind aber häufig viele Programme nötig, die keinem einheitlichen Bedienungskonzept unterliegen.
Schließlich gibt es auch noch Lücken im Produktionsablauf vom Entwurf eines 3D-Modells bis zum fertig geschnittenen Film: Postproduction, Schnitt und Vertonung realisieren professionelle Studios mangels gleichwertiger Open-Source-Alternativen bisher meist mit proprietären Werkzeugen. Es bleibt zu hoffen, dass Projekte wie Jahshaka [8] oder Cinelerra [9] diese Lücken bald schließen, sodass die Produktion von computergeneriertem Filmmaterial ausschließlich mit Hilfe freier Software bewältigt werden kann. (pkr)
|
Infos |
|---|
|
[1] Wings3D: [http://www.wings3d.com] [2] Nendo: [http://www.izware.com/nendo] [3] Blender-Home mit Dokumentation und vielen Ressourcen: [http://blender.org] [4] K3D: [http://k3d.sourceforge.net] [5] Yafray: [http://www.yafray.org] [6] Toxic-Renderer: [http://www.toxicengine.org] [7] Aqsis: [http://www.aqsis.org] [8] Jahshaka: [http://www.jahshaka.org] [9] Cinelerra: [http://heroinewarrior.com/cinelerra.php3] |
|
Der Autor |
|---|
|
Joe Crawford ist Eigentümer der Joetainment- Enterprises/Celestine-3D-Studios, die auf Open Source setzen. Joe unterrichtet außerdem an mehreren Bildungsinstituten. |






