Aus Linux-Magazin 12/2007

Neuerungen der kommenden Blender-Version

Abbildung 1: Künstliche Charaktere nach Maß: Die Tunika des Kriegers wirft realistische Falten, den Helmbusch hat der Designer interaktiv mit Modellierwerkzeugen in Form gebracht.

Die für Januar angekündigte Blender-Version 2.50 rüstet modisch auf: Ein neues Stoff-Modul sorgt für realistischen Faltenwurf, das erweiterte Partikelsystem ermöglicht ansprechende Frisuren.

Die Blender-Community feierte während der Blender Conference 2007 vom 12. bis 14. Oktober das fünfjährige Bestehen als freies Softwareprojekt. Dort gab es eine Menge zu feiern. Die freie Software hat seit dem spendenfinanzierten Kauf der Rechte aus der Konkursmasse der Firma Not a Number im Herbst 2002 viele neue Features erhalten. Mit einer Flüssigkeits-Simulation und physikalischen Effekten, einem Softbody-System, das plastische, deformierbare Gegenstände realitätsgetreu nachstellt, macht Blender Highend-Anwendungen wie Maya, Softimage oder Cinema 4D Konkurrenz, die Effekte zu mancher Spielfilmszene aus Hollywood liefern.

Die für Januar angekündigte Version 2.50 baut die Simulationssysteme der leistungsfähigen Software, mit der sie komplexe Phänomene wie Wasser und Feuer realistisch nachstellt, weiter aus: Eine eigenständige Stoffsimulation (siehe Abbildung 1) erleichtert das Modellieren und Animieren realistischer Kleider. Ein erweitertes Partikelsystem sorgt für formbare Frisuren.

Abbildung 1: Künstliche Charaktere nach Maß: Die Tunika des Kriegers wirft realistische Falten, den Helmbusch hat der Designer interaktiv mit Modellierwerkzeugen in Form gebracht.

Abbildung 1: Künstliche Charaktere nach Maß: Die Tunika des Kriegers wirft realistische Falten, den Helmbusch hat der Designer interaktiv mit Modellierwerkzeugen in Form gebracht.

Filmprojekte als Katalysator

Einen großen Sprung in der Entwicklung machte Blender im Rahmen des Projekts Orange [1], aus dem der elfminütige Kurzfilm “Elephants Dream” hervorging. Nun soll erneut ein freier Animationsfilm als Katalysator für die Entwicklung des 3D-Tools wirken: Am 1. Oktober startete Ton Roosendaal, Initiator und Chefentwickler von Blender und Vorsitzender der Blender Foundation, das offene Filmprojekt “Peach” [2]. Wie auch schon bei Elephants Dream soll der Streifen nicht nur komplett mit Open-Source-Software entstehen, die 3D-Modelle und Texturen werden auch wieder frei verfügbar sein.

Kleider machen Leute

Für Effekte in Spielfilmen reicht es nicht, räumliche Formen zu modellieren, sie mit realistischen Oberflächen auszustatten und in einem Raytracer in fotoähnliche Bilder zu verwandeln. Die Highend-Programme der Filmindustrie haben längst härtere Nüsse geknackt. Physikalische Simulationen wie ein Schiffsrumpf, der in vom Wind bewegtem Wasser eine Bugwelle schiebt, animieren die leistungsfähigen Programme täuschend echt und ohne allzu großen Aufwand.

Seit Version 2.37 enthält Blender mehrere Simulationssysteme für physikalische Effekte, darunter ein Softbody-System, das die Verformungen und Bewegungen plastischer Körper realistisch nachahmt, etwa einen hüpfenden Gummiball. Es bleibt aber schwierig, mit dieser Engine Textilien oder Kleider darzustellen.

Zwar ist es grundsätzlich möglich, der bisherigen Softbody-Simulation mit einer geschickten Auswahl der vielen Einstellungen ein zufriedenstellendes Ergebnisse zu entlocken. Das neue Cloth-Modul, das sich ganz darauf spezialisiert, den Faltenwurf und die durch Wind oder Massenträgheit hervorgerufenen Bewegungen von Stoffen zu simulieren, erleichtert es aber, eine realistische Simulation zu erzielen.

Zurzeit befindet sich dieses Simulationssystem noch in einem frühen Entwicklungsstadium. Es gibt noch Probleme mit der Kollisionserkennung, die dafür sorgen soll, dass zum Beispiel eine herunterhängende Tischdecke wie in der Realität einer Berührung mit dem Knie nachgibt. Noch gar nicht umgesetzt sind die Kollisionen mit anderen Stoffobjekten oder die Eigenkollisionen. Das Cloth-System simuliert außerdem die Reibung noch nicht. Dies ist aber auf den frühen Entwicklungsstand des als Cloth-Branch im SVN-Repository [4] veröffentlichten Code zurückzuführen.

Verzichtet der Anwender auf zu komplexe Szenarien, dann liefert die Simulation jedoch bereits brauchbare Ergebnisse. Kleidung lässt sich aber derzeit nur mit Einschränkungen nachahmen, einfache, lose Kleidungsstücke wie etwa eine Tunika oder ein Kleid sind aber jetzt schon realisierbar (Abbildung 1).

Um den Faltenwurf eines Kleidungsstückes feinzutunen, kann der Designer den Effekt gewichten. Er wählt dazu Teile des 3D-Gitternetzes aus oder trägt unterschiedliche Gewichtungen interaktiv mit einem Pinsel auf (Abbildung 2). Je höher das Gewicht, das sich für einen Bereich ergibt, desto geringer fällt der Effekt aus. Obwohl sich dies nicht logisch anhört, gelingt es damit in der Praxis leichter, die gewünschten Ergebnisse zu erzielen. Die Stoffsimulation kommt mit wenigen Parametern aus (Abbildung 3). Realistisch wirkende Stoffe gelingen daher auch ohne Fachwissen über die zugrunde liegende Physik, wie es das Softbody-System voraussetzt.

Abbildung 2: So genanntes Weight-Painting variiert die Stärke der Cloth-Simulation für Teile eines 3D-Netzes durch das Aufmalen einer Gewichtung.

Abbildung 2: So genanntes Weight-Painting variiert die Stärke der Cloth-Simulation für Teile eines 3D-Netzes durch das Aufmalen einer Gewichtung.

Abbildung 3: Ein Stück Stoff flattert im Wind: Das neue Cloth-Modul benötigt dazu, außer dem Kraftfeld links im Bild, nur wenige Einstellungen.

Abbildung 3: Ein Stück Stoff flattert im Wind: Das neue Cloth-Modul benötigt dazu, außer dem Kraftfeld links im Bild, nur wenige Einstellungen.

Eine weitere Verbesserung gegenüber dem bisherigen Softbody-System ist das Caching von zuvor berechneten Frames. Einzelschritte, die die Software für die Animationsvorschau bereits errechnet hat, bleiben auch dann erhalten, wenn der Benutzer die Vorschau vorzeitig beendet. Dies beschleunigt das Arbeiten mit der Stoffsimulation, bei der es leicht zu langen Rechenzeiten kommt. Leider lässt sich der Inhalt des Cache noch nicht mit der Blender-Datei speichern. Immerhin arbeitet das Cloth-Modul bei der Berechnung der Deformationen ein gutes Stück flotter als das Softbody-System. Die Website [5] des Entwicklers gibt Auskunft über den Entwicklungsstand des Moduls. Auch Filmdateien mit ungewöhnlichen Effekten wie dem Zerreißen von Stoff finden sich dort.

Nanotechnologie

Eine weitere Kraftprobe für 3D-Software sind Haare und Staubteilchen, die in der Natur in sehr großer Zahl auftreten. Leistungsfähige Anwendungen enthalten hierfür so genannte Partikelsysteme, die es dem Anwender ersparen, die zahllosen Objekte einzeln per Hand zu platzieren. Partikel sind zunächst nur logische Instanzen, die sich nach bestimmten Regeln durch den Raum bewegen. Je nach den optischen Eigenschaften, die ihnen der Anwender zuweist, simulieren sie so unterschiedliche Dinge wie Feuer und Rauch oder explodierende Gegenstände. Wenn die Software ihre Bewegungen nicht im zeitlichen Verlauf animiert abbildet, sondern die Flugbahn als Pfad im 3D-Raum darstellt, bilden sie außerdem die ideale Basis für Haare.

Das Partikelsystem wird in der kommenden Blender-Version viele neue Funktionen erhalten [6]. Auch diese sind bereits in einem SVN-Branch [6] veröffentlicht, [7] stellt inoffizielle Builds bereit, die die neuen Funktionen (Abbildung 4) ebenfalls integrieren.

Abbildung 4: Das Panel des erweiterten Partikelsystems der neuen Blender-Version kennt unterschiedliche Algorithmen für die Darstellung von Partikelflugbahnen. Sein Leistungsumfang umfasst jetzt auch fliegende Partikelwolken, Vogelschwärme und Haare.

Abbildung 4: Das Panel des erweiterten Partikelsystems der neuen Blender-Version kennt unterschiedliche Algorithmen für die Darstellung von Partikelflugbahnen. Sein Leistungsumfang umfasst jetzt auch fliegende Partikelwolken, Vogelschwärme und Haare.

Das neue Simulationssystem enthält mehrere unterschiedliche Module für die Steuerung der Partikelflugbahnen. Das »Newtonian« genannte Bewegungsmodell simuliert das Verhalten von Partikeln anhand von physikalischen Gesetzen wie der Schwerkraft oder Kraftfeldern, die Wind nachbilden. Das »Boids«-Modell [8] bildet dagegen das Verhalten von Tierschwärmen ab.

Um Fisch- oder Vogelschwärme zu erzeugen, muss der Animator dabei nicht mehr das Flugverhalten von Dutzenden oder Hunderten Einzelobjekten festlegen. Es reicht, einige Parameter für das Verhalten des Schwarms festzulegen (Abbildung 5). Raubtiere, vor denen der Schwarm flieht, entstehen mit der Hilfe von Kraftfeldern, genauso wie Ziele, die der Schwarm verfolgen soll. Darüber hinaus weichen Schwärme Hindernissen eigenständig aus (Deflection) und gruppieren sich hinter dem Objekt wieder neu. Mit etwas Geschick automatisiert die Boids-Funktion auch Weltraumschlachten mit unzähligen beteiligten Raumschiffen.

Abbildung 5: Boids sind ein Rechenmodell zur Simulation von Vogel- oder Fischschwärmen. Der Anwender muss nur wenige Parameter wie die Schwarmdichte und seine Geschwindigkeit einstellen.

Abbildung 5: Boids sind ein Rechenmodell zur Simulation von Vogel- oder Fischschwärmen. Der Anwender muss nur wenige Parameter wie die Schwarmdichte und seine Geschwindigkeit einstellen.

Nicht nur räumliche Bewegungen, auch das Laufen auf einer Oberfläche simuliert der Boids-Algorithmus. Damit animierte das KI-System Dinosaurierherden à la “Jurassic Park” oder – mit gewissen Einschränkungen – mittelalterliche Schlachtszenen. Die automatisch vervielfältigten Objekte müssen selbst nicht starr bleiben. Das Video unter [9] zeigt einen Vogelschwarm, bei dem die Tiere mit den Flügeln schlagen.

Kommunikativ

Im neuen Partikelsystemen interagieren die Teilchen untereinander oder mit festen Objekten. Partikel bleiben nun zum Beispiel an einer Oberfläche kleben. Animierter Regen lässt sich so viel einfacher erzeugen als bisher. Zudem gehorchen Partikel nun physikalischen Größen und können Masse und eine Ausdehnung besitzen, was für mehr Realismus und feinere Kontrolle sorgt.

Ein eigenes »Visualization«-Panel kontrolliert das Aussehen der Partikel. Sie dürfen die Form eines Punktes, Kreises oder eines Kreuzes haben. In der gerenderten Szene können die Partikel auch als so genannte Billboards (Plakatwände) dienen, also als der Kamera zugewandte rechteckige Flächen mit einer Abbildung, die wie Kulissen Gegenstände im Hintergrund vortäuschen.

Partikelwolken bestehen meist aus einer geringen Anzahl Basispartikeln, für die die Software eingenständige Flugbahnen errechnet. Eine Multiplikation sorgt anschließend für eine ausreichend große Anzahl. Der Anwender kann Objekte sequenziell oder per Zufallsgenerator aus der Gruppe herausgreifen und bestimmte Operationen auf sie anwenden. So entsteht eine natürlich wirkende Abwechslung.

Kraftfelder, die Partikelsysteme beeinflussen, gibt es wie die Softbodys schon seit Version 2.37. Erst in kommenden Versionen kann ihnen der Anwender jedoch unterschiedliche Formen wie Kugel-, Zylinder- oder Kegelform zuweisen und ihre Größe festlegen. Außerdem sind neue Feldtypen hinzugekommen. Im neuen »Extras«-Panel lässt sich gezielt eine Objektgruppe festlegen, die das Partikelsystem beeinflussen soll. Diese Auswahl verhindert nicht gewünschte Wechselwirkungen, die Partikelwolken lassen sich genauer modulieren.

Ein weiteres Highlight in der neuen Partikelsimulation sind die Reaktoren: Das sind Partikelsysteme, die auf von anderen Partikeln ausgelöste Ereignisse reagieren. Das kann das Ende der Lebenzeit eines Partikels sein oder eine Kollision mit einem oder die Annäherung an ein Objekt. Neben dem simplen Feuerwerkeffekt, der auch jetzt schon mit Kindpartikeln möglich ist, gelingen nun auch bisher nur schwer realisierbare Effekte wie einschlagende Meteoriten, die in viele kleine Teile zerbrechen.

Eine weitere wichtige Eigenschaft von Partikeln ist ihre Lebensdauer. Sie fliegen, durch Kraftfelder beziehungsweise Schwerkraft angetrieben, eine bestimmte Strecke und verschwinden dann. Beim neuen Partikelsystem kann die Existenz der Partikel auch zyklisch verlaufen. Dies verhindert, dass die Partikeldichte zu schnell sinkt.

Haarige Gesellen

Schon immer erzeugte Blender Haare aus Partikelwolken. Bisher sorgte der Parameter »Static« dafür, dass die Software die mit recht wenigen Parametern steuerbare Flugbahn als eine Kurve zeichnete. Nun existiert ein eigener Partikeltyp »Hair«, der dem Designer viel mehr Gestaltungsmöglichkeiten bietet. Eine der spektakulärsten Neuerungen von Version 2.43 war der so gennannte Sculpt Mode, bei dem der Anwender die Form räumlicher Objekte mit verschiedenen Pinseln wie Ton plastisch verformt. Im neu geschaffenen Bake Mode gestaltet der Designer Partikelwolken ähnlich interaktiv. Frisuren lassen sich nun wie mit einem Kamm und einer Schere formen (Abbildungen 6 a, b und c).

Abbildung 6 a, b, c: Mit den Pinseln im Bake-Mode kann der Designer Frisuren gestalten. In der mittleren verlängert der Pinsel die Haarspitzen, in der rechten Abbildung verändert sich deren Richtung.

Abbildung 6 a, b, c: Mit den Pinseln im Bake-Mode kann der Designer Frisuren gestalten. In der mittleren verlängert der Pinsel die Haarspitzen, in der rechten Abbildung verändert sich deren Richtung.

Oberflächlich betrachtet

Blender gilt als Software, die wenig Rücksicht auf Einsteiger nimmt. Die ersten Versionen schreckten neue Anwender durch eigenwillige Tastaturbelegungen und das Fehlen von Menüs ab. Während Menüs schon seit Version 2.10 die Bedienung des als Inhouse-Software entstandenen Blender erleichtern, konnte der Anwender bisher die vorgegebene Tastaturbelegung nicht verändern. Mit der seit Langem geplanten Neuimplementierung des Tastatur-Eventsystems wird dies möglich.

Außerdem sollen die frei schwebenden Werkzeugpaletten, wie sie die meisten anderen Grafikprogramme einsetzen, auch Einzug in die Blender-Oberfläche halten. Version 2.37 führte das Manipulations-Widget ein, das beim Verschieben, Skalieren oder Drehen eines Objekts die Dimensionen des Raums grafisch symbolisiert (Abbildung 7). So ist es aus der zweidimensionalen Bildschirmebene heraus möglich, Objekte im dreidimensionalen Raum interaktiv zu verschieben, zu skalieren oder zu drehen. Schwierig bleibt es dabei allerdings, Punkte im Raum ohne Zwischenraum an bestehende Objekte anzuschließen. Abhilfe soll eine für Version 2.50 geplante Erweiterung des Funktionsumfangs der 3D-Widgets schaffen.

Abbildung 7: Objekte interaktiv verschieben, drehen oder skalieren: Widgets in den für viele 3D-Programme üblichen Farben für die x-, y- und z-Achse erleichtern die Orientierung im Raum.

Abbildung 7: Objekte interaktiv verschieben, drehen oder skalieren: Widgets in den für viele 3D-Programme üblichen Farben für die x-, y- und z-Achse erleichtern die Orientierung im Raum.

Dass die Bewegungen einer gewöhnlichen Computermaus auf zwei Dimensionen beschränkt bleiben, erschwert trotz der 3D-Widgets das Arbeiten im dreidimensionalen Raum. Daher haben die Blender-Entwickler zusammen mit der Firma 3D Connexion ein Plugin entworfen, das die ab 60 Euro erhältliche 3D-Maus Spacenavigator [10] einbindet. Geplant ist außerdem eine Hardware-unabhängige Schnittstelle für 3D-Eingabegeräte. Der Code dazu ist bereits in einem eigenen Branch [11] im SVN-Repository verfügbar.

Bessere Echtzeit-Visualisierung

Eine weitere Voraussetzung für zügiges und effizientes Arbeiten beim 3D-Modelling und Animieren ist eine möglichst realistische Vorschau (Abbildung 8). Das Rendering einer Szene dauert je nach Umfang mehrere Minuten oder Stunden. Von Anfang an setzt Blender hierfür OpenGL ein, sodass sich komplexe Szenen interaktiv bearbeiten und Animationen in Echtzeit errechnen lassen. Der Grad des Realismus, in dem die Software die Objekte darstellt, ist jedoch bisher begrenzt: Die Vorschau simuliert lediglich eine diffuse Reflexion und Glanzlichter, gibt also die Beleuchtung und komplexe Oberflächenmaterialien nur vereinfacht wieder.

Abbildung 8: Bereits jetzt sorgt die Vorschau in Blender dafür, dass der Designer Form und Farbe von räumlichen Objekten beurteilen kann. GLSL-Shader bringen in künftigen Versionen noch mehr Realismus in Echtzeit.

Abbildung 8: Bereits jetzt sorgt die Vorschau in Blender dafür, dass der Designer Form und Farbe von räumlichen Objekten beurteilen kann. GLSL-Shader bringen in künftigen Versionen noch mehr Realismus in Echtzeit.

Ein Projekt des Google Summer of Code, das die Objektoberflächen mit Hilfe der OpenGL Shading Language (GLSL) darstellt, verspricht schon in der Vorschau mehr Realismus [12]. Als Nebeneffekt soll das neue Feature Blender auch zu einem interaktiven Editor für OpenGL-Shader machen. GLSL erweitert außerdem Blenders Game-Engine. Auch dort sorgen GLSL-Shader für eine ausgefeiltere Optik bei den Echtzeitberechnungen. Geplant ist darüber hinaus, dem Anwender das Einbinden eigener, in GLSL geschriebener Oberflächen-Schattierungen zu ermöglichen.

Wer den neuesten Stand der Blender-Entwicklung begutachten möchte, findet im SVN-Repository Branches [4], die unterschiedliche experimentelle Features enthalten, die im SVN-Trunk noch nicht eingepflegt sind. Damit das Kompilieren klappt, muss im selben Verzeichnis wie der ausgecheckte Blender-Ordner das »lib«-Verzeichnis aus »/trunk« liegen. Mit Scons ließ sich Blender im Test dann immer ohne Probleme übersetzen. Für den produktiven Einsatz taugen die SVN-Version jedoch schon deshalb nicht, weil ihre Dateien unter Umständen nicht mehr mit denen der endgültigen Release 2.50 kompatibel sein werden. (pkr)

Infos
[1] Filmprojekt “Elephants Dream”: [http://www.elephantsdream.org]

[2] Filmprojekt “Peach”: [http://peach.blender.org]

[3] Blender-Institute: [http://www.blender.org/blender-institute]

[4] Branches im Blender-SVN: [https://svn.blender.org/svnroot/bf-blender/branches]

[5] Cloth-System: [http://www.wxtools.com]

[6] Neues Partikelsystem: [http://wiki.blender.org/index.php/BlenderDev/Particles_Rewrite_Doc]

[7] Inoffizielle Blender-Builds: [http://www.blenderbuilds.com]

[8] Boids: [http://www.red3d.com/cwr/boids]

[9] Boids-Demovideo: [http://users.utu.fi/jhkarh/media/code/boids2.avi]

[10] 3D-Maus Spacenavigator: [http://www.3dconnexion.com/3dmouse/spacenavigator.php]

[11] 3D-Maus-Unterstützung: [https://svn.blender.org/svnroot/bf-blender/branches/ndof]

[12] Blenders Google-Summer-of-Code-Projekte: [http://wiki.blender.org/index.php/User:Maike/SummerOfCode2007]

LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben