Kinderzimmer Dokumentation
Transcription
Kinderzimmer Dokumentation
Projekt-Dokumentation zum 3D-Animationsfilm LOW POWER von Thorsten Roth, 170875 und Jan Lingelbach, 174674 erstellt im Rahmen der Lehrveranstaltung „Grafik-Programmierung“ unter Leitung von Prof. Dr. Werner Heinzel im Wintersemester 2005/06 an der Fachhochschule Fulda Projekt-Dokumentation – LOW POWER Inhaltsverzeichnis Inhaltsverzeichnis....................................................................................................................... 2 1. Einleitung ............................................................................................................................... 4 2. Zielsetzung und Projektplanung............................................................................................. 4 3. Modellierung .......................................................................................................................... 5 3.1 Modellierung Teil 1: Thorsten Roth................................................................................. 5 3.1.1 Roboter .......................................................................................................................... 5 3.1.1.1 Kopf.................................................................................................................... 5 3.1.1.2 Körper................................................................................................................. 6 3.1.1.3 Arme................................................................................................................... 7 3.1.1.4 Beine................................................................................................................... 7 3.1.1.5 Texturen ............................................................................................................. 8 3.1.1.6 Morph Maps ....................................................................................................... 9 3.1.1.7 Skelegons ........................................................................................................... 9 3.1.1.8 Weight Maps .................................................................................................... 10 3.1.2 Kommode ................................................................................................................ 11 3.1.3 Bett .......................................................................................................................... 11 3.1.4 Flugzeuge ................................................................................................................ 12 3.1.5 Kulisse..................................................................................................................... 12 3.2 Modellierung Teil 2: Jan Lingelbach ............................................................................. 14 3.2.1 Bauklötze................................................................................................................. 14 3.2.2 Buchsammlung........................................................................................................ 14 3.2.3 Eisenbahn ................................................................................................................ 15 3.2.4 Regale...................................................................................................................... 16 3.2.5 Schrank.................................................................................................................... 16 3.2.6 Logo Vorspann........................................................................................................ 16 3.2.7 Gardinenvorhang mit Gardinenstange .................................................................... 17 3.2.8 Fußball..................................................................................................................... 18 3.2.9 Dinosaurier .............................................................................................................. 18 3.2.9.1 Kopf und Körper .............................................................................................. 18 3.2.9.2 Texturierung ..................................................................................................... 19 3.2.9.3 Skelegons ......................................................................................................... 19 3.2.9.4 Weight Maps .................................................................................................... 20 3.2.9.5 Morph Maps ..................................................................................................... 20 3.2.10 Puppe..................................................................................................................... 21 3.2.10.1 Kopf und Körper ............................................................................................ 21 3.2.10.2 Texturierung ................................................................................................... 22 3.2.10.3 Skelegons und Weightmaps ........................................................................... 23 3.2.10.4 Morph Maps ................................................................................................... 23 4. Animation............................................................................................................................. 24 4.1 Animation Teil 1: Thorsten Roth ................................................................................... 24 4.1.1 Vorbereitungen vor dem Animieren der Filmszenen .............................................. 24 4.1.1.1 Beleuchtung und Grundeinstellungen der Kulisse .......................................... 24 4.1.1.2 Grundeinstellungen des Roboters..................................................................... 25 4.1.1.3 Erstellung einer Laufschleife ........................................................................... 26 4.1.2 Animation der Filmszenen ...................................................................................... 27 4.1.2.1 Szene 3 ............................................................................................................. 27 4.1.2.2 Szene 4 ............................................................................................................. 28 Seite 2 von 49 Projekt-Dokumentation – LOW POWER 4.2 Animation Teil 2: Jan Lingelbach.................................................................................. 30 4.2.1 Szene 1 .................................................................................................................... 30 4.2.1.1 Logo im Vorspann............................................................................................ 30 4.2.1.2 Fußball.............................................................................................................. 31 4.2.1.3 Wind ................................................................................................................. 31 4.2.1.4 Gardinen-Vorhang............................................................................................ 32 4.2.1.5 Kamera ............................................................................................................. 32 4.2.3 Szene 8 .................................................................................................................... 33 4.2.3.1 Bones und IKBoost-Tool ................................................................................. 33 4.2.3.2 Morph Maps und Morph Mixer ....................................................................... 34 4.2.4 Szene 32 .................................................................................................................. 35 4.2.4.1 Particle Emitter und Hypervoxels .................................................................... 35 5. Rendering ............................................................................................................................. 37 6. Vertonung und Schnitt ......................................................................................................... 37 7. Darstellung des Aufwands ................................................................................................... 38 7.1 Verwendete Hardware.................................................................................................... 38 7.2 Verwendete Software ..................................................................................................... 38 7.3 Bearbeitungszeiten ......................................................................................................... 38 7.3.1 Modellierung ........................................................................................................... 38 7.3.2 Animation................................................................................................................ 39 7.3.3 Gesamtbearbeitungszeit .......................................................................................... 40 7.3.3.1 Thorsten Roth................................................................................................... 40 7.3.3.2 Jan Lingelbach.................................................................................................. 40 9. Mögliche Verbesserungen.................................................................................................... 41 10. Fazit.................................................................................................................................... 41 11. Literaturangaben und Quellenverzeichnis.......................................................................... 42 11.1 Bücher .......................................................................................................................... 42 11.2 Links im World Wide Web .......................................................................................... 42 11.2 verwendete Musik und Soundeffekte........................................................................... 42 12. Anlagen .............................................................................................................................. 43 12.1 Projektantrag Thorsten Roth ........................................................................................ 43 12.2 Projektantrag Jan Lingelbach ....................................................................................... 44 12.3 Storyboard .................................................................................................................... 45 12.4 Datenträger ................................................................................................................... 49 Seite 3 von 49 Projekt-Dokumentation – LOW POWER 1. Einleitung Im Rahmen der Lehrveranstaltung „Grafikprogrammierung“ des Diplom-Studiengangs Medieninformatik an der Fachhochschule Fulda im Wintersemester 2005/06 sollte der Leistungsnachweis in Form eines Projektes erbracht werden, in dem die im vorangegangenen Semester erlernten Grundlagen der grafischen Programmierung praxisnah angewendet wurden. Hierbei fiel die Entscheidung darauf, einen Kurzfilm mit Hilfe der 3D-Software Lightwave 8 zu realisieren. Als Thema wurde im Projektantrag die Modellierung und Animation einer Szene in einem Kinderzimmer angegeben, in der ein Spielzeugroboter, eine Puppe und ein Spielzeugdinosaurier die tragenden Rollen spielen. 2. Zielsetzung und Projektplanung Nach einer ausgiebigen Brainstorming-Phase wurde die Hintergrundgeschichte des Kurzfilms in einem Storyboard (siehe Kap.12.3) zusammengefasst und in 37 Einzelszenen aufgeteilt. Bei der Gestaltung der Charaktere und des Kinderzimmers boten die berühmten 3DAnimationsfilme TOY STORY, MONSTER AG und ROBOTS eine gute Inspirationsquelle. Im geplanten Kurzfilm soll ein herabfallender Ball einen Spielroboter aktivieren, der im nächtlichen Kinderzimmer eine gefesselte Puppe entdeckt. Beim Versuch, die Puppe zu befreien, kommt es zur Auseinandersetzung mit einem Spielzeugdinosaurier, was die Batterie des Roboters stark belastet. Ziel war es, diese Geschichte in einem ca. fünfminütigen Animationsfilm umzusetzen, wobei besonderer Wert auf realistische Bewegungsabläufe der Charaktere gelegt werden sollte. Nach erstelltem Storyboard fand eine Aufteilung der zu modellierenden Objekte und zu animierenden Szenen statt, sodass die Modellierungsphase beginnen konnte. Zur Kontrolle des Arbeitsfortschritts kamen wöchentliche Meetings zu Stande, die auch zum Besprechen von aktuellen Problemen und Lösungsmöglichkeiten genutzt wurden. Die oben genannte Aufteilung der Geschichte hat den Vorteil, dass bereits abgeschlossene Szenen gerendert werden können, während an weiteren schon parallel gearbeitet werden kann, wodurch sich ein nichtlinearer Arbeitsablauf ergibt. Seite 4 von 49 Projekt-Dokumentation – LOW POWER 3. Modellierung 3.1 Modellierung Teil 1: Thorsten Roth Nachdem die Hintergrundstory des Kurzfilms festgelegt und diese in Szenen aufgeteilt war, wurde klar, dass der Film mindestens eine Dauer von 5 Minuten haben würde. Das bedeutete, dass wenigstens 7500 Frames zu rendern wären! Aus diesem Grund wurde beim Modellieren sämtlicher Objekte darauf geachtet, dass die Anzahl der Polygone so gering wie möglich zu halten ist. 3.1.1 Roboter Der Film ROBOTS von Walt Disney diente hier als Ideenvorlage für das Design des Roboters. 3.1.1.1 Kopf Für den Kopf wurde zunächst mit dem „Box“-Tool (Shortcut Shift-x) eine Box erstellt und im „Numeric-Panel“ (Shortcut n) in mehrere Segmente unterteilt. Der Roboter sollte am Ende eine Größe von 30 cm haben. Darum wurde bereits hier darauf geachtet, dass die Ausmaße der Box in etwa mit denen des späteren Kopfes übereinstimmen. Mit dem „Move“-Tool (Shortcut t), dem „Drag“-Tool (Shortcut Strg-t), dem „Stretch“-Tool (Shortcut h) und dem „Smooth Shift“-Tool (Shortcut Shift-f) wurde nun die Box in eine runde Form gebracht. Während nahezu der gesamten Modellierung des Roboters war die „Symmetry“ (Shortcut Shift-y) eingeschaltet. Die „Symmetry“ bewirkt, dass nur eine Hälfte des Kopfes modelliert werden muss. Lightwave spiegelt die durchgeführten Operationen an der Z-Y-Ebene automatisch, so dass zum Schluss ein perfekt symmetrisches Gesicht entsteht. Es ist jedoch zu beachten, dass dies nicht mit allen Tools funktioniert. Ein Beispiel hierfür ist das „Knife“Tool (Shortcut Shift-k). Mit dem „Smooth Shift“-Tool wurden nun die Augenhöhlen und die Nase modelliert. Die markierten Polygone wurden dabei nicht mit der linken Maustaste herausgezogen. Sie wurden nur mit der rechten Maustaste, bei aktiviertem „Smooth Shift“-Tool, dupliziert und dann mit dem „Move“-Tool verschoben. So kann präziser gearbeitet werden als mit dem „Smooth Shift“-Tool selbst. Der Kamm auf dem Kopf wurde ebenfalls auf diese Weise erstellt. Der gesamte Kopf bekam durch „Change Surface“ (Shortcut q) eine neue Oberflächen- Abb.: Verschiedene Entwicklungsstufen des Kopfes Seite 5 von 49 Projekt-Dokumentation – LOW POWER bezeichnung zugewiesen. Diese Zuweisung ist immer dann notwendig wenn ein bestimmter Bereich der Oberfläche eines Objekts später eine eigene Farbe oder Textur erhalten soll, die dann im „Surface Editor“ zugeteilt werden kann. In einem neuen Layer wurden im Anschluss die Ohren mit den Antennen modelliert. Die Ohren bestehen je aus einer Halbkugel vom Typ Tessellation (im „Numeric Panel“ -> Type Tessellation). Kugeln (Ball -> Shortcut Shift-o) vom Typ Tessellation bestehen nur aus DreiPunkt-Polygonen und haben eine durchgehend glatte Oberfläche, wenn „Subpatching“ (Shortcut Tab) eingeschaltet ist. Das „Subpatching“ bewirkt, dass ein grob modelliertes Objekt mit weichen Rundungen dargestellt wird. Von „Subpatch“ werden jedoch nur Polygone mit bis zu vier Punkten beeinflusst. Beim Modellieren muss daher darauf geachtet werden, dass Polygone mit fünf oder mehr Punkten vermieden werden. Die Spitzen der beiden Antennen bilden zwei kleine Kugeln gleichen Typs. Die Antennen selbst sind einfache lang gezogene Boxen. Der Unterkiefer sollte wie eine Klappe aussehen. Hierfür wurde eine flache Box mit mehreren Segmenten in einem weiteren Layer erstellt und mit dem „Bend“-Tool (Shortcut ~), „Rotate“Tool (Shortcut y), „Move“-Tool und dem „Drag“-Tool an die Rundung des Kopfes angepasst und in Form gebracht. Zwei kleine Halbkugeln an den Seiten des Kiefers stellen die Befestigung des Unterkiefers am Kopf durch Nieten dar. Die Augäpfel wurden aus zwei Kugeln vom Typ „Globe“ erstellt. Mit „Change Surface“ wurden dann die Bereiche für Pupillen und den Rest der Augäpfel festgelegt. Zwei kleine vierfach unterteilte Boxen, mit „Move“, „Drag“ und „Rotate“ in Form gebracht und positioniert, bilden die Augenbrauen. Je zwei mit „Stretch“ bearbeitete Halbkugeln formen die oberen und unteren Augenlieder. Für den Hals wurde ein Zylinder („Disc“-Tool => Create-Tab -> Primitives -> Disc) erstellt. Zur Zierde ist eine Feder um diesen Zylinder modelliert worden. Hierfür wurde in einem extra Layer eine „Spline“ (Create-Tab -> Curves -> Spline Draw) in Form einer Feder gezeichnet. In einem zweiten Layer entstand nun ein zweidimensionales „Disc“-Polygon mit sechs Punkten. Den Layer mit der Spline im Hintergrund, konnte dann mit dem „Rail Extrude“Tool (Multiply Tab-> Extend -> Rail Extrude) die Feder modelliert werden. Der Modeler folgt dabei automatisch dem Verlauf der „Spline“. 3.1.1.2 Körper Das Grund-Objekt des Körpers bildete wieder eine Box, die in Segmente eingeteilt wurde. Mit den Tools „Drag“, „Move“, „Stretch“, „Smooth Shift“ und „Rotate“ wurde dann nach und nach aus der Box die endgültige Form des Körpers herausgearbeitet. Der Knopf am Rücken besteht aus einem „Disc“-Objekt als Basis des Knopfes und aus einer Kombination aus einem kleineren „Disc“-Objekt und einer abgeflachten Halbkugel vom Typ Tessellation (der Knopf selbst) besteht. Die Energieanzeige am Bauch des Roboters wurde aus einer Box mit „Rotate“, „Move“, „Stretch“ und „Smooth Shift“ erzeugt. Die Anzeigenadel ist eine abgeflachte Kugel, aus der mit dem „Bevel“-Tool (Multiply-Tab -> Extend -> Bevel) ein spitz zulaufendes Polygon herausgezogen wurde. Der Körper wurde, wie der Kopf auch, im Symmetrie-Modus modelliert. Abb. : Rückseite Körper Abb. : Vorderseite Körper Seite 6 von 49 Projekt-Dokumentation – LOW POWER 3.1.1.3 Arme Die Schultergelenke bestehen aus einfachen „Ball“-Objekten. Die Oberarme und die Ellenbogengelenke werden von „Disc“-Objekten gebildet. Für die Unterarme wurden ein weiteres Mal segmentierte Abb. : Rechter Arm Abb. : Rakete Boxen erzeugt, deren Punkte und Polygone wieder mit „Drag“, „Move“, „Smooth Shift“ und „Stretch“ so verschoben wurden, bis das gewünschte Aussehen der Unterarme erreicht war. Der rechte Arm erhielt eine mit einem „Capsule“-Objekt erstellte Halterung für eine kleine Rakete, die der Roboter später im Film auf den Dinosaurier schießen sollte. Die Rakete besteht ebenfalls aus einem „Capsule“-Objekt, dessen eines Ende mit „Stretch“ und „Move“ nach innen verschoben wurde und so die Öffnung der Schubdüse darstellt. Die drei Flügel der Rakete wurden mit dem „Smooth Shift“-Tool aus dem Raketenkörper herausgezogen. Der Knopf, der auf dem Rücken des Körpers bereits seine Position gefunden hatte, wurde kopiert, mit dem „Size“-Tool (Shortcut Shift-h) verkleinert und mit „Move“ und „Rotate“ auf der Oberseite des rechten Armes positioniert. Zwischen Raketenhalterung und dem Knopf wurde nun noch einem kleinen Bereich mit „Change Surface“ eine neue Oberfläche zugewiesen, um später Texturen für eine Aufladeanzeige der Abschussenergie aufbringen zu können. Anstelle einer Raketenhalterung wurde am linken Arm eine Kugel als Handgelenk erstellt und anstatt der Rakete eine Hand aus einer segmentierten Box geformt. Die Finger der Hand wurden hier mit dem „Bevel“-Tool aus der Box Abb. : Linker Arm gezogen. 3.1.1.4 Beine Ober- und Unterschenkel sowie die Füße bestehen auch hier wieder aus segmentierten „Box“-Objekten, die mit den oben bereits genannten Tools in Form gebracht wurden. Die Verbindungen der Beine mit den Kugel-Hüftgelenken bilden einfache „Disc“-Objekte. Die beiden Schraubenköpfe an den Oberschenkeln bestehen je aus einer Halbkugel. Die Schlitze der Schrauben wurden mit dem „Smooth Shift“-Tool erstellt. Abb. : Beine Nachdem der Roboter nun fertig modelliert war, wurden alle Teile des Roboters in einen Layer verschoben. Anschließend wurden mit Metaform-„Subdivide“ (Shortcut Shift-d und Subdivision-Methode: Metaform) alle Polygone, von Objekten, die aus einer Box entstanden sind (z.B. Kopf, Körper, etc.), nochmals unterteilt. Die Einstellung Metaform bewirkt, dass bei der Unterteilung die grobe Form der modellierten Objekte feiner herausgearbeitet wird. Hierdurch erhöhte sich zwar die Anzahl der Polygone, da der Roboter jedoch im „Subpatch“Seite 7 von 49 Projekt-Dokumentation – LOW POWER Modus abgespeichert wurde, konnte später im Layouter die Gesamtanzahl der Polygone, die durch das Subpatching entstanden, verringert werden. Dies wurde dort erreicht, indem der Subpatchlevel in den „Objekt Properties“ des Roboters auf 2 eingestellt wurde. Im Layouter wurden so die Polygone des Roboters nur zweimal in Drei-Punkt-Polygone unterteilt und die Anzahl der Polygone ist geringer, als wenn auf das Metaform-„Subdivide“ verzichtet wird, der Subpatchlevel dafür auf 3 gesetzt wird. Abb. : Der fertige Roboter 3.1.1.5 Texturen Für die einzelnen Körperteile des Roboters wurden mit „Change Surface“ Oberflächenbezeichnungen erstellt. Anschließend wurden ihnen im „Surface Editor“ (Shortcut F5 unter Basic -> Color) Farben in mehreren Grautönen zugeordnet und der Wert Specularity auf 20% gesetzt, was der Objektoberfläche einen Glanzeffekt verleiht. So sieht der Roboter nun aus, als ob er aus einem Kunststoffmaterial besteht. Für den Knopf am Rücken, die Energieanzeige am Bauch und die Poweranzeige am Raketenarm wurden nun in Adobe Photoshop Texturen erzeugt, die im „Surface Editor“ den Abb. : Knopf am Rücken einzelnen Surfaces zuwiesen wurden. Beispielhaft soll hier nur die Texturierung der Energieanzeige am Bauch erläutert werden. Zunächst wurde im „Surface Editor“ das Surface „Energieanzeige“ angewählt. Unter Basic Tab -> Color gelangte man nun über den Button „T“ in den „Texture Editor“. Hier wurde nun ein weiterer Textur-Layer angelgt. Im oberen Layer wurde über „Image -> load image“ die Alphatextur der Energieanzeige geladen (CD: \Texturen\Roboter \Energieanzeige_alpha.jpg). Diese konnte dann mit „Scale“ und „Position“ in der Größe angepasst und positioniert werden. Im unteren Layer wurde auf gleiche Weise die eigentliche Textur geladen (CD: \Texturen\Roboter \Energieanzeige_color.jpg). Die AlphaTextur bewirkt, dass von der Color-Textur nur die Bereiche sichtbar sind, die in der Alpha-Textur weiß sind. Hierfür musste die selbst erstellte Alpha-Textur jedoch invertiert werden (Häkchen bei Invert Layer im oberen Abb. : Texture Editor Layer). Alle weiteren Texturen, die für den Roboter verwendet wurden befinden sich im Ordner \Texturen\Roboter\ auf der CD. Die festgelegten Surfaces und deren genauen Einstellungen findet man im „Surface Editor“ (F5) im Modeler oder Layouter. Seite 8 von 49 Projekt-Dokumentation – LOW POWER 3.1.1.6 Morph Maps Der Roboter sollte später im Film über die Mimik des Gesichts seine Gedanken und Gefühle ausdrücken. Damit dies möglich war mussten, nachdem die Modellierung des Roboters abgeschlossen war, Morph Maps erstellt werden. Zunächst wurde festgelegt welche Mimiken der Roboter im Verlauf des Films darstellen sollte (wütend, verliebt, erstaunt, traurig, zielen, Augen zugekniffen, Augenbrauen hochziehen). Für jeden Gemütszustand wurde nun eine neue Morph Map für einen Endomorph angelegt. Hierzu betätigt man im Modeler rechts unten den Button „M“. Im Dropdown-Menü rechts daneben wählt man dann „new“. Hier finden sich dann im Weiteren auch die angelegten Morph Maps. Nachdem eine neue Map angelegt war, wurden nun die nötigen Polygone (Shortcut Strg-h) oder Punkte (Shortcut Strgg) markiert. Dann wurden sie mit den Tools „Drag“, „Move“, „Stretch“ und „Rotate“ so verschoben, wie sie für die gewünschte Mimik positioniert werden sollten. Das Aufladen der Energieanzeige am Bauch wurde ebenfalls durch eine Morph Map realisiert. Zu beachten war jedoch, dass nach dem Modellieren der Morph Maps nichts mehr am BasisObjekt verändert werden durfte. Die Anzahl der Punkte im Basis-Objekt und in den Morph Maps müssen übereinstimmen! Abb. : Einige Morph Maps 3.1.1.7 Skelegons Roboter und Rakete befanden sich jetzt je in einem Layer. Im dritten Layer wurde nun mit Skelegons ein Skelett für den Roboter erstellt. Die Körperteile, die später in der Animationsphase bewegt werden sollten und nicht über Endomorphs gesteuert wurden (wie die Gesichtszüge), bekamen ein Skelegon zugeteilt. Auf die Funktionsweise wird im Kapitel 3.1.1.8 näher eingegangen. Mit Create Skelegons (Setup-Tab -> Skelegons -> Create Skelegons) wurden nun die Skelegons, das Roboter-Objekt im Hitergrund-Layer, gezeichnet. Jedes neue klicken mit der Maus erzeugte dabei einen weiteren Child-Skelegon. Die Skelegons konnten, genau wie Punkte und Polygone selektiert und mit „Move“ und „Rotate“ positioniert und gedreht werden. So entstanden insgesamt 40 Skelegons für Arme mit Hand, Beine, Körper, Hals, Kopf und die Augen. Nach Vollendung des Skeletts, wurden die Skelegons dann in denselben Layer kopiert, in dem sich auch der fertige Roboter befand. Im Layouter mussten die Skelegons dann in Bones umgewandelt werden, damit man das Objekt über diese Bones steuern konnte. Abb. : Skelegon Tree Seite 9 von 49 Projekt-Dokumentation – LOW POWER 3.1.1.8 Weight Maps Diese Bones würden später einen Bestimmten Einflussbereich haben, in dem sie die ihnen umliegenden Punkte des Roboters mit sich ziehen. Dies kann zu Fehlern führen, wenn ein Bone des rechten Beins Punkte vom linken Bein mit sich verschiebt. Um dies zu verhindern muss jedem Bone mitgeteilt werden, welche Punkte des Roboters er beeinflussen darf. Hierzu werden für jeden Bone so genannte Weight Maps erstellt und ihm zugeteilt. Ist der Button „W“ im Modeler rechts unten aktiviert, kann man im danebenliegenden Dropdown-Menü eine neue Weight Map erzeugen (alternativ über: Map-Tab -> Weight -> New Weight Map). Nur noch die Polygone, die vorher markiert wurden, gehören jetzt dieser Weight Map an und fallen in den Einflussbereich des Bones. Für jeden der 40 Skelegons wurde so je eine Weight Map angelegt und über „Skelegon Tree“ (Setup-Tab -> Skelegons -> Skelegon Tree) dem jeweiligen Skelegon zugewiesen. Die Zuweisung der Weight Maps musste so nicht noch einmal im Layouter durchgeführt werden. Diese Einstellungen wurden dann bei der Umwandlung der Skelegons in Bones mit übernommen. Abb. : Weight Map der Hand Seite 10 von 49 Projekt-Dokumentation – LOW POWER 3.1.2 Kommode Der Körper und der Deckel der Kommode bestehen jeweils aus einer Box, deren Kanten und Ecken mit „Radius“ und „Smooth Edge“, über das „Numeric Panel“, abgerundet wurden. Somit konnte auf die Aktivierung von „Subpatch“ verzichtet werden, was im Layouter die Anzahl der Polygone wieder beträchtlich erhöht und die Renderzeit vergrößert hätte. Diese Vorgehensweise ist ein akzeptabler Kompromiss zwischen gutem Aussehen und niedriger Renderzeit. Vier flache ebenfalls abgerundete Boxen bilden die Schubladenblenden. Mit einer Box im Hinergrund-Layer wurde mit dem „Boolean“-Tool (Construct-Tab -> Boolean: hier Subtract einstellen) der Schacht für die Schublade ausgeschnitten. Eine weitere einfache Box wurde dann in der Größe angepasst und mit dem „Smooth Shift“-Tool wurde die Vertiefung der Schublade modelliert. Die Schublade wurde so positioniert, dass sie ein Stück aus der Kommode herausragt. Eine abgeflachte Kugel und ein Disc-Objekt dienten als Schubladengriff und wurden fünfmal kopiert, positioniert und gesubpatcht. Mit drei weiteren segmentierten Boxen wurden noch eine Socke, die aus der Schublade hängt und zwei einfache Kleidungsstücke, die zusammengelegt in der Schublade liegen, modelliert. Die Socke und die beiden Kleidungsstücke wurden gesubpatcht, mit Surfaces belegt und bekamen Farben zugeteilt. Die Socke wurde mit einer Textur (CD: \Texturen\Kulisse\Socke.jpg) belegt. Die Oberflächen der Kommode und der Schubladen wurden einzeln mit „Change Surface“ neu Bezeichnet und in ähnlicher Weise, wie die Energieanzeige des Roboters mit einer Holztextur (CD: \Texturen\Kulisse\Bett_Kommode_Schrank_Reg ale_Color.jpg, \Texturen\Kulisse\Bett_Kommode_Schrank_Reg ale_Spec_Bump.jpg) belegt. Die Textur wurde im Internet von der Seite www.grsites.com/textures/ herunter geladen. Die Schubladengriffe wurden mit einem starken Glanzeffekt (Specularity 80%) belegt und sind orangefarben, wodurch eine Abb. : Kommode Messingoptik entsteht. 3.1.3 Bett Das Bett wurde in gleicher Weise, wie die Kommode modelliert. Es setzt sich aus Boxen mit abgerundeten Ecken und Kanten (Numeric-Tool: Radius, Smooth Edge) für den Bettrahmen, die Eckpfosten und die Matratze zusammen. Segmentierte und gesubpatchte Boxen, die mit „Drag“ und „Stretch“ in Form gebracht wurden bilden die Bettdecke und das Kissen. Von einer Kugel ausgehend wurde der Kopf mit einem Ohr und die Schultern eines Kindes modelliert. Die Schultern sowie das Ohr wurden dabei mit dem „Smooth Shift“-Tool aus der Kugel herausgezogen und mit dem „Drag“- und „Stretch“Abb. : Bett Seite 11 von 49 Projekt-Dokumentation – LOW POWER Tool geformt. Für die Haare wurden die dafür notwendigen Polygone selektiert und mit dem „Extrude“-Tool (Shortcut Shift-e) hervorgehoben, dann ausgeschnitten und sofort wieder eingefügt. Dies ergab eine scharfe Kante zwischen Kopf und Haaransatz. Es war hier nicht nötig ein Gesicht zu modellieren, da das Kind-Objekt halb unter der Bettdecke und mit dem Gesicht zur Wand liegend positioniert wurde. Im Film später würde man nur den Rücken und den Hinterkopf sehen. Der Rahmen und die Eckpfosten erhielten die gleiche Holztextur wie die Kommode. Die Textur, mit der Bettdecke, Kissen und Matratze belegt wurden, befindet sich auf der CD im Verzeichnis \Texturen\Kulisse\Bettdecke_color. Diese Texturen sind von der Seite www.grsites.com/textures/ heruntergeladen worden. Der Schlafanzug, der Kopf und die Haare erhielten nur unterschiedliche Farben. Die Haare erhielten für Diffuse noch die Procedural Texture: ST Clouds im „Texture Editor“. 3.1.4 Flugzeuge Das Flugzeug setzt sich aus „Box“-Objekten für Rumpf, Flügel, Propeller und Radhalterungen sowie „Capsule“-Objekten für die Reifen zusammen. Das Leitwerk wurde mit „Smooth Shift“ aus dem Flugzeugrumpf herausgezogen und mit „Drag“ und „Strech“, genau wie der Rest der Teile des Flugzeugs, geformt. Während der Modellierung des Flugzeugs war die „Symmetry“ durchgehend eingeschaltet. Da das Flugzeug nur ein Nebenobjekt ist, auf das im Film nicht das Hauptaugenmerk gelegt wird und es mehrfach in der Szene Positioniert wurde, wurde es nicht gesubpacht, um die Polygonanzahl so gering wie möglich zu halten. Auch wurde auf Texturen verzichtet. Die Oberflächen wurden nur mit unterschiedlichen Farben versehen. Durch eine leichte Variation in den Farben und der Objektstruktur entstanden so sehr schnell drei unterschiedliche Flugzeugtypen. Abb. : Einer der 3 Flugzeugtypen 3.1.5 Kulisse Die Kulisse, in der der Film spielt, repräsentiert ein Kinderzimmer. Das Zimmer selbst besteht aus einem „Box“-Objekt das 2,10 m hoch, 3 m breit und 4,50 m lang ist. Die Polygone der Box, besser gesagt deren Normalenvektoren, wurden mit dem „Flip“-Tool (Shortcut f) geflippt. Befindet sich die Kamera später in der Szene im Zimmer, wird so verhindert, dass sie durch die Wände des Zimmers hindurch sieht und die Texturen nur von außerhalb des Zimmers zu erkennen wären. Für die Tür und das Fenster wurden mit dem „Boolean“-Tool durch Subtract die Öffnungen aus der Zimmer-Box herausgeschnitten. Die dafür nötigen, in der Größe Abb. : Kinderzimmer Blickrichtung Bett Seite 12 von 49 Projekt-Dokumentation – LOW POWER angepassten, Boxen lagen dabei wieder in einem Hintergrundlayer. Die Tür besteht aus einer segmentierten Box deren Ecken und Kanten, wie schon bei der Kommode und dem Bett, mit Smooth Edge und Radius im „Numeric“-Tool abgerundet erzeugt wurden. Mit dem „Smooth Shift“-Tool wurden die vier Vertiefungen in der Tür modelliert. Ein Schubladengriff der Kommode wurde kopiert, vergrößert und hier nun als Türknauf eingesetzt. Für den Fensterrahmen und die beiden Fensterflügel wurden nochmals drei „Box“-Objekte mit abgerundeten Ecken und Kannten erzeugt. Öffnungen für Fensterflügel und die Glasscheiben wurden abermals mit „Boolean -> Subtract“ herausgeschnitten und die endgültige Form der Fensterflügel mit „Move“, „Stretch“ und „Smooth Shift“ modelliert. Eine flache gesubpatchte Box bildet den Teppich. Die Objekte LP_Bett.lwo, LP_Kommode.lwo und die drei Flugzeug-Objekte (LP_Flugzeug_*_weiss.lwo) wurden nun in die Kulisse kopiert und mit „Move“ und „Rotate“ positioniert. Gleichsam wurde mit den Objekten von meinem Projektpartner verfahren. So fanden auch der Schrank, die Regale, der Vorhang, Bücher, Eisenbahn, der Fußball und die Bauklötze ihren Platz. Die Fensterflügel sowie der rechte Teil des Vorhangs wurden je in einen separaten Layer kopiert, damit diese später in den Szenen einzeln animiert werden konnten. Bett und Teppich wurden ebenfalls in einen eigenen Layer geschoben, um ihnen später in der Szene einen höheren Subpatchlevel als dem Zimmer zuordnen zu können. Abschließend wurde noch ein Sternenhimmel mit einem Vollmond erstellt. Hierbei wurden auf ein zweidimensionales, mehrfach unterteiltes Box-Objekt zwei Texturen aufgebracht. Ein kleines Feld in der Mitte wurde mit der Mondtextur belegt, die restliche Fläche außen herum mit der Sternentextur. Für die Sternentextur wurde die Mondtextur in Adobe Photoshop modifiziert. Die Originaltextur des Mondes wurde über Google gefunden und von der Seite www.noao.edu/image_gallery/html/im0650.html herunter geladen. Abb. : Kinderzimmer Blickrichtung Bett Die Textur des Fußbodens ist von Lightwave entnommen und wurde mit Adobe Photoshop leicht verändert. Sie ist zu finden unter \LightWave[8]\Content\Images\Lighting\floor.jpg in den Programmverzeichnissen von LightWave. Die Holztexturen für Tür und Fenster wurden im Internet von der Seite www.grsites.com/textures herunter geladen. Ebenfalls von dieser Seite stammt die Textur für die Wände, welche mit Photoshop noch leicht modifiziert wurde. Die Textur für den Teppich findet sich auf der Seite www.spielteppiche.de/ae/joy/joy8/joy8.html und wurde über Google gefunden. Die Texturen für die Bilder an den Wänden wurden ebenfalls über Google auf den folgenden Seiten gefunden: www.familien-ausflug.de/portal/modules/Galerie/images/kinder/Eselritt.jpg (Bild_Baden), members.tripod.com/alish_poster_m/monstersinc03.jpg (Bild_Monster_AG), gb.chinabroadcast.cn/mmsource/images/2004/11/22/el041122037.jpg (Bild_Toy_Story), www.maikaeferflieg.de/galerie/gemalte_bilder_7.html (Bild_Schmetterling). Die zuvor genannten Texturen befinden sich auf dem Datenträger im Ordner /Texturen/Kulisse. Seite 13 von 49 Projekt-Dokumentation – LOW POWER 3.2 Modellierung Teil 2: Jan Lingelbach Im Folgenden werden alle zehn modellierten Objekte detailliert beschrieben, sodass alle verwendeten Tools und Befehle in angemessenem Maße angesprochen und erklärt werden. 3.2.1 Bauklötze Um im zu modellierenden Kinderzimmer eine interessante und belebte Atmosphäre zu schaffen, wurden einzelne Holz-Bauklötzchen modelliert. Diese wurden jeweils aus BoxObjekten (Shortcut Shift + x), bzw. aus Disc-Objekten erstellt. Mit dem „Bevel“-Tool wurden die Kanten ein wenig abgerundet und bei den Brücken-Bauklötzen wurde mit Hilfe der „Boolean“-Operation „Subtract“ (Shortcut Shift + b) die Hälfte einer Disk herausgeschnitten, um die gewünschte Form zu erhalten. Den Bauklötzen wurde mit „Change Surface“ (Shortcut q) jeweils eine eigene Oberfläche zugeordnet, um ihnen dann im „Surface Editor“ (Shortcut F5) unterschiedliche Farben zuteilen zu können. Als Textur kam die schon bei Bett und Kommode verwendete Holztextur des Projektpartners zum Zuge. Die einzelnen Bauklötze wurden am Ende der Modellierungsphase dann mehrfach kopiert und in verschiedenen Layern mit den „Move“- und „Rotate“-Befehlen unterschiedlich angeordnet, so dass der Eindruck von unterschiedlichen Holzklotz-Gebilden entsteht, die von einem Kind gebaut wurden. Diese einzelnen Layer wurden am Ende an unterschiedlichen Stellen im Kinderzimmer positioniert. Abb. : Holzklotz-Ansammlung 3.2.2 Buchsammlung Zur Befüllung der Regale im Kinderzimmer wurde u. a. eine Buchsammlung erstellt. Hierbei begann die Modellierung eines Buches mit dem Erstellen einer Hälfte des Einbands. Es wurde ein „Box“-Objekt erstellt, welches durch mehrere Segmente unterteilt war. Durch Verschieben verschiedener Punkte mit den Tools „Move“ (Shortcut t), bzw. „Drag“ (Shortcut Shift + t) wurden dann die Größenverhältnisse zwischen Buchrücken und Buchdeckel verbessert und schließlich das entstandene Objekt mit dem Befehl „Mirror“ (Shortcut Shift + v) gespiegelt und nach Markierung der entsprechenden Punkte die Hälften am Buchrücken mit dem Befehl „Weld“ zusammengefügt. Schließlich wurde das erstellte Objekt „gesubpatcht“ (Shortcut Tabulator-Taste), um eine Kantenabrundung zu erzielen. Abb. : Buchsammlung Seite 14 von 49 Projekt-Dokumentation – LOW POWER Eine zweite Box zur Darstellung der Buchseiten wurde innerhalb der Buchdeckel und Buchrücken erstellt und mit der Procedural Texture „STClouds“ versehen, wodurch sich ein seitenähnliches Aussehen im sichtbaren Bereich ergab. Nachdem ein Buch erstellt war, konnte dies mit dem „Clone“-Tool (Shortcut c) vervielfältigt werden. Um jedoch nicht alle Bücher gleich aussehen zu lassen, wurden sie mit den Tools im „Modify“-Tab in der Größe und Lage verändert und mit Hilfe des „Surface Editors“ in der Farbe unterschiedlich gestaltet. Beim Erstellen von Buchtiteln, welche auf dem Buchrücken zu sehen sind, wurde das „Text“-Tool verwendet, welches im Kapitel 3.2.6 (Modellierung Logo Abspann) genau beschrieben wird. 3.2.3 Eisenbahn Um auf dem Teppich in der Mitte des Kinderzimmers eine Art „Spielwiese“ entstehen zu lassen, wurde eine Holzeisenbahn modelliert und entsprechend platziert. Diese Eisenbahn besteht aus der Lokomotive, drei unterschiedlichen Waggons sowie den Eisenbahnschienen. Diese Objekte wurden in unterschiedlichen Layern erstellt und erst nach Ende der Modellierung in einen einzigen Layer kopiert. Einzelne Waggons oder die Lokomotive wurden noch mit anderer Farbgebung an unterschiedlichen Stellen, wie z. B. in den Regalen des Kinderzimmers, angeordnet. Die Lokomotive und die drei Waggons entstanden mit einem identischen, geklonten Unterteil, welches nur in der Länge variiert wurde. Es bestand aus einem „Box“-Objekt mit vier „Disc“Objekten, welche die Räder darstellten und zusätzlich noch je ein „Ball“-Objekt (Shortcut Shift + o) als Radbefestigung. Bei der Lokomotive wurden für das Oberteil drei „Box“-Objekte und für die beiden Schornsteine „Disc“-Objekte verwendet, wobei ausgewählte Punkte, bzw. Polygone der Objekte mit den Befehlen „Move“, „Drag“, „Size“ und „Stretch“ in die passende Form gebracht und die „Boolean“-Operation „Subtract“ zum Herausschneiden verwendet wurde. Die Waggons entstanden in gleicher Arbeitsweise wie die Lokomotive. Die Eisenbahnschienen wurden aus einem lang gezogenen „Box“-Objekt erstellt und ebenfalls mit der „Boolean“-Operation „subract“ und dem „Mirror“- und „Clone“-Tool bearbeitet und überflüssige Punkte mit „Merge Points“ entfernt, bzw. mit „Weld“ zusammengefügt. Bei der Modellierung der Eisenbahnschwellen wurde das „Symmetrize“-Tool verwendet, so dass nur eine einzige Schwelle erstellt und positioniert werden musste. Durch Auswahl des Tools in der „Duplicate“-Kategorie unter „More“ konnte die Anzahl der Schwellen eingestellt werden und die Kopien wurden dann symmetrisch passend im Kreis dupliziert. Seite 15 von 49 Abb. : Eisenbahn Projekt-Dokumentation – LOW POWER 3.2.4 Regale Die Regale des Kinderzimmers bestehen aus den Regalwänden, der oberen Deckplatte und zwei Regalböden. Sie wurden mit „Box“-Objekten modelliert, wobei die Kanten bei der Modellierung mit den Einstellungen „Radius“ und „Radius Segments“ im „Numeric“-Panel (Shortcut n) etwas abgeflacht wurden. Als Textur wurde ein weiteres Mal die Bett- und Kommodentextur des Projektpartners verwendet. Abb. : Regal 3.2.5 Schrank Der Kleiderschrank im Zimmer setzt sich zusammen aus Schranktür mit Türknopf und den Schrankwänden, bzw. Schrankdecke und -boden. Hier wurde in gleicher Weise modelliert wie bei den oben beschriebenen Regalen und der Eisenbahn. Die Schranktür wurde nur einmal erstellt und dann mit dem „Mirror“-Tool gespiegelt. Die Türknöpfe wurden von der Kommode des Projektpartners übernommen, um ein einheitliches Aussehen der Möbel zu gewährleisten. Für die Schranktür wurde nur eine Lamelle erstellt und positioniert und diese dann mit dem Befehl „Clone“ (Shortcut c) vervielfältigt. Auch beim Schrank kam wieder die Bett- und Kommodentextur zur Verwendung. Abb. : Schrank 3.2.6 Logo Vorspann Zur Erstellung des Logos für den Vorspann wurde das „Text“-Tool verwendet. Bevor man mit diesem Werkzeug arbeiten kann, ist es nötig, die gewünschte Schriftart in den Modeler zu laden. Dies geschieht durch Klicken auf den Button „Manage Fonts“ in der „Create“-Toolbar, wodurch sich ein Auswahlfenster öffnet, in dem man die zu ladende Schriftart auswählt. Beim „LOW POWER“-Schriftzug fiel die Entscheidung auf eine frei verfügbare Schriftart namens „ToonTime“, welche auf der Homepage http://www.fonts-online.de/ erhältlich ist. Dieser Font wurde nach dem Download wie oben beschrieben in den Modeler geladen. Die einzelnen Buchstaben des Logos entstanden jeweils in einem eigenen Layer, damit sie später im Layouter mit dem „Follower“-Tool (siehe Kap. 4.2.1.1) animiert werden konnten. Mit dem „Extrude“-Tool wurden aus den zweidimensionalen Buchstaben dreidimensionale Objekte erstellt, wobei die Kanten der Vorderseite zusätzlich noch mit dem „Bevel“-Tool leicht abgerundet wurden. Als Textur stellte sich die schon beim Teppich von meinem Projektpartner verwendete Textur als besonders gelungen heraus. Sie wurde als „Color Map“ mittels „Spherical Projection“ auf die Buchstaben gelegt und mit den Parametern „Scale“ und „Position“ im „Texture Editor“ angepasst. Um die Buchstaben noch interessanter zu gestalten, wurde als „Bump Map“ eine Seite 16 von 49 Projekt-Dokumentation – LOW POWER „Procedural Texture“ vom Typ „Smoky2“ verwendet, welche ebenfalls als „Diffuse Map“ eingebunden wurde, um die Menge des reflektierten Lichts auf den Buchstaben von der „Bump Map“ abhängig zu machen. Die „Luminosity“ des Logos wurde auf 50 Prozent erhöht, so dass die Surface selbstleuchtend wird. Um ein Glänzen der Buchstaben zu erreichen, wurde die „Specularity“ auf 90 Prozent eingestellt. Mit „Glossiness“ (20 Prozent) wurde schließlich noch die Größe des Glanzpunktes und mit „Reflection“ (50 Prozent) die Stärke der Umgebungsspiegelung variiert. Abb. : Logo des Vorspanns 3.2.7 Gardinenvorhang mit Gardinenstange Die im Kinderzimmer vor dem Fenster zu sehenden Gardinen bestehen aus der linken und rechten Gardine, sowie der Gardinenstange. Die Stange entstand aus einem lang gezogenen „Disc“-Objekt und einem „Cone“-Objekt, welches geklont (Shortcut c) und schließlich an den Enden der Stange platziert wurde. Die Gardinen selbst entstanden jeweils aus einer flachen Box, welche bei der Erstellung über das „Numeric“-Panel in mehrere Segmente unterteilt wurde. Im „Subpatch“-Mode wurden dann die einzelnen Punkte der Gardinen mit Hilfe der im „Modify“-Tab des Modelers befindlichen Tools „Move“, „Drag“ und „Rotate“ so verschoben, bis das gewünschte Aussehen erzielt war. Um die Gardinen realistischer zu gestalten, wurde im „Surface-Editor“ die „Transparency“ auf 30 Prozent gesetzt, was eine leichte Durchsichtigkeit bei den Objekten erzeugt, wie man es von dünnen Gardinen gewohnt ist. Um die rechte Gardine in der ersten Animationsszene im Wind wehen zu lassen, wurde sie in einem extra Layer des Objektes abgespeichert und die Punkte der Gardine, welche entlang der Gardinenstange verlaufen, als „Point Selection Set“ abgespeichert. Dazu wurde der Button S im Modeler rechts unten bei der MapAuswahl angeklickt und dann nach Markierung der entsprechenden Punkte mit „new“ ein neues „Selection Set“ erstellt. Somit werden diese Punkte später im Layouter anwählbar und können als Fixpunkte definiert werden, die in ihrer Position unveränderbar sind (Näheres dazu in Kapitel 4.2.1.3). Seite 17 von 49 Abb. : Gardinenvorhang mit Gardinenstange Projekt-Dokumentation – LOW POWER 3.2.8 Fußball Der Fußball wurde weitgehend mit Hilfe des Tutorials auf der Internet-Seite http://www.panebianco3d.com/e_tutorials-3d-soccer-ball.htm modelliert. Es wurde zuerst ein „Sphere“-Objekt (Shortcut Shift + o) erstellt. Mit Hilfe des „Unify“-Befehls (Shortcut Shift + z) wurden aus den dreieckigen Polygonen Pentagons und Esagons erstellt und über „Change Surface“ entsprechend benannt und farblich unterschieden. Mit „Smooth-Shift“ (Shortcut Shift + f) wurden die einzelnen Pentagons bzw. Esagons mehrfach nach außen gezogen und mit „Merge Points“ die sich überlappenden Punkte verschmolzen. Zum Schluss wurde der Fussball durch Drücken der Tabulatur-Taste „gesubpatcht“, um die Oberflächen abgerundet Abb. : Fußball darzustellen. 3.2.9 Dinosaurier Bei der Modellierung des Spielzeugdinosauriers wurde der im Animationsfilm TOY STORY verkommende Dinosaurier als Vorlage genommen, wobei nicht das Ziel war, eine zu 100 Prozent genaue Kopie anzufertigen, sondern der zu modellierende Dinosaurier nur in den Grundzügen seinem geistigen Vorbild ähneln sollte. 3.2.9.1 Kopf und Körper Begonnen wurde mit dem Modellieren des Kopfes, der aus einer Box entstand, welche durch den Befehl „Subdivide“ (Shortcut Shift + d) und Auswahl „Metaform“ leicht abgerundet und weiter unterteilt wurde. Mit dem Befehl „Smooth Shift“ wurden nun markierte Polygone durch Linksklick mit der Maus auf das Objekt dupliziert und diese neu erstellte Geometrie dann bearbeitet. Diese Technik wurde sowohl bei der Modellierung des Dinosauriers als auch bei der Puppe sehr häufig angewandt. Die Erstellung des Spielzeug-Dinosauriers wurde überwiegend im „Symmetry“-Mode (Shortcut Shift + y) durchgeführt, wodurch sich bei symmetrischen Objekten eine Änderung von Punkten oder Polygonen auf der positiven X-Achse auch auf die entsprechenden Punkte der negativen X-Achse auswirkt. Mit der Kombination des „Smooth-Shift“-Befehls und den unterschiedlichen „Modify“-Tools „Move“, „Drag“, „Size“, „Bend“ und „Rotate“, womit Punkte oder Polygone immer wieder Abb. : Verschiedene Entwicklungsstufen des Dinosauriers Seite 18 von 49 Projekt-Dokumentation – LOW POWER neu positioniert wurden, wurde letztlich die komplette Modellstruktur des Dinosauriers erstellt. Nach der Modellierung des Kopfes wurde also der Hals mit anschließendem Oberkörper und dem Schwanz entwickelt, worauf aus einer Auswahl von Polygonen des Körpers die Beine und Arme in oben beschriebener Technik entstanden. Die Zähne wurden ebenso wie die Augen aus „Ball“-Objekten erstellt, entsprechend geklont und positioniert. 3.2.9.2 Texturierung Bei der Texturierung des Dinos fand die Procedure Texture „Crumple“ Verwendung, welche sowohl als „Diffuse-“ als auch als „Bump-Map“ angewandt wurde. Hierdurch ergeben sich leichte farbliche Differenzen des Grüntons und eine uneben wirkende Struktur auf dem Körper des Modells. 3.2.9.3 Skelegons Abb. : Texturen auf dem Dinosaurier Zur späteren Animation des Dinosauriers war es notwendig, eine Skelegon-Struktur für das Objekt anzulegen. Diese wurde in einem separaten Layer modelliert und erst am Ende der Modellierungsphase in den gleichen Layer wie das Modell kopiert. Die im Modeler entwickelten Skelegons wurden in der Animationsphase dann in Bones umgewandelt (Näheres dazu in Kapitel 4.2.3). Bei der Modellierung des Dinosauriers wurden insgesamt 34 Skelegons angelegt. Hierzu wurde im Registerreiter „Setup“ des Modelers das Tool „Create Skelegon“ ausgewählt und durch Klicken und Ziehen im Layer ein Skelegon-Objekt hinzugefügt. Mit jedem weiteren Klick entstand ein Child-Skelegon. Bei der Beinpartie wurde nur eine Seite von Skelegons erstellt und diese Seite mit dem Befehl „Mirror“ gespiegelt und die zu verbindenden Skelegon-Punkte mit „Weld“ verbunden. Abb. : Skelegon-Schema des Dinosauriers Seite 19 von 49 Projekt-Dokumentation – LOW POWER 3.2.9.4 Weight Maps Um den Einflussbereich der Bones einzuschränken, ist es sinnvoll im Modeler Weight Maps anzulegen, welche dann den entsprechenden Skelegons zugeordnet werden. Bei der Modellierung des Dinos wurden insgesamt 19 Weight Maps erstellt. Hierfür wurden die entsprechenden Polygone markiert und im Registerreiter Map im Modeler der Befehl „New Weight Map“ ausgewählt. Nach dem Erstellen der einzelnen Weight Maps wurden diese mit Hilfe des Tools „Skelegon Tree“ im Modeler-Tab Setup den jeweiligen Skelegons zugeordnet, wobei einige Skelegons die gleiche Weight Map verwenden, z. B. besitzt der Schwanz des Dinosauriers insgesamt sechs Skelegons, aber nur eine Weight Map, die den kompletten Schwanz umfasst. Abb. : Skelegon-Tree des Dinosauriers 3.2.9.5 Morph Maps Um eine entsprechende Mimik zu erreichen, wurden bei der Modellierung des Dinosauriers insgesamt zehn „Morph Maps“ erstellt, welche unter anderem für die Bewegung des Mauls oder der Augen benutzt werden. Die Vorgehensweise beim Erstellen von „Morph Maps“ wird im anschließenden Kapitel 3.2.10 (Modellierung der Puppe) genauer erläutert. Seite 20 von 49 Projekt-Dokumentation – LOW POWER 3.2.10 Puppe Bei der am Regal angeketteten Puppe war keine gewünschte Vorlage vorhanden, an der es sich zu orientieren galt. Daher konnte der Phantasie beim Modellieren freien Lauf gelassen werden. So entstand ein Puppenmodell, welches sich aus Oberkörper mit Kopf und Armen, zwei identischen Beinen, einem Kleid mit Gürtel und Knopf und schließlich noch den Handund Fußfesseln mit Kettengliedern und Befestigungspins zusammensetzt. 3.2.10.1 Kopf und Körper Begonnen wurde der Modellierungsprozess, wie auch schon beim Dinosaurier, mit dem Kopf, wobei als Start-Objekt eine durch den Befehl „Subdivide“ mehrfach segmentierte Box gewählt wurde. Die Vorgehensweise bei der Modellierung von Kopf, Oberkörper, Armen, Beinen und Kleid war hier nahezu identisch mit der des Dinos. Es fanden also wieder überwiegend das „Smooth Shift“-Tool in Kombination mit den unterschiedlichen „Modify“Tools Verwendung. Die Augen der Puppe wurden mit einem „Ball“-Objekt realisiert, wobei nur ein Auge modelliert wurde, welches dann mit dem Befehl „Mirror“ gespiegelt wurde. Die Haare der Puppe entstanden aus einem langgezogenen, vielfach segmentierten „Disc“Objekt, welches ca. 40 mal geklont wurde. Anschließend wurde jede einzelne Haarsträhne mit den Modify-Befehlen „Move“, „Drag“ und „Rotate“ an die Kopfhaut angepasst. Der Gürtel der Puppe entstand aus bereits bestehenden Polygonen des Kleides, welche in einen anderen Layer kopiert und dort entsprechend in der Größe angepasst wurden. Zur Modellierung des Gürtelknopfes wurde ein „Capsule“-Objekt benutzt, in dem mit der „Boolean“-Operation „Subtract“ entsprechende Knopflöcher ausgeschnitten wurden. Die Fuß- und Armfesseln der Puppe sind identisch, es wurde also nur ein Objekt modelliert und dann entsprechend geklont, verschoben und an die jeweilige Körperform angepasst. Der Fesselring wurde mit dem „Wedge“-Tool modelliert, welches man in der ModelerToolbar im Bereich „Primitives“ unter dem Button „More“ findet. Bei den Nieten handelt es sich um ein mehrfach geklontes „Cone“-Objekt. Die Kettenglieder wurden ebenfalls mit einem gesubpatchten „Wedge“-Objekt erzeugt, welches dann einmal geklont, um 90 Grad gedreht und am Ende des anderen Kettengliedes positioniert wurde. Anschließend wurden diese beiden Kettenglieder in entsprechender Anzahl wieder mit dem „Clone“-Werkzeug vervielfältigt. Abb. : Verschiedene Entwicklungsstufen der Puppe Seite 21 von 49 Projekt-Dokumentation – LOW POWER Die Spitze und auch der Schaft der Befestigungspins für die Kette wurde jeweils aus einem gesubpatchten „Capsule“-Objekt modelliert, welches wieder mit den Modify-Tools bearbeitet wurde, bis das gewünschte Aussehen erreicht war. 3.2.10.2 Texturierung Um die rosabraunfarbene Körperstruktur der Puppe etwas rauer erscheinen zu lassen, wurde im Texture Editor die Procedural Texture „Crumple“ als „Bump Map“ hinzugefügt. Durch Verändern der Werte „Texture Value“, „Frequencies“ und „Small Power“ konnte so ein zufrieden stellendes Ergebnis erzielt werden. Abb. : Texturen von Kopf und Haaren der Puppe Bei der Texturierung des Kleides wurde als Textur eine Image Map verwendet, die planar auf das Objekt gelegt wurde. Die Textur wurde im Internet unter http://www.grsites.com/textures/ heruntergeladen. Auf die gleiche Textur wurde auch beim Gürtel des Kleides zurückgegriffen, jedoch wurde hier im Texture Editor der Blending Mode auf „Additive“ gestellt und die „Layer Opacity“ auf 50 Prozent verringert, wodurch eine Mischung zwischen Textur und der vorher unter Color definierten Farbe entsteht. Die oben genannte Textur befindet sich auf dem Datenträger im Ordner /Texturen/Puppe/Kleid.bmp. Bei den Haaren der Puppe finden erneut die prozeduralen Texturen „Smoky3“ als Bump Map und „Crumple“ als Color Map Verwendung, so dass den einzelnen Haarsträhnen ein etwas natürlicheres und nicht zu eintöniges Aussehen verliehen wird. Diese Texturen wurden ebenfalls bei den Augenbrauen mit angepassten Einstellungen benutzt. Abb.: Puppe, komplett texturiert Seite 22 von 49 Projekt-Dokumentation – LOW POWER 3.2.10.3 Skelegons und Weightmaps Um zum späteren Zeitpunkt die Puppe entsprechend animieren zu können, wurden, wie schon beim Dinosaurier ausführlich beschrieben, Skelegons in das Modell der Puppe eingefügt. Um eine in der Animationsphase realitätsnahe Bewegungen der Kette durchführen zu können, wurde für jedes einzelne Kettenglied ein Skelegon eingefügt, wodurch insgesamt 98 Skelegons im Puppenmodell entstanden. In gleichem Maße mussten für die Puppe und die Kettenglieder entsprechende Weight Maps erstellt werden, um den späteren Einflussbereich der Bones einzuschränken. So entstanden allein für die Kettenglieder ca. 70 Weight Maps. 3.2.10.4 Morph Maps Bereits in der Planungsphase des Projekts war klar, dass die Puppe durch entsprechende Mimik dem Zuschauer des Films ihren aktuellen Gefühlszustand wie z. B. Freude, Trauer oder Angst zeigen sollte. Um dies verwirklichen zu können, wurde die Endomorph-Technik angewandt. Hierbei erstellt man im Modeler „Morph Maps“, indem man den M Button im rechten unteren Eck anklickt, einen Namen vergibt, und anschließend die entsprechenden Polygone, bzw. Punkte des Objekts verschiebt, dreht oder anderweitig modifiziert. Die Abweichungen der neuen Positionen der Punkte in Bezug auf das Basis-Modell werden in der vorher benannten Morph Map gespeichert, weshalb es nicht möglich ist, Geometrie aus dem Objekt zu löschen, da die Anzahl der Punkte zwischen den einzelnen Maps identisch sein muss. Die erstellten Morph Maps sind später im Layouter über den Morph Mixer und den Graph Editor stufenlos einstellbar (Näheres dazu im Kapitel 4.2.3). Für die Gesichtzüge der Puppe wurden insgesamt sechs Morph Maps erstellt, zwei für die Augenpartie und vier für die unterschiedlichen Mundbewegungen. Abb. : Verschiedene Morph Maps der Puppe Seite 23 von 49 Projekt-Dokumentation – LOW POWER 4. Animation 4.1 Animation Teil 1: Thorsten Roth Es werden im Folgenden nicht alle bearbeiteten Szenen detailliert beschrieben, da dies den Rahmen der Dokumentation und der maximal zulässigen Seitenzahl übersteigen würde. Daher werden die angewendeten Arbeitstechniken und Werkzeuge anhand einiger ausgewählter Szenen beschrieben. In den übrigen, hier nicht beschriebenen Szenen, wurden die gleichen Arbeitstechniken und Werkzeuge eingesetzt. 4.1.1 Vorbereitungen vor dem Animieren der Filmszenen Bevor das Animieren der eigentlichen Filmszenen begann, wurden drei Basisszenen erarbeitet, auf deren Grundlage später gearbeitet wurde. 4.1.1.1 Beleuchtung und Grundeinstellungen der Kulisse Das Objekt LP_Kulisse wurde zunächst in eine leere Szene geladen (File -> load -> load Objekt). Anschließend wurden für jeden Layer Einstellungen im „Objekt Properties“-Panel (Shortcut p) vorgenommen. Für das Zimmer (Layer 1) wurde der Subpatchlevel auf 2 gesetzt, damit die Griffe der Kommode, des Schranks und der Türknauf rund berechnet wurden. Der Layer mit Teppich und Bett sowie der Layer mit dem Vorhang erhielten einen Subpachlevel von 3. In den übrigen Layern befanden sich keine Objekte, die gesubpatcht waren und so konnte der Subpatchlevel hier jeweils aus 0 gesetzt werden. Wie schon erwähnt, steigt die Anzahl der Polygone mit dem Subpatchlevel. Um die Renderzeit niedrig zu halten, sollte dieser deshalb immer bei allen Objekten auf 0 gesetzt sein, die nicht gesubpatcht sind. Im nächsten Schritt wurde die Beleuchtung der Szene vorgenommen. Der Film sollte mitten in der Nacht spielen. Es war deshalb nötig die Lichtstimmung im Zimmer relativ Dunkel zu halten. Die Schwierigkeit war nun, einen Kompromiss zu finden zwischen einer dunklen Beleuchtung, so dass es glaubwürdig war, dass Nacht ist und einer genügend starken Beleuchtung der Kulisse, um im Film vor allem die Charaktere aber auch die Kulisse selbst noch zu erkennen. Zuerst wurde das Distant Light, das standardmäßig in einer leeren Szene vorhanden ist, mit Move und Rotate so positioniert, dass es durch das Fenster scheint und kurz hinter dem Teppich auf den Boden trifft. Im „Light Properties“- Panel wurde der Name in Mond umgeändert, die „Light Intensity“ auf 100% gesetzt und im Tab „Object“ wurde der Layer Sternenhimmel, durch ein Häkchen bei Exclude, von der Abb.: Beleuchtete Kulisse Seite 24 von 49 Projekt-Dokumentation – LOW POWER Beeinflussung des Lichts ausgeschlossen. An der Stelle am Boden, an der das Mondlicht auftrifft, wurde nun ein, zur Zimmerdecke gerichtetes, Spotlight (Name: Boden) eingefügt. Es soll die Reflektionen, des auf den Boden treffenden Mondlichtes simulieren. Dies wird bewirkt durch einen “Intensity Falloff“ vom Typ „Inverse Distance^2“ mit einer Reichweite von 1 m, einer „Light Intensity“ von 30% und einem „Spotlight Cone Angle“ von 92°. Um die ganze Szene etwas aufzuhellen wurde ein weiteres, auf den Boden gerichtetes, Spotlight (Name: Decke) unter der Zimmerdecke eingefügt. „Light Intensity“ 45% und „Spotlight Cone Angle“ 91° erzielten eine gut Ausleuchtung der Kulisse. Außerhalb des Zimmers, hinter der Tür fand ein drittes Spotlight seinen Platz. Nun sah es so aus, als ob in einem Flur hinter der Zimmertür Licht brannte und durch den Türschlitz hindurch scheint. Es bestand nun doch noch die Befürchtung, dass die Szenen zu dunkel erscheinen könnten. Hierfür wurde nun ein Kameralicht in Form eines Spotlights eingefügt. Dieses wurde im „Scene Editor“ an die Kamera geparentet, wodurch es in gleichem Maße die Bewegungen der Kamera mit vollzog. Es wurde direkt hinter der Kamera positioniert und erhielt nur eine „Light Intensity“ von 20%. Zusätzlich wurden im „Light Properties“-Panel alle Objekte der Kulisse von seiner Einwirkung ausgeschlossen (Objects Tab). So wurden nur noch die Charaktere von ihm beleuchtet. Um den Schattenwurf der beleuchteten Objekte zu verhindern, wurde der Shadow Type im Shadows-Tab auf „Off“ gesetzt. Zu guter letzt wurden die Einstellungen der Kamera im „Camera Properties Panel“ vorgenommen. Die Auflösung wurde auf D1 PAL (720x576) gestellt, da diese Auflösung in den Vorgaben von Professor Heinzel festgelegt wurde. Damit später die gerenderten Einzelbilder eine hohe Ausgangsqualität für die Bearbeitung in Adobe Premiere hatten, wurde Antialiasing „LOW“ aktiviert. Durch das Antialiasing in Stufe LOW wird jeder Frame fünfmal durchgerendert und die Kanten dabei geglättet. Zusätzlich wurde Adaptive Sampling aktiviert. Dies bewirkt, dass ein Frame nur einmal komplett berechnet wird, die restlichen viermal werden nur noch die Kanten neu berechnet. Wie stark diese Kantenerkennung ist, legt der Wert Threshold fest, der hier 0.03 gewählt wurde. Die Renderzeit konnte so um mehr als ein Drittel gesenkt werden. Die Basis_Kulisse war nun die Ausgangsszene jeder der Filmszenen. 4.1.1.2 Grundeinstellungen des Roboters Wie schon bei der Modellierung des Roboters unter 3.1.1.7 und 3.1.1.8 beschrieben, sollten seine Bewegungen mit Bones gesteuert werden. Damit die im Objekt LP_Roboter angelegten Skelegons nicht in jeder Szene neu in Bones konvertiert und diese eingestellt werden mussten, wurde hier zuerst eine Basisszene mit allen Einstellungen des Roboters geschaffen. Aus dieser Szene konnte so der Roboter über File -> load -> load Items from Scene in jede beliebige Szene geladen und sofort mit ihm gearbeitet werden. Zunächst wurden die Grundeinstellungen vorgenommen: Subpatchlevel auf 2 (Object Properties), Skelegons in Bones umwandeln (im Layouter: Setup Tab -> Add -> Cvt Abb.: Aktiviertes IK Boost Toll beim Roboter Seite 25 von 49 Projekt-Dokumentation – LOW POWER Skelegons). Mit Setzen der „Subdivision Order“ im „Geomerty Tab“ auf „last“ werden Deformationsfehler verhindert, da das Subpatching nun zuletzt, nach Durchführung von Endomorphs und Bewegung der Bones, durchgeführt wird. Anschließend wurden die Bones für die Bewegungen vorbereitet. Um die Bones zu steuern, wurde das in LightWave 8.0 neu eingeführte „IK Boost Tool“ eingesetzt. Es kann über Modify Tab -> Tools -> IK Boost Tool aktiviert werden. Mit einem Rechtsklick der Maus auf den Pivotpoint des Roboters und bestätigen von „Apply IK_Booster“ kann das Tool dann genutzt werden (alternativ im „Object-Properties“-Panel unter Geometry Tab -> Add Custom Objekt -> IK_Booster). Den aktivierten „IK_Booster“ erkennt man daran, dass um jeden Start- und Endpunkt eines jeden Bones ein kleiner Kreis angezeigt wird. Neben jedem Kreis sind drei Zahlen zu erkennen. Diese repräsentieren die drei Rotationsachsen „Heading“ (rot), „Pitch“ (grün) und „Bank“ (blau) des Bones, die sich einzeln durch Rechtsklick und Anwahl von Lock/Unlock sperren lassen. Das „IK Boost Tool“ ist eine komfortable Möglichkeit, die Bones und Boneketten durch sowohl „Foreward-„ als auch „Inverse Kinematik“ zu steuern. Bei „Foreward Kinematik“ rotiert man z.B. einen Bone und alle seine Childbones der Bonekette drehen sich mit (Bewegung des Oberschenkels -> Unterschenkel und Fuß drehen sich mit). Bei der „Inversen Kinematik“ greift man z.B. den letzten Childbone an seinem Kreis und bewegt ihn. Obwohl die Childbones an die Parentbones geparented sind und nicht umgekehrt bewegen sich diese jetzt mit dem Chilbone mit. Unterbricht man die Bonekette mit einem Rechtsklick (z.B. auf den Hueft-Bone) und wählt „ikstop“, wird die Bewegung der Bonekette hier gestoppt, die übrigen Bones bewegen sich nicht mehr mit. Mit „fix“ kann man z.B. den Fuß-Bone von der Beeinflussung der Bonekette ausschließen. Wird der Oberkörper bewegt, passen zwar Ober- und Unterschenkel ihre Bewegungen mit an, der Fuß bleibt dabei jedoch in seiner Position fest und unberührt. Einen „ikstop“ erkennt man an einer Raute im Kreis, einen „fix“ an einem ausgefüllten Kreis. Nachdem die Rotationsrichtungen einiger Bones (z.B. Beine nur Pitch Rotation) gelockt und ikstop- und fix-Punkte eingefügt wurden, waren die Einstellungen des Roboters abgeschlossen. Der Roboter dieser Szene diente als Basis für die Szenen, in denen der Roboter auftritt. In allen Szenen, in denen sich der Roboter bewegt, wurde mit dem IK Boost Tool wie zuvor beschrieben gearbeitet. 4.1.1.3 Erstellung einer Laufschleife Im Film soll der Roboter einmal längs über den Teppich zur Puppe meines Projektpartners laufen. Die Frage war nun: Ist es effizient jeden Schritt erneut zu animieren? Die Antwort lautet: Natürlich nicht! Effizient ist es EINE Schrittfolge zu animieren und einen Weg zu finden, diese Laufschleife immer fortlaufend zu wiederholen. Eine Möglichkeit hierfür bietet der Motion Mixer (Shortcut F2). Hier wird ein, für das zu bewegende Objekt, neuer „Actor“ angelegt und benannt. In diesem Fall „Roboter. Über Actor Menu -> Add Items müssen alle Items (hier alle Bones), die an den zu übernehmenden Bewegungen Abb.: Motion Mixer Seite 26 von 49 Projekt-Dokumentation – LOW POWER beteiligt sind, zum Actor hinzu geladen werden. Im nächsten Schritt animiert man die Bewegung, die später der „Motion Mixer“ übernehmen soll. Hierfür wurden nun mehrere Keyframes in der Timeline des Layouters gesetzt und die Beinstellungen des Roboters so mit dem „IK Boost Tool“ angepasst, dass der Roboter von der Stelle losläuft und im Anschluss einen Laufzyklus durchläuft. Anschließend wurden im „Motion Mixer“ zwei neue Motions erzeugt (Laufen_Anfang, Laufen_Schleife). Beim erzeugen eines Motions gibt man, im sich öffnenden Fenster, den Start- und Endframe an. Dies bewirkt, dass der Motion, die in der Timeline mit Keyframes animierten Bewegungen, aufzeichnet. Bei der Erstellung des ersten Motions musste darauf geachtet werden, dass der Haken bei „Clear Channels“ entfernt wurde, da sonst alle Keyframes der betrachteten Items (Bones) aus der Timeline gelöscht wurden und der zweite Motion keine Laufschleife mehr speichern konnte. Zur Sicherheit wurden die beiden Motions über „Motion Menu -> save Motion“ im Motion Mixer abgespeichert. Die beiden Dateien befinden sich auf der DVD: \Szenen\Roboter_Motions. Nun war es möglich aus dieser Szene den Roboter, über „File -> Load -> Laod Items From Scene“, zu laden. Im Motion Mixer konnten die beiden Motions einfach hintereinander in einen der Tracks rechts geladen werden. Ein Rechtsklick auf den Motion für die Laufschleife und Anwahl von „Add Post Behavior“ verlängerte den Motion. Diese Verlängerung ließ sich dann beliebig lang ziehen. Damit der Roboter die Laufschleife auch wiederholte musste die Verlängerung nur noch mit einem Rechtsklick darauf, auf den Typ „Repeat“ gestellt werden. Der „Motion Mixer“ übernimmt die Kontrolle über alle dem Actor zugewiesenen Items. Eine Veränderung dieser Items durch Setzen von Keyframes in der Timeline des Layouters hat, solange ein Motion im „Motion Mixer“ zum gleichen Zeitpunkt aktiv ist, nun keine Wirkung. Mit dem Roboter dieser Szene und den erstellten Motions wurden die Szenen 14, 16, 19 und 21 animiert. 4.1.2 Animation der Filmszenen Im Folgenden werden noch zwei Szenen erläutert, in denen der Einsatz des „Graph Editors“ und des „Morph Mixers“ beschrieben werden. 4.1.2.1 Szene 3 In Szene 2 fällt der Fußball von der Kommode herunter, dopt auf dem Boden auf, gegen den Rücken des Roboters und rollt dann hinter die Kommode. Der Ball berührt dabei am Rücken des Roboters einen Knopf, mit dem der Roboter eingeschaltet wird. Um dies nun zu zeigen, soll in Szene 3 der Knopf zweimal kurz aufblitzen und anschließend dauerhaft leuchten. Hiezu wurde im „Surface Editor“ das Surface „Knopf_Ruecken“ angewählt. Im „Basic Tab“ wurde dann der „Graph Editor“ für die Luminosity über den Button „E“ geöffnet. Ein Keyframe mit einem Wert von 50% und je ein davor- und danachliegender Keyframe mit 0% wurden erzeugt. Das war das erste Aufblitzen des Knopfes. Die drei Keyframes wurden mit „Strg + rechte Maustaste“ kopiert und bei einem Späteren Frame wieder Abb.: Leuchtender Knopf am Rücken Seite 27 von 49 Projekt-Dokumentation – LOW POWER eingefügt. Dann wurden sie ein weiteres Mal kopiert, der letzte Keyframe gelöscht und der Knopf leuchtete dauerhaft weiter. Standardmäßig werden die Kurven zwischen zwei Keyframes mit TCB-Spines berechnet, was einen weichen Verlauf der Kurven ergibt. Dies ist aber nicht immer erwünscht, wie es auch hier der Fall war. So mussten bei einigen Keyframes die „Incoming Curve“ auf den Typ Linear gesetzt werden, damit sich die Werte zwischen zwei Keyframes nicht ändern. Der Graph Editor erwies sich auch beim Animieren von Bewegungen mit dem IK Boost Tool und von Endomorphs als sehr Abb.: Graph Editor hilfreich. In Szene 30 wurde das Aufladen der Poweranzeige am Raketenarm des Roboters ebenfalls mit dem „Graph Editor“ realisiert. Hierbei wurde jedoch die Textur des Ladebalkens über den Verlauf der Zeit verschoben. Der Ladebalken war zunächst so positioniert worden, dass er, aufgrund einer darüber liegenden Alphatextur, nicht sichtbar war. Im „Graph Editor“ wurde nun das Surface „Poweranzeige“ aufgerufen und über den Button „T“ der „Texture Editor“ geöffnet. Im „Position“ Tab wurde wieder der „Graph Editor“ für die X-Position über „E“ aufgerufen, Keyframes gesetzt und die Werte für Start- und Endposition der Textur zugeteilt. Abb.: Poweranzeige 4.1.2.2 Szene 4 In Szene 4 erwacht der Roboter nun zum Leben. Die Batterieanzeige am Bauch lädt sich auf, er hebt den Kopf, was mit dem IK Boost Tool animiert wurde und bewegt den Mund, die Augenbrauen und öffnet die Augen. Für die Energieanzeige, die Augenbrauen, die Augenlieder und den Mund wurden wie oben beschrieben „Morph Maps“ erstellt und sollten nun mit der Endomorph-Technik animiert werden. Hierzu musste erst einmal im „Object Properties“-Panel im „Deform“ Tab über „Add Displacement“ der Morph Abb.: Morph Mixer Mixer geladen werden. Mit einem Doppelklick wurde dieser geöffnet und bot nun für jede zuvor im Modeler ersellte Morph Map einen Slider, mit dem die Gewichtung der Map von -100 % bis 100% festgelegt werden konnte. Bei 0% befindet sich die Ausgangsposition des Objekts (z.B. der Augen), bei 100% die angelegte Morph Map (z.B. Augen geschlossen). Bei 100% wird die Morph Map ins Negative gezogen. So wurden in der Morph Map „Augenlieder_zu“ diese weit aufgerissen, Abb.: Roboter wacht auf Seite 28 von 49 Projekt-Dokumentation – LOW POWER was in einigen Szenen ausgenutzt wurde. Mit den Werten zwischen -100% und 100% konnten die Augenlieder nun stufenlos geöffnet und geschlossen werden. Mit den Werten „Tension“, „Continuity“ und „Bias“ konnte im „Graph Editor“ die Form der Kurven zwischen den Keyframes nun noch so angepasst werden, dass die Änderung der Mimiken je nach Wunsch abrupt oder weich verläuft. Da das Abspielen der bisher animierten Szene im Layouter (Play-Button rechts unten) nicht in der Geschwindigkeit ablief, in der sie später im Film zu sehen ist, wurden beim animieren in regelmäßigen Abständen Previews erstellt. Neben den Play-Buttons im Layouter kann man über „Preview -> Make Preview“ diese Funktion aktivieren. Nach Angabe des Start- und EndFrames berechnet Lightwave immer für das linke obere Fenster die Frames und zeigt dort, den nun berechneten Teil der Szene in realer Geschwindigkeit. Diese Funktion von Lightwave wurde in allen Szenen verwendet, um die Geschwindigkeit von Kamerafahrten, Endomorphs und Bewegungen zu überprüfen. In den Szenen 7, 9, 11, 13, 23, 25, 27, 29, 33, 34, 35 und 36 wurden die Mimiken in der gleichen Weise erstellt. Seite 29 von 49 Projekt-Dokumentation – LOW POWER 4.2 Animation Teil 2: Jan Lingelbach Nachfolgend werden drei der insgesamt 16 animierten Szenen detailliert beschrieben, sodass alle verwendeten Tools und Befehle in angemessenem Maße angesprochen und erklärt werden. In den anderen animierten Szenen wurde die folgend beschriebene Arbeitstechnik in nahezu identischer Weise angewandt, sodass sich aus Redundanzgründen eine weitere Beschreibung als nicht sinnvoll erweist. 4.2.1 Szene 1 Im erstellten Storyboard des Films wurde schon frühzeitig festgelegt, welche Handlungsabschnitte die einzelnen Szenen beinhalten und welchen Blickpunkt die Kamera haben sollte. Für die erste Szene war zu Beginn die Titeleinblendung vor einem Sternenhimmel mit Vollmond zu realisieren und nach dem Ausfaden des Titels dann eine langsame Kamerafahrt durch das Fenster ins Kinderzimmer, wo der Vorhang im Wind wehen sollte. Zum Ende der Szene sollte schließlich ein auf der Kommode liegender Ball von dem vom Wind aufgewehten Fensterflügel angestoßen werden und auf die Kommodenkante zurollen. Im Folgenden wird nun genau erläutert, wie die einzelnen Objekte animiert wurden. 4.2.1.1 Logo im Vorspann Zu Beginn der Logo-Animation wurde zuerst ein Null-Objekt als „Parent“ aller Buchstaben erstellt, so dass durch Bewegen dieses Null-Objektes alle Buchstaben gleichzeitig verschoben werden konnten, was sich als sehr hilfreich zum Positionieren vor dem Mond- und Sternehintergrund herausstellte. Nun wurde der erste Buchstabe durch zeitliches Verschieben seiner Position animiert. Um die folgenden Buchstaben nacheinander ins Bild fliegen zu lassen, kam jetzt das „Follower“-Tool zum Einsatz, welches für jeden Buchstaben unter „Motion Options“ (Shortcut m) bei „Add Modifier“ aktiviert wird. Im „Animation Control“-Panel ist unter „Item To Follow“ anzugeben, welchem Objekt das ausgewählte Objekt folgen soll. Im aktuellen Fall bedeutete dies, dass bei LOW die Buchstaben O und W dem Buchstaben L und weiterhin bei POWER die Buchstaben O, W, E und R dem Buchstaben P folgen sollten. Um das Einfliegen der einzelnen Buchstaben passend zur Musik des Titels „Mr. Sandman“ zu gestalten, wurde das Musikstück über das Dropdown-Feld „Audio“ des Scene Editors in den Layouter geladen und dann die „Delay-Time“ der jeweiligen Buchstaben im „Follower“-Tool entsprechend der Musik angepasst. Abb. : Einstellungen Animation Control des Followers Seite 30 von 49 Projekt-Dokumentation – LOW POWER 4.2.1.2 Fußball Nach seiner Positionierung auf der Kommode bekam der Ball unter „Object Properties“ im Registerreiter „Dynamics“ das Plugin „HardFX“ zugeordnet. In den Einstellungen ist darauf zu achten, das im Tab „Basic“ die „Gravity“ von -9,8 m/sec² eingestellt wird, damit ein realistisches Rollen und Fallen von der Kommode erreicht wird. Weiterhin wurde im Reiter „Rotation“ unter Impact Effect „Roll“ eingestellt, sodass der Ball realistisch über die Kommode rollte. Im Tab „Collision“ wurde bereits durch die Einstellung „Collision by Sphere“ ein realistisches Kollisions-Ergebnis erreicht. Daher wurde auf die Einstellung „Collision by Node“ verzichtet, da hier auf die einzelnen Punkte des Objekts geachtet wird, was die Berechnungszeit für Kollisionen enorm erhöht. Um die gewünschte Reaktion des Balles mit Fenster und Kommode erzielen zu können, war es notwendig, bei diesen beiden Objekten in den Object Properties unter „Add Dynamic“ den Typ „FX Collision“ auszuwählen und dann entsprechende Einstellungen vorzunehmen. Beim Register-Reiter „Mode“ ist unter Type „Object“ und unter Mode „Bounce“ anzuklicken, wodurch bei einer Kollision mit diesen Objekten ein Aufprall berechnet wird, der von der eingestellten „Bounce / Bind Power“ abhängig ist. Hier stellten sich nach einigen Tests die Werte 20 Prozent beim Fenster, sowie 50 Prozent bei der Kommode als geeignet heraus. Abb. : Einstellung HardFX des Fußballs 4.2.1.3 Wind Über den Button „Dynamic Object“ in der Menüleiste des Layouters wurde ein „Wind Dynamic“ zur Szene hinzugefügt, wobei im Registerreiter „Mode“ nebenstehende Einstellungen verwendet wurden. Unter „Radius“ wurde also die Größe des WindObjektes und unter „Power“ die Windstärke festgelegt. Weiterhin wurde unter dem Tab „Vector“ die Windrichtung bezüglich der X-Achse auf -4m gesetzt. Durch das Setzen von Keyframes und Positionieren des Windes an verschiedenen Stellen in unmittelbarer Nähe des Vorhangs wird ein böenartiger Wind simuliert, welcher den Vorhang mehrfach nach vorne und wieder zurück wehen lässt. Abb. : Einstellung FXWind als Dynamic Object Seite 31 von 49 Projekt-Dokumentation – LOW POWER 4.2.1.4 Gardinen-Vorhang Damit der rechte Vorhang die gewünschten Bewegungen beim Auftreffen von Wind machte, wurde dem Vorhang ein Dynamic Object namens „Cloth FX“ zugeordnet. Hierbei wurden in den drei Registerreitern „Basic“, „Advance“ und „Etc“ folgende Einstellungen vorgenommen, um ein realitätsnahes Ergebnis zu erzielen. Im Tab Basic musste unter „Fix“ das bereits im Modeller erstellte Point Selection Set „VorhangHalterNeu“ ausgewählt werden, wodurch der Vorhang an diesen ausgewählten Punkten an der Gardinenstange gefixt war und nur die anderen Punkte von dem Wind Dynamic Object beeinflusst wurden. Falls diese Einstellung nicht vorgenommen wird, fällt der Vorhang durch die eingestellte Erdanziehungskraft einfach komplett nach unten. In den unterschiedlichen Tabs wurde unter anderem mit den Werten von „Weight“ für die Gewichtung, „Spring“ für die Federkraft und „Stretch Limit“, bzw. „Compress Stress“ für das Dehnungsverhalten experimentiert, bis ein zufrieden stellendes Ergebnis beim Schwingen der Gardine erreicht wurde. Da es sich bei dem Vorhang um ein Objekt im Subpatch-Mode handelt, ist es wichtig, unter den „Object Properties“ (Shortcut p) des Vorhangs im „Geometry“-Tab die „Subdivision Order“ auf Last zu setzen. So wird der Vorhang erst nach der Deformation durch das Wind-Objekt gesubpatcht, womit sich unschöne Deformationsfehler vermeiden lassen. Diese Einstellung wurde Abb. : Einstellung ClothFX bei der Gardine ebenfalls bei Dinosaurier und Puppe vorgenommen. 4.2.1.5 Kamera Zu Beginn der Szene wurde die Kamera direkt am Fenster außen platziert, auf Logo und Mond fixiert und über die „Camera Properties“ (Shortcut p) ein Zoomfaktor von ca. 5 eingestellt. Über den Graph Editor konnte so nach dem Ausfaden des Logos der Zoom Faktor über einen Zeitraum von 260 Frames auf 2 zurückgenommen werden, wodurch schon der Eindruck einer sich bewegenden Kamera entsteht. Parallel zu dem beschriebenen Zoom-Out wurde die Kamera über den kompletten Zeitraum der Szene noch zusätzlich ins Rauminnere verschoben und der Blickwinkel leicht verändert, wobei durch Setzen mehrerer Keyframes die gewünschten Kamerabewegungen erzielt wurden. Die parallele Arbeitstechnik mit Zoomfaktor und manueller Positionierung und Rotation der Kamera findet in anderen Szenen ebenfalls Verwendung, was jedoch nicht nochmals explizit erwähnt wird. Seite 32 von 49 Projekt-Dokumentation – LOW POWER 4.2.3 Szene 8 Laut Storyboard wacht in Szene 8 die Puppe auf, erkennt den Roboter und lächelt ihn an. Um dies realisieren zu können, wurde auf die bereits in der Modellierungsphase erstellte Skelegon-Struktur und die ebenfalls im Modeler entworfenen Morph Maps zurückgegriffen. 4.2.3.1 Bones und IKBoost-Tool Bevor man im Layouter mit Bones arbeiten kann, ist es nötig, die erstellten Skelegons in Bones umzuwandeln. Dies geschieht mit dem Befehl „Cvt Skelegons“ im Registerreiter „Setup“ unter dem Punkt „Add“. Die Zuordnung der Weightmaps zu den Skelegons (im Modeler über den Skelegon-Tree eingestellt, siehe auch Kapitel 3.2.9 Modellierung Dinosaurier) wird vom Layouter übernommen, sodass die Wirkungsbereiche der Bones eingeschränkt sind und es standardmäßig zu keinen ungewollten Deformationen der Objekte kommen dürfte. Nahezu die gesamte Animation der Puppe und des Dinos wurde mit dem in Lightwave 8 neu integrierten Tool namens „IKBooster“ erstellt. Nur die Animationen der Gesichtsmimik wurden mit dem „Morph-Mixer“-Tool erstellt, was später in diesem Absatz genauer erläutert wird. Das IKBooster-Tool kann auf zwei unterschiedliche Arten aktiviert werden. Entweder wird es über den Registerreiter „Geometry“ im „Object Properties“-Panel des mit Bones versehenen Objektes unter „Add Custom Object“ gestartet oder man klickt auf den Button „IKBoostTool“ in der Toolbar des Tabs „Modify“, wobei man dann für das erste Aktivieren mit einem Rechtsklick auf den als weißes Kreuz angezeigten Pivot-Punkt des Objektes „Apply IK_Booster“ anwählen muss. Nachdem das „IKBoost“-Tool aktiviert wurde, ist es möglich, die einzelnen Bones anzuwählen und zu bewegen. Als äußerst nützlich stellte sich die Möglichkeit des Sperrens unterschiedlicher Drehrichtungen einzelner Bones oder gar ganzer Boneketten heraus, wodurch das Animieren insgesamt wesentlich einfacher wurde. Dies geschieht durch Rechtsklick auf das jeweilige Bone-Ende und anschließende Auswahl der Befehle „Fix“ oder „IKStop“ im sich öffnenden Kontextmenü. Die einzelnen Rotationsbewegungen Heading, Pitch und Bank lassen sich ähnlich sperren, indem man beim vorher markierten Bone auf den jeweils rot, grün oder blau angezeigten Rotationswert rechtsklickt und den Befehl „lock“ auswählt. Eine gesperrte Rotationsachse wird durch in Klammern angezeigte Werte dargestellt. In dem sich öffnenden Kontext-Menü gibt es noch weitere Befehle, die jedoch aus Platzgründen nicht weiter erklärt werden. Im konkreten Fall der Puppe wurden beispielsweise die Bones der letzten Kettenglieder, welche jeweils zu den Befestigungspins führen, „gefixt“, damit beim Bewegen von Armen und Beinen der Puppe die einzelnen Kettenglieder zwar beweglich sein konnten, jedoch der Befestigungspunkt an den Pins unbeweglich blieb. Die Puppe wurde im „IKBoost“-Mode durch Klicken und Bewegen unterschiedlicher Bones in die für die Szene erforderliche Schlafstellung Abb. : IKBoost-Tool in Aktion beim Fuß der Puppe Seite 33 von 49 Projekt-Dokumentation – LOW POWER gebracht und dann wurde mit Hilfe der „AutoKey“-Funktion (Shortcut Shift + F1), wodurch automatisch in der Timeline Keyframes gesetzt werden, ein Erwachen der Puppe mit dem „IKBoostTool“ animiert. Mit Hilfe des Graph Editors (Shortcut Strg + F2) wurden hierbei sehr häufig Keyframes verschoben und Werte verändert. Sämtliche Szenen mit Puppe und Dinosaurier wurden mit Hilfe des „IKBoostTools“ in fast identischer Vorgehensweise wie oben beschrieben animiert. 4.2.3.2 Morph Maps und Morph Mixer Um die Mimik im Gesicht der Puppe animieren zu können, wurden die im Modeler erstellten Morph Maps benutzt. Über den Registerreiter „Deform“ im „Object Properties“-Panel des entsprechenden Objektes lädt man über „Add Displacement“ das „Morph Mixer“-Tool, wodurch die Morph Maps im Layouter verfügbar werden und direkt mit den jeweiligen Schiebereglern des „Morph Mixers“ verändert werden können. Als besonders hilfreich stellte sich erneut die zusätzliche Verwendung des Graph Editors bei der Mimik-Erstellung heraus, da man hier direkt die in der Timeline angezeigten Keyframes verschieben oder aber neue Keyframes setzen konnte. Weiterhin bestand im Graph Editor die Möglichkeit, die von Lightwave berechneten Kurven zwischen zwei Keyframes durch Auswahl der Kurvenart oder durch Verändern des „Tension“-Wertes so anzupassen, dass sich der gewünschte Animationsablauf ergab. Konkret wurde in der Szene Acht mit Hilfe des Morph Mixers und des Graph Editors zuerst das über die 17 Sekunden lange Sequenz mehrfach verteilte Augenblinzeln der Puppe animiert, indem die beiden Morph Maps „Puppe_augen_zu“ und „Puppe_augen_weitauf“ über erstellte Keyframes verändert wurden. Anschließend wurden in gleicher Arbeitsweise die zwei Morph Maps „Puppe_lacht“ und „Puppe_mund_geschlossen“ so eingestellt, dass die Puppe in der zweiten Hälfte der Szene zu lächeln beginnt. Abb. : Morph Mixer mit geöffnetem Graph Editor im Hintergrund zum Animieren der Gesichtszüge der Puppe Generell wurde bei der Animation von Puppe und Dinosaurier das Objekt immer zuerst mit dem IKBoost-Tool animiert und anschließend die Gesichtszüge mit Hilfe des Motion Mixers angepasst. Seite 34 von 49 Projekt-Dokumentation – LOW POWER 4.2.4 Szene 32 Im Storyboard war festgelegt, dass der Dinosaurier in Szene 32 die Rakete frisst, welche anschließend im Bauch explodiert und der Dino am Ende umfällt und sich nicht mehr bewegt. Für die Bewegungen des Dinosauriers wurde wieder das IKBoost-Tool verwendet. Weiterhin waren u. a. für das Schlucken und die anschließende Explosion im Bauch im Modeler Morph Maps erstellt worden, die erneut mit dem Morph-Mixer und dem Graph Editor eingestellt und verändert wurden, bis ein zufrieden stellendes Ergebnis erreicht wurde. Beide Arbeitstechniken wurden schon in Kapitel 4.2.3.1, bzw. Kapitel 4.2.3.2 genau beschrieben, weshalb eine weitere Erläuterung hier entfällt. 4.2.4.1 Particle Emitter und Hypervoxels Um die Zeit nach der Explosion noch ein wenig interessanter und lustiger zu gestalten, wurde festgelegt, dass aus dem Maul des Dinos Rauch aufsteigen sollte, bevor dieser letztlich umfällt. Dies wurde durch zwei nahezu identische „Dynamic Objects“ realisiert, welche rechts und links an den Kanten des Mauls vom Dinosaurier platziert wurden. Zuerst wurde mit dem Befehl „Add Dynamic Object“ ein „Particle Emitter“-Objekt erstellt, wobei als Emitter Type „HV-Emitter“ einzustellen ist, da der Rauch später mit Hypervoxels erzeugt werden soll. Nach dem Erstellen des Objekts öffnet sich das „FX_Emitter“-Panel. Hier werden die Einstellungen für die Partikel vorgenommen. Im Tab „Generator“ wurde die „Generator Size“ so angepasst, dass die Particle Emitter-Objekte in das Maul des Dinos passten. Bei „Birth Rate“ wurde 60 Partikel pro Sekunde eingestellt und ein „Particle Limit“ von 60 definiert, wodurch maximal 60 Partikel gleichzeitig vorhanden sind. Bei „Start Frame“ wurde 500 eingetragen, so dass der Emitter nach der Raketen-Explosion im Bauch des Dinosauriers startet. Im zweiten Tab „Particle“ wurde die „Particle Weight“ auf 0.14 erhöht, wodurch die Partikel während des Lebensverlaufs ihre Geschwindigkeit verlangsamen und „Life Time“ auf 80 Frames gesetzt, was bedeutet, dass die Lebenszeit der einzelnen Partikel genau 80 Frames beträgt, bevor sie sich auflösen. Falls man den „Life Time“-Wert auf 0 setzt, so bedeutet dies für die Partikel eine unendliche Lebenszeit. Im dritten Tab „Motion“ wurde die „Velocity“ auf 50 Prozent erhöht und außerdem die Geschwindigkeit in X- und Z-Richtung variiert, um ein Aufsteigen des Rauches vom Maul weg nach oben zu erreichen. Zusätzlich wurde bei „Explosion (m/s) der Wert auf 0.0278 erhöht, wodurch eine gewisse Streuung der Partikel Abb. : Einstellungen des ParticleEmitter erreicht wird. Seite 35 von 49 Projekt-Dokumentation – LOW POWER Im nächsten Schritt musste den Partikeln noch eine Oberfläche zugeordnet werden. Dazu wurde in der Toolbar unter „Window“ der Punkt „Volumetrics and Fog Options“ ausgewählt und im folgenden Fenster auf „Hypervoxels“ im Drop-Down-Menü „Add Volumetric“ geklickt. Im sich öffnenden Plug-In „HyperVoxels 3.0“ wurde unter dem Tab „Shading“ eine leicht graue Farbe für den Rauch eingestellt. Im anderen Registerreiter „Geometry“ wurde die „Particle Size“ auf ca. 7,8 mm und bei „Size Variation“ ein Wert von ca. 450 Prozent definiert. Durch Auswahl des Objekt Typs „Sprite“ wurden schließlich rauchähnliche Hypervoxels erzeugt, die den gewünschten Vorstellungen entsprachen. Generell ist es möglich und auch sinnvoll, mit den Einstellungen interaktiv zu experimentieren, indem man den Play-Button des Timesliders aktiviert und dann entsprechende Werte verändert und beobachtet, welche Auswirkungen sich ergeben. Abb. : Einstellungen im HyperVoxels-Tool Seite 36 von 49 Projekt-Dokumentation – LOW POWER 5. Rendering Da ein Kompromiss zwischen Zeit und Quälität beim Rendern des Films gefunden werden musste, wurden die Einzelbilder zwar in der Antialiasing-Auswahl „Low“ gerendert, jedoch fand die Einstellung „Adaptive Sampling“ statt, wodurch sich der Antialiasing-Prozess auf die Kanten von Objekten konzentriert. Hierbei spielt der„Threshold“ eine tragende Rolle, er vergleicht die Helligkeit zweier benachbarter Pixel. Je höher dieser Wert gewählt wird, umso weniger Kanten werden erkannt und die Renderzeit dadurch verringert. Nach dem Rendern und Vergleichen einiger Testbilder wurde hier ein Threshold-Wert von 0,03 als gute Kompromisslösung gefunden und verwendet. Die Kameraauflösung wurde wie vorgeschrieben auf D1-PAL (Auflösung 720 x 576 Pixel) eingestellt. Um Zeit zu sparen, fand für zwischenzeitliche Testrenderings eine Herabsetzung der Auflösung statt (z. B. 640 x 480 Pixel ohne Antialiasing). In den „Render Options“ wurde die Einstellung „Ray Trace Shadows“ aktiviert, um realistische Schatten zu berechnen, die im vorliegenden Film überwiegend im Bereich der Kommode und des Teppichs zu sehen sind. 6. Vertonung und Schnitt Um die Musik und Soundeffekte von der Länge und der Lautstärke an den Film anzupassen, wurde die Audiobearbeitungssoftware Wavelab 4 der Firma Steinberg verwendet. So wurden beispielsweise einzelne Sequenzen des Musikstückes „Hall of the mountain king“ aus der Peer Gynt Suite No.1 mehrfach geschnitten, gestreckt und in der Dynamik angepasst, um die gewünschte Wirkung im Film erzielen zu können. Der Videoschnitt inklusive Einbinden der Musik und Soundeffekte wurde mit Adobe Premiere Pro durchgeführt. Hier wurden die als Einzelbilder gerenderten Szenen in das Programm geladen und angepasst. Die vorher ausgewählten Musiktitel und Soundgeräusche wurden ebenfalls eingebunden. Weiterhin wurden letzte Korrekturen in der Lautstärke durchgeführt und einige Filmsequenzen in der Frameanzahl gekürzt oder gestreckt, sodass eine nahezu optimale Anpassung zwischen Video und Audio erreicht werden konnte. Der Abspann des Films wurde ebenfalls in Premiere Pro erstellt. Hierbei wurde der im Programm enthaltene Title Designer verwendet und zusätzlich noch einzeln gerenderte Frames der Hauptfiguren des Films sowie des Kinderzimmers hinzugefügt, um den Abspann interessanter zu gestalten. Zu guter Letzt wurde der fertige Animationsfilm den Anforderungen entsprechend mit dem Indeo Video Codec 5.10 als AVI-File exportiert, wodurch eine Dateigröße von 602 MB zu stande kommt. Die Gesamtlaufzeit des Films beträgt 6 Minuten und 26 Sekunden. Seite 37 von 49 Projekt-Dokumentation – LOW POWER 7. Darstellung des Aufwands 7.1 Verwendete Hardware Prozessor Arbeitsspeicher Grafikkarte Intel Centrino 1,7GHz Athlon XP 2,0GHz Intel Pentium IV 2,6GHz 2 x Intel Xeon 2,0GHz 1536 MB 768 MB 1024 MB 2048 MB ATI Mobility Radeon 9600 Pro Turbo MSI Geforce 4 Ti 4200 ATI Mobility Radeon 9000 Geforce 4 440 7.2 Verwendete Software Funktion Programm-Name Quelle Modellierung Animation Bildbearbeitung Videoschnitt Audiobearbeitung Dokumentation, Texterstellung Lightwave 3D Modeler 8 Lightwave 3D Layout 8 Adobe Photoshop 7.0 Adobe Premiere Pro V7.0 Steinberg Wavelab 4.0 Open Office 2.0 www.newtek.com www.newtek.com www.adobe.com www.adobe.com www.steinberg.de www.openoffice.org 7.3 Bearbeitungszeiten 7.3.1 Modellierung Objektname Bauklötze Buchsammlung Eisenbahn Schrank Regale Logo Vorspann Gardinen mit Stange Fußball Dinosaurier Puppe Roboter Kommode Bett Flugzeug Kulisse Gesamt Bearbeiter Anzahl Punkte Anzahl Polygone Erstellungsdauer in Stunden JL JL JL JL JL JL JL JL JL JL TR TR TR TR TR 3545 15162 4050 4768 2052 1840 723 3002 6674 10853 6554 1216 1656 986 68026 Σ 131107 2700 1584 3338 2911 2146 1242 656 4560 6748 10858 6982 1394 1656 980 34801 Σ 82556 2 3 4 3 1 5 4 2 30 33 40 5 4 4 26 Σ 166 Seite 38 von 49 Projekt-Dokumentation – LOW POWER 7.3.2 Animation Name der Szene Roboter_Basis Roboter_laeuft Kulisse_Basis 01 Vorspann 02 Ball fällt 03 Knopf leuchtet 04 Roboter erwacht 05 Roboter steht auf 06 Rundblick 07 Roboter erstaunt 08 Puppe erwacht 09 Roboter verliebt 10 Puppe gefesselt 11 Roboter fixiert 12 Beinfesseln 13 Roboter entsetzt 14 Roboter läuft los 15 Kamera wackelt 16 Roboter kommt 17 Puppe entsetzt 18 Dino schaut 19 Roboter läuft I 20 Dino läuft 21 Roboter läuft II 22 Dino springt 23 Roboter steht 24 Dino schüttelt 25 Roboter nickt 26 Dino brüllt I 27 Roboter böse 28 Dino brüllt II 29 Roboter zielt 30 Schussenergie 31 Rakete fliegt 32 Dino frisst 33 Roboter jubelt 34 Batterie leer 35 Roboter langsam 36 Roboter aus 37 Abspann Gesamt Ersteller Erstellungsdauer in Stunden TR TR TR JL TR TR TR TR TR TR JL TR JL TR JL TR TR JL TR JL JL TR JL TR JL TR JL TR JL TR JL TR TR TR JL TR TR TR / JL TR / JL JL 2 24 10 24 10 0,5 4 7 5 0,5 6 0,5 5 0,5 2 0,5 1 2 2 4 4 0,5 3 0,5 5 4 2 0,5 2 1 1 7 0,5 3 18 9 0,5 8 (5/3) 9 (5/4) 3 Σ 192 Anzahl Renderzeit Rederzeit Frames pro Frame pro Szene in Sekunden In Minuten 901 80 101 391 351 931 101 421 91 491 91 101 91 301 181 201 161 261 56 121 101 246 141 131 80 171 51 81 101 101 171 621 301 101 501 451 1201 Σ 9975 56 18 12 11 17 18 13 17 14 18 18 15 19 20 29 27 21 13 23 12 23 16 20 16 24 25 18 15 17 13 17 18 18 10 24 17 Ø 18,43 840 24 20 72 100 279 22 119 21 147 27 25 29 100 87 91 56 57 22 24 39 66 47 35 32 71 15 20 29 22 49 186 90 17 200 128 Σ 3208 Für insgesamt 9975 Frames wurde an vier unterschiedlichen Rechnern insgesamt 53 ½ Stunden gerendert, wobei ein Frame im Schnitt in 18,4 Sekunden berechnet wurde. Seite 39 von 49 Projekt-Dokumentation – LOW POWER 7.3.3 Gesamtbearbeitungszeit 7.3.3.1 Thorsten Roth Modellierung: Animation: Schnitt / Vertonung: Dokumentation: Summe: 79 107 10 21 217 Stunden 7.3.3.2 Jan Lingelbach Modellierung Animation Schnitt / Vertonung Dokumentation Summe: 87 85 15 26 213 Stunden Seite 40 von 49 Projekt-Dokumentation – LOW POWER 9. Mögliche Verbesserungen - In den Szenen 2 und 23 erkennt man an der Decke einen unnatürlichen Schatten, der durch das dort platzierte Spotlight verursacht wird. Da in diesen beiden Szenen jedoch das Hauptaugenmerk auf dem Ball, bzw. Roboter liegt, wurde darauf verzichtet, diese Szenen zu verbessern und erneut zu rendern. Durch eine Erhöhung des „Spotlight Cone Angle“ im „Light Properties“-Panel könnte der Schatten realistischer dargestellt werden. - Um die Bewegungen von den Kettengliedern der Puppe realistischer zu animieren, könnten im „IKBoost“-Tool die Dynamics eingesetzt werden. Hier wird jedem Bone u. a. eine Gewichtung und Federung zugeordnet und die Bone-Bewegungen werden berechnet und in der Timeline automatisch entsprechende Keyframes gesetzt. Da sich die Kalkulation bei den über 70 Kettengliedern als zu zeitaufwendig herausstellte, wurde auf den Einsatz dieser Technik im Rahmen des Projektes verzichtet. - Die Augen des Dinosauriers und der Puppe wurden aus Zeitgründen nicht beweglich gestaltet. Dies könnte durch zwei an den Augen platzierte Bones, welche ein NullObjekt als Target zugewiesen bekommen, ermöglicht werden. Auf diese Weise wären die Augen immer auf dieses Null-Objekt gerichtet und könnten sich durch dessen Positionierung, ohne explizite Bewegung des Kopfes, im Raum umsehen. 10. Fazit 3D-Animationen finden sich heutzutage in nahezu allen Bereichen der Unterhaltung wieder. Darunter zählen u. a. Computerspiele oder Filme. Mit der Realisierung dieses Projekts wurde erstmals richtig bewusst, wie viel Arbeit und langjährige Entwicklung hinter bekannten 3D-Animationsfilmen wie TOY STORY, ROBOTS oder MONSTER AG steckt. Die Komplexität und Möglichkeitsvielfalt, die LIGHTWAVE dem Entwickler bietet, schlägt sich in einer für den Einsteiger langen und evtl. sogar frustrierenden Einarbeitungsphase nieder. So waren auch wir anfangs von der schier unendlichen und auch leicht unüberschaubaren Vielfalt von LIGHTWAVE überwältigt. Die intensive Beschäftigung mit Tutorials zur Einarbeitung in bestimmte Themengebiete verschaffte jedoch nach und nach die nötige Erfahrung und Begeisterung. Auch wenn im Verlauf des Projektes die Motivationskurve durch kleinere Probleme immer wieder leicht fiel, ließen wir uns nicht entmutigen und sind so zu einem sehr anschaulichen Ergebnis gekommen. Hierbei erwies sich die nichtlineare Arbeitsweise (siehe Kap. 2) als sehr vorteilhaft, da besonders zum Ende des Projekts durch paralleles Rendern und Animieren Zeit gespart werden konnte. Bei eventuell folgenden 3D-Animationsprojekten können wir auf ein fundiertes Grundwissen zurückgreifen und aufgrund der gewonnenen Erfahrungen Aufgaben effektiver bearbeiten. Seite 41 von 49 Projekt-Dokumentation – LOW POWER 11. Literaturangaben und Quellenverzeichnis 11.1 Bücher Lightwave 7 Referenz Handbuch, deutsche Ausgabe – Newtek – 2001 Lightwave 8 Reference Manual (pdf) – NewTek - 2004 Inside Lightwave 8 – Dan Ablan – New Riders 2005 Lightwave 8 Online Help 11.2 Links im World Wide Web www.newtek.com www.grsites.com/textures/ www.3dgarage.com www.panebianco3d.com/ members.shaw.ca/lightwavetutorials/ www.fonts-online.de/ Hersteller von Lightwave 3D mit vielen Tutorials kostenlose Texturen zum Downloaden Homepage des Lightwave-„Gurus“ Dan Ablan u.a. Tutorial zum Modellieren eines Fußballs riesige Sammlung an Lightwave-Tutorials frei verfügbare Schriften zum kostenlosen Download 11.2 verwendete Musik und Soundeffekte The Chordettes – Mr. Sandman – Superhits of Rock ‘n’ Roll Sampler, 1994 Edvard Grieg – In the Hall of the Mountain King – Peer Gynt Suite No.1, 2000 Richard Strauss - Also Sprach Zarathustra – 2001: A Space Odyssey OST, 1996 Klaus Badelt – One Last Shot – Pirates of the Caribbean OST, 2003 Die dem Video unterlegten Soundeffekte wurden von den Internetseiten www.hoerspielbox.de und www.sounddogs.com heruntergeladen. Seite 42 von 49 Projekt-Dokumentation – LOW POWER 12. Anlagen 12.1 Projektantrag Thorsten Roth Fachhochschule Fulda Fulda, den .................... Fachbereich Angewandte Informatik Prüfungskommission Grafik Prof. Dr. W. Ehrenberger, Prof. Dr. W. Heinzel Leistungsnachweis zum Prüfungsfach „Grafik-Programmierung“ Name, Vorname, Mat.-Nr.: ....Roth.,.Thorsten..........170875............................................................... Tel., E-Mail: ....0176 / 24227735...........phoenix.roth@gmx.de.................................... Thema: Modellierung und Animation einer Szene in einem Kinderzimmer unter Verwendung von Lightwave 3D Schwerpunkt Teil 1: Modellierung und Animation eines Spielzeug-Roboters ........................................................................................................................... Gliederung: Teil 2: Jan Lingelbach Teil 1: Thorsten Roth Modellierung Roboter Dinosaurier, Puppe Bett, Kommode, Flugzeug-Mobile Schrank, Regale, Spielzeug-Eisenbahn, Ball Kinderzimmer mit Fenster, Vorhang, Tür, etc. Animation Animation des Roboters mit Hilfe von Bones (Inverse Kinematic) Animation des Dinosauriers und der Puppe mit Hilfe von Bones (Inverse Kinematic) Erstellung Vor- und Abspann Festlegung und Durchführung der Kamerafahrten und Beleuchtung Schnitt und Vertonung der Szene Anmeldeschluß: Abgabetermin: Hinweis: Ende Oktober spätestens zwei Tage vor der ersten Präsentation (Planung: Anfang Januar) Dieses Formblatt wird dem Prüfungsamt als offizielle Anmeldung zur Prüfung zugeleitet. Jeder Betreuer erhält ein Exemplar der Dokumentation inkl. Datenträger. Unterschrift der Kandidatin oder des Kandidaten: .............................................................. Unterschriften der Betreuer: Prof. Dr. W. Ehrenberger .............................................................. Prof. Dr. W. Heinzel .............................................................. Die Kandidatin oder der Kandidat erklärt sich damit einverstanden, daß die Arbeit entsprechend der „GNU Public License (GPL)“ realisiert und ggf. auf den „Servern“ der Fachhochschule Fulda für den weltweiten Abruf bereitgestellt wird. Unterschrift der Kandidatin oder des Kandidaten: .............................................................. Seite 43 von 49 Projekt-Dokumentation – LOW POWER 12.2 Projektantrag Jan Lingelbach Fachhochschule Fulda Fulda, den .................... Fachbereich Angewandte Informatik Prüfungskommission Grafik Prof. Dr. W. Ehrenberger, Prof. Dr. W. Heinzel Leistungsnachweis zum Prüfungsfach „Grafik-Programmierung“ Name, Vorname, Mat.-Nr.: ....Lingelbach.,.Jan..........164674.............................................................. Tel., E-Mail: ....0173 / 7752235...........janlingel@gmx.de............................................ Thema: Modellierung und Animation einer Szene in einem Kinderzimmer unter Verwendung von Lightwave 3D Schwerpunkt Teil 2: Modellierung und Animation eines Spielzeug-Dinosauriers und einer Puppe ........................................................................................................................... Gliederung: Teil 2: Jan Lingelbach Teil 1: Thorsten Roth Modellierung Roboter Dinosaurier, Puppe Bett, Kommode, Flugzeug-Mobile Schrank, Regale, Spielzeug-Eisenbahn, Ball Kinderzimmer mit Fenster, Vorhang, Tür, etc. Animation Animation des Roboters mit Hilfe von Bones (Inverse Kinematic) Animation des Dinosauriers und der Puppe mit Hilfe von Bones (Inverse Kinematic) Erstellung Vor- und Abspann Festlegung und Durchführung der Kamerafahrten und Beleuchtung Schnitt und Vertonung der Szene Anmeldeschluß: Abgabetermin: Hinweis: Ende Oktober spätestens zwei Tage vor der ersten Präsentation (Planung: Anfang Januar) Dieses Formblatt wird dem Prüfungsamt als offizielle Anmeldung zur Prüfung zugeleitet. Jeder Betreuer erhält ein Exemplar der Dokumentation inkl. Datenträger. Unterschrift der Kandidatin oder des Kandidaten: .............................................................. Unterschriften der Betreuer: Prof. Dr. W. Ehrenberger .............................................................. Prof. Dr. W. Heinzel .............................................................. Die Kandidatin oder der Kandidat erklärt sich damit einverstanden, daß die Arbeit entsprechend der „GNU Public License (GPL)“ realisiert und ggf. auf den „Servern“ der Fachhochschule Fulda für den weltweiten Abruf bereitgestellt wird. Unterschrift der Kandidatin oder des Kandidaten: .............................................................. Seite 44 von 49 Projekt-Dokumentation – LOW POWER 12.3 Storyboard # Shot Name 01 Vorspann Shot Beschreibung o o o Titeleinblendung vor Himmel mit Vollmond Kamerafahrt vom Mond weg durch das Fenster ins Kinderzimmer, Vorhang weht im Wind Wind stößt linkes Fenster auf, Fenster stößt Ball an, Ball rollt auf Kante der Kommode zu 02 Ball fällt o o Kameraperspektive: auf Roboter Richtung Bett Ball fällt von Kommode auf den Knopf des Roboters und rollt aus dem Bild 03 Knopf leuchtet o o Kameraperspektive: Nahaufnahme Knopf Knopf beginnt zu leuchten. Man erkennt „on/off“ auf dem Schalter. 04 Roboter erwacht o Kameraeinstellung: Roboter Kopf und Oberkörper Roboter schlägt die Augen auf, Energieanzeige lädt sich fast voll auf. o 05 Roboter steht auf o o Kameraperspektive: Totale auf Roboter Roboter steht auf und fängt an sich umzuschauen. 06 Rundblick o o Kameraperspektive: Sicht des Roboters: Roboter schaut sich im Zimmer um. Blick des Roboters schweift kurz an der Puppe vorbei. Dann geht der Blick sprunghaft zurück zur Puppe. 07 Roboter erstaunt o o Kameraperspektive: Kopf Roboter Roboter schaut erstaunt nach Puppe 08 Puppe erwacht o o Kameraperspektive: Puppe komplett Puppe wacht auf, lacht den Roboter an 09 Roboter verliebt o o Kameraperspektive: Kopf Roboter Roboter schaut verliebt Seite 45 von 49 Bild Projekt-Dokumentation – LOW POWER 10 Puppe gefesselt o o Kameraperspektive: ganze Puppe Puppe erkennt, dass sie gefesselt ist und ist entsetzt. 11 Roboter fixiert o o Kameraperspektive: Kopf Roboter Roboter schaut erstaunt und fixiert die Beine der Puppe 12 Beinfesseln o o Kameraperspektive: Beine der Puppe Bein-Fesseln der Puppe in Großaufnahme, Puppe zieht mit einem Fuß an der Kette 13 Roboter entsetzt o o Kameraperspektive: Kopf Roboter Roboter schaut entsetzt. 14 Roboter läuft los o o Kameraperspektive: Totale auf Roboter Roboter setzt sich in Bewegung Richtung Puppe. 15 Kamera wackelt o o o Kameraperspektive: Sicht des Roboters Roboter läuft in Richtung Puppe. Kamera wackelt entsprechend, Blick des Roboters ist fixiert auf Puppe. 16 Roboter kommt o o Kameraperspektive: Sicht der Puppe: Puppe sieht Roboter auf sich zulaufen 17 Puppe entsetzt o o Kameraperspektive: Sicht auf Puppe: blickt zur Seite Richtung Dino am Schrankeck, Puppe ist entsetzt. 18 Dino schaut o o Kameraperspektive: Oberkörper Dino Dino schaut um das Schrankeck, erkennt und betrachtet die Puppe. Dino schaut dann in Richtung des Roboters. Seite 46 von 49 Projekt-Dokumentation – LOW POWER 19 Roboter läuft I o o Kameraperspektive: Sicht des Dinos Roboter läuft in Richtung der Puppe 20 Dino läuft o o Kameraperspektive: Kopf Dino Dino läuft hinter dem Schrank hervor. 21 Roboter läuft II o o Kameraperspektive: Sicht des Dinos Roboter läuft weiter in Richtung der Puppe. 22 Dino springt o o Kameraperspektive: Totale auf Dino Dino macht Riesensatz und springt zwischen Puppe und Roboter. 23 Roboter steht o o Kameraperspektive: Totale auf Roboter Roboter bleibt stehen. 24 Dino schüttelt o o Kameraperspektive: Oberkörper Dino Dino schaut in Richtung des Roboters und schüttelt den Kopf 25 Roboter nickt o o Kameraperspektive: Kopf Roboter Roboter nickt 26 Dino brüllt I o o Kameraperspektive: Totale auf Dino Dino baut sich demonstrativ vor dem Roboter auf und brüllt ihn an. 27 Roboter böse o o Kameraperspektive: Kopf Roboter Roboter schaut böse zurück. 28 Dino brüllt II o o Kameraperspektive: Kopf Dino Dino brüllt erneut. Seite 47 von 49 Projekt-Dokumentation – LOW POWER 29 Roboter zielt o o Kameraperspektive: Totale auf Roboter Roboter hebt den Raketenarm und zielt auf den Dino 30 Schussenergie o o Kameraperspektive: auf Raketenarm. Man sieht wie die Schussenergie aufgeladen wird. 31 Rakete fliegt o o Kameraperspektive: Totale auf Roboter Rakete wird vom Roboter abgeschossen und fliegt Richtung Kamera, dann links aus dem Bild 32 Dino frisst o o Kameraperspektive: Totale auf Dino Dino schluckt die Rakete. Sie explodiert im Bauch und der Dino fällt um. 33 Roboter jubelt o o Kameraperspektive: Oberkörper Roboter Roboter jubelt und freut sich über den Sieg. Er stockt plötzlich, weil ihm seine Energieanzeige einfällt. Er schaut auf diese Anzeige und ist schockiert. 34 Batterie leer o Kameraperspektive: Nahaufnahme Energieanzeige Der Zeiger der Energieanzeige fällt in den roten Bereich. o 35 Roboter langsam o o Kameraperspektive: neben der Puppe auf Roboter Roboter läuft auf Puppe zu, wird langsamer, streckt noch die Hand nach ihr aus. 36 Roboter aus o o Kameraperspektive: hinter Roboter auf Puppe Hand bewegt sich in Richtung Puppe, Puppe schaut freudig. Hand bleibt kurz vor der Puppe stehen, Kopf des Roboters sinkt nach unten und der Knopf wird wieder dunkel, Puppe ist enttäuscht. o 37 Abspann o Abspann Seite 48 von 49 Projekt-Dokumentation – LOW POWER 12.4 Datenträger Der Datenträger enthält: Ordner: Film Inhalt: Film „LOW POWER“ in seiner endgültigen Fassung als AVI-Datei (Indeo 5.10 Codec) Szenen alle für die Animation erstellten, finalen Lightwave.Szenen (*.lws) Objekte alle für das Projekt erstellten, finalen Lightwave-Objekte (*.lwo) Texturen alle in diesem Projekt verwendeten Texturen Dokumentation die Projektdokumentation, die Projektanträge sowie das Storyboard im pdf-Format Präsentation die Folien der Präsentation des Projektes im Open Office-Format Tutorials im Projekt verwendete Tutorials, konkret: Modellierung eines Fußballs im HTML-Format Seite 49 von 49