„Star Wars IV – Eine neue Hoffnung“
Transcription
„Star Wars IV – Eine neue Hoffnung“
Projekt-Dokumentation 3D Animation mit Maya Titel: „Star Wars IV – Eine neue Hoffnung“ In der LVA – Grafikprogrammierung Prof. Dr. Werner Heinzel Fh-Fulda WS 04/05 von 177629 - Daniel Mack Daniel Mack WS 04/05 Grafik-Programmierung Inhaltsverzeichnis 1. Einführung:.......................................................................................................................................3 2. Kurzbeschreibung:............................................................................................................................3 3. Storyboard:....................................................................................................................................... 3 4. Modellierung.................................................................................................................................... 4 4.1 Modellierung des X-Wings............................................................................................................ 4 4.1.1 Imageplanes................................................................................................................................. 4 4.1.2 Modellierung der Flügels.............................................................................................................4 4.1.3 Modellierung des Rumpfes..........................................................................................................5 4.1.4 Modellierung der Nase................................................................................................................ 5 4.1.5 Zusammenfügen der Hälften....................................................................................................... 6 4.2 Texturierung des X-Wings............................................................................................................. 6 4.2.1 Der Rumpf................................................................................................................................... 6 4.3 Modellierung eines Tie Fighters (des Anführers)...........................................................................8 4.4 Texturierung des Tie Fighters.......................................................................................................10 4.5 Modellierung der Planeten Yavin und des Mondes......................................................................11 4.6 Texturierung des Planeten und des Mondes................................................................................. 11 5. Erstellung der Szenen und Animationen........................................................................................ 12 5.1 Scene01c [Abb35]........................................................................................................................ 12 5.2 Scene01f....................................................................................................................................... 14 5.3 Scene01i[Abb41].......................................................................................................................... 15 5.4 Scene11_16[Abb43]..................................................................................................................... 16 6. Compositing / Rendering................................................................................................................17 7. Anwendungsdokumentation:.......................................................................................................... 23 8. Benötigte Arbeitszeiten ........................................................................................................... 24 9. FAZIT:............................................................................................................................................24 ANHANG:..........................................................................................................................................25 -2- Daniel Mack WS 04/05 Grafik-Programmierung 1. Einführung: Dieses Projekt wurde im Rahmen der LVA – Grafik-Programmierung im WS 04 / 05 mit der 3D Software MAYA von Alias Wavefront entwickelt. Da ich dieses Projekt alleine durchgeführt habe und damit auch ein höherer Arbeitsaufwand einherging kann ich leider nicht auf die Modellierung und Erstellung aller Objekte und Szenen eingehen. Da diese aber alle auf dem gleichen Prinzip modelliert und aufgebaut sind beschränke ich mich in dieser Ausarbeitung auf einige bestimmte und führe im Anhang dann alle erstellten Objekte auf. 2. Kurzbeschreibung: Story: Das Imperium bedroht mit einer Raumstation (Todesstern) den Rebellenstützpunkt auf dem Planeten Yavin zu zerstören. Der Todesstern befindet sich fast in Schusspositon. Die Rebellenraumschiffe starten vom Planeten um den „Todesstern“ zu zerstören bevor dieser in Schussposition ist. Es kommt zu einem Finale, in dem es den Rebellen gelingt über die einzige Schwachstelle der Raumstation, diese in die Luft zu sprengen. In dem vorliegenden Projekt wurden die hierfür erforderlichen Raumschiffe, Planeten, Objekte und Locations modelliert, texturiert und diese dann in die entsprechenden Szenen importiert und animiert. Zur Modellierung und Animation wurde Alias Wavefront Maya verwendet. Zur Erstellung und Bearbeitung der Texturen Adobe Photoshop. Für die Spezialeffekt, Compositing, Schnitt und Vertonung wurde Adobe After Effects eingesetzt. Im der folgenden Dokumentation sind alle aus dem Internet entnommenen Quellen mit [Link..] angegeben. Die dazugehörenden Internetadressen befinden sich dann im Anhang. Bilder sind ebenfalls mit [Abb..]gekennzeichnet. 3. Storyboard: Zur Erstellung des Storyboards machte ich verschiedene Screenshots aus dem Film Star Wars – Episode 4. Diese brachte ich in eine geeignete Reihenfolge. Mit Hilfe des Storyboards konnte ich genau ermitteln welche Objekte ich benötigte und wie ich die Szenen aufzubauen hatte. Probleme: Im Laufe des Projektes stellte sich heraus, das einige Szenen zu aufwendig gewesen wären, oder das ich generell zu viele Szenen geplant hatte. Daraufhin entfielen einige Szenen aus dem Storyboard. in der Animation. -3- Daniel Mack WS 04/05 Grafik-Programmierung 4. Modellierung 4.1 Modellierung des X-Wings Vor der eigentlich Modellierung begann die Sammlung des „Referenzmaterials“. Hierfür benutzte ich die Bildersuchfunktion von Google, die mir zahlreiche gute Referenzbilder brachte. 4.1.1 Imageplanes Als nächstes besorgte ich mir Blaupausen (sog. „Blueprints“) des Modells von[LINK2]. Das Blueprint wird dann mit Hilfe von Photoshop in 3 Bilder zerlegt (Vorderansicht, Draufsicht und Seitenansicht). Hierbei ist beim Abspeichern der einzelnen Ansichten darauf zu achten, das die Bilder jeweils die passenden Skalierungen haben, also Höhe Draufsicht = Breite Seitenansicht, usw....). Die Bilder werden dann als „Imageplanes“ in die entsprechenden [Abb 1] Ansichten gelegt.[Abb 1] 4.1.2 Modellierung der Flügels Im Blueprint ist der Flügel hochgeklappt. Modelliert habe ich ihn aber im „Urzustand“. Das gab zwar kleine Abweichungen von den Abmaßen, störte aber nicht weiter. In der Draufsicht wird 1 Cube erstellt und auf die Umrisse des Flügels gezogen, dann werden mit Hilfe des CutFaces-Tools zusätzliche Kanten eingefügt. Damit auch in der Höhe die entsprechenden Kanten und Vertices an die richtige Stelle gezogen werden können. [Abb2] [Abb 2] Als nächstes kam die Turbine, hierfür wurde ein Zylinder benutzt, der am Kopf nach innen extrudiert und anschließend nochmal Richtung aussen extrudiert wurde. 2 Cubes mittels (Boolean –> Union) bildeten dann die Querstreben für den Lufteinlass. [Abb3] [Abb 3] Die Turbine wurde bis auf den Auslass mit „Revolve“ erstellt. Man zeichnet in der Seitenansicht das Profil der Turbine mit einer Curve. Dann wendet man „Revolve“ um die entsprechende Achse an. Für den Auslass der Turbine wurde auch wieder ein Zylinder in Form extrudiert. Für die „ausgefransten“ Ecken wurden die Faces am Ende markiert und mit (Keep Faces Together = OFF) nach außen extrudiert [Abb4] -4- [Abb 4] Daniel Mack WS 04/05 Grafik-Programmierung Fehlt nur noch der Laser. Hierfür wurde wieder ein Zylinder benutzt und mittels Extrude in die richtige Form gebracht. Die restlichen Details wurden mit (Boolean -> Union) an den Laser angefügt. [Abb5] [Abb5] 4.1.3 Modellierung des Rumpfes Der Rumpf wird nur zur Hälfte modelliert, da er anschließend über das (MirrorGeometrie-Tool) gespiegelt wird. Das sichert eine absolute Symmetrie des Objektes. Zuerst wurde ein Cube erstellt und über die Ansichten in die Grundform gezogen. Dann wurden die Flächen mit dem (CutFaces – Tool) unterteilt und die Vertices an die grundsätzliche Form des Rumpfes angepasst.[Abb6] [Abb6] Über Soften/Harden-Edges wurden alle Kanten „abgerundet“. Kanten die sichtbar sein sollten wurden dann anschließend mit einem Wert von 0 wieder hervorgehoben. Das Tool vergleicht den Winkel der Normals benachbarter Faces. Mit dem Wert gibt man an, ab welchem Winkel die Edges „abgerundet“ werden sollen(Winkel die größer sind als der angegebene Wert rendern „Hard“ und kleinere Winkel rendern „Soft“). Somit läßt sich auch mit relativ wenigen Polygonen der Anschein sehr weicher, abgerundeter Oberflächen erzielen. Für weitere Details wurden wieder einfache „Primitive“ verwendet, die mittels Boolean (Union und Difference) in die entsprechenden Formen gebracht wurden. . [Abb7] Als weitere Details wurde hinten am Rumpf mit einem „Cube“ der Einlass für die Flügel mit „Boolean –> Difference“ herausgearbeitet. Ebenso an der Nase, die Torpedoschächte mit einem Zylinder. Das Cockpit war zuerst fest mit dem Rumpf verbunden, da es aber für spätere Zwecke evtl. animiert werden sollte, wurde es vom Rumpf getrennt. Dies geschah mit dem „Extract - Tool“, hierbei ist darauf zu achten, dass „Keep Faces Together“ und die Option „Seperate Extracted Faces“ aktiviert sind. Anschließend wurde noch mit Extrude ein Pilotensitz herausgearbeitet[Abb8] [Abb7] [Abb8] 4.1.4 Modellierung der Nase Als Grundfläche diente ein Cube, mit „Cut Faces“ wurde dieser unterteilt. Ein Zylinder und ein Cube wurde dazu benutzt die Form mittels (Boolean->Difference) zu erhalten. Anschließend werden die Vertices an das Profil in der Vorderansicht angepasst. Die Kanten werden wieder mit „Soften/Harden-Edges“ „abgerundet“.[Abb9] -5- [Abb9] Daniel Mack WS 04/05 Grafik-Programmierung 4.1.5 Zusammenfügen der Hälften Die fertigen Hälften des Rumpfes, der Details und der Nase werden nun mittels „Mirror Geometrie-Tool“ an der X-Achse gespiegelt. Hierbei ist darauf zu achten, dass alle Vertices, die später in der Mitte des Objektes liegen genau einen x-Wert von 0 haben. Da es sonst zu einer Lücke in der Geometrie kommt. [Abb10] Zum Schluss können noch überflüssige/doppelte Vertices entfernt werden. Hierzu benutzt man das Merge Vertices Tool mit einer Einstellung von (Distance = 0.0001). Der Flügel wird zuerst texturiert und später dann dupliziert. 4.2 Texturierung des X-Wings Die Grundtexturen für den X-Wing sind aus dem Internet l[LINK2]von einem bereits erstellten Modell, diese Texturen mussten aber noch auf mein Raumschiff angepasst werden. Hierfür erstellte ich sog. UV-Maps für die Flügel, den Rumpf, die Nase, die Cockpitabdeckung, die Turbine, den Laser und die Details. 4.2.1 Der Rumpf Zuerst wird dem Rumpf ein Material, in diesem Fall ein Blinn zugewiesen. Es standen nun 2 Möglichkeiten der Textur Projektion zur Auswahl, die Cylindrical-Projektion und die planare Projektion. Ich probierte zuerst die zylindrische , da es aber dabei schwer ist gerade Linien auf das Objekt zu zeichnen habe ich mich dann für die planare entschieden. Man teilt sich sein Objekte in Bereiche ein, ich habe es in Draufsicht, Seitenansicht rechts, [Abb11] Seitenansicht links, Ansicht von unten und von hinten eingeteilt. Man markiert die entsprechenden Faces und macht eine planare Projektion in der entsprechenden Achse. Die ganzen Projektionen richtet man dann im UV- Textur Editor aus. In diesem gibt es die Option Snapshot mit dieser Funktion macht man eine Art Screenshot der Abwicklung.[Abb11] Diese Abwicklung benutzt man dann in Photoshop, um seine Texturen darauf zu zeichnen. Die aus dem Internet importierten Texturen[LINK 2]passte ich dann an meine UV-Map an. Hierfür erstellte ich eine Colormap[Abb12] für die Farben. Aus dieser entfernte ich die Farben und änderte ein bisschen den Kontrast und die Helligkeit, dies ergab die Specularitymap. [Abb13] Die weißen Flächen legen hier fest wie viel Licht reflektiert werden soll. [Abb12] [Abb13] -6- Daniel Mack WS 04/05 Grafik-Programmierung Dem Rumpf-Blinn wird dann jeweils eine Image Node für Color und Specularity zugewiesen und im UV-Linker mit der entsprechenden UV-Map verlinkt[Abb14] Probleme: [Abb14] Beim Rumpf gab es Probleme beim Erstellen der Bumpmap. Ich habe erst im nachhinein herausgefunden, das es notwendig ist, zumindest in einem Set alle Faces eines Objektes in einer Projektion zu haben. Hierzu muss man einfach das gesamte Objekt auswählen und eine planare Projektion in das Standard Maya (map1-Set) machen.(Vorausgesetzt man hat für sich ein neues Set erstellt) Mit dem selben Prinzip sind die Flügel[Abb18], die Turbine[Abb15], der Laser[Abb19], die Nase [Abb17] und die Details[Abb16] texturiert. [Abb18] [Abb15] [Abb19] [Abb16] Als Gesamtergebnis ergab sich dann folgendes: [Abb20] -7- [Abb17] Daniel Mack WS 04/05 Grafik-Programmierung Jetzt mussten nur noch die Flügel dupliziert und rotiert werden: Hiebei war darauf zu achten, das der x -und y-Wert des Pivotpunktes genau auf 0 liegt. Der Vorteil die Flügel erst jetzt zu duplizieren lag darin, dass die UV-Textur später nicht auf die anderen Flügel übertragen werden muss, sondern diese jetzt schon gleich mit dupliziert wurde.[Abb21] [Abb21] Nun wurden die Flügel noch richtig gruppiert, damit sie später animiert werden können, Es sollen die jeweils schräg gegenüberliegenden Flügel miteinander zu rotieren sein.[Abb22] [Abb22] Für den Einsatz in Scene01c,Scene01d und Scene01f wurden zusätzlich noch Standfüsse modelliert und texturiert. Dies war die Texturierung des X-Wings. 4.3 Modellierung eines Tie Fighters (des Anführers) [Abb23] Referenzbild aus dem Internet Zuerst wurden wieder die Blaupausen als Imageplanes in den Hintergrund gelegt, dann als Hilfe zur Modellierung einige Referenzbilder aus dem Internet gesucht.[Abb23] Die Pilotenkanzel des Fighters übernahm ich, von dem vorher von mir modellierten und im Anhang aufgeführten Tie Fighters[Abb63].da diese fast identisch sind. Hierfür löschte ich alle Polygone bis auf die Kanzel. Anschließend füllte ich das so entstandene „Loch“ wieder mit dem „Fill Hole-Tool“ [Abb24] [Abb24] -8- Daniel Mack WS 04/05 Grafik-Programmierung Danach wurde das Polygon, welches das Loch füllte mit dem „Split Polygon-Tool“ so unterteilt, das es jeweils aus viereckigen Polygonen besteht. Anschließend wurde die Fläche extrudiert, damit sie dem Profil der Blaupause entsprach. Für die Details wurden wieder „Primitive“ verwendet, um aus dem „Arm“ entsprechende Details mit den BoolOperationen herauszuarbeiten.Für die Rohre wurde ein Zylinder genommen,mehrfach extrudiert und rotiert und anschließend die Kanten mittels Soften/Harden Edges „geglättet“.[Abb25] [Abb25] Für die Verbindung zwischen Flügel und Arm wird die äußerste Fläche weiter nach außen extrudiert. Einige Zylinder und Cubes werden wieder erzeugt, verformt und mit (Boolean ->Union) wieder mit dem Aufnehmer verbunden um mehr Detailfülle zu erreichen. [Abb26] Für die Flügel habe ich einen Cube erstellt, ihn mittels der Vorderansicht und der Draufsicht ans Profil angepasst und dann mit dem „Split Polygon-Tool“ den Flügel unterteilt. Die neuen Faces werden nun mit dem Rotate Tool dem Profil der Vorlage angepasst. Um mehr Detailgrad zu erreichen wurden innen und außen am Flügel wieder verschiedene Zylinder und Cubes erzeugt, verformt und mit (Boolean-> Union) mit dem Flügel „verschmolzen“ [Abb27] [Abb26] [Abb27] Für das Heck wurde ein Zylinder erstellt. Dieser wurde mit mehreren Cubes per (Boolean->Difference) geviertelt. Das vordere Ende wurde mit Extrude bis zum Arm des Fighters erweitert. Der Kasten am Heck besteht wieder aus einem Cube. Für die Details daran hab ich wieder einige „Primitive“ erzeugt mit Boolean-> Union und Difference wurden dann die Details weiter herausgearbeitet. [Abb28] [Abb28] Als nächstes musste nur noch die Pilotenkanzel und der Flügel des Fighters mit dem Mirror Geometrie Tool gespiegelt werden. Hierbei ist wieder darauf zu achten, das die Vertices direkt auf der Spiegelachse liegen. [Abb29] [Abb29] -9- Daniel Mack WS 04/05 Grafik-Programmierung 4.4 Texturierung des Tie Fighters Die Pilotenkanzel mit Arm, die hintere Tragfläche und die Flügel bekamen ein Blinn. Dann wurden die Faces markiert, die das Cockpitglas erhalten sollen und diesen dann ein Phong mit einer geringen Transparenz von (0.058,0.058,0.058) zugewiesen. Die Faces des Rahmen wurden ausgewählt und einem Blinn zugeordnet. Als letztes bekamen noch die Faces, die später die Solarpanels enthalten sollen, einen Blinn zugewiesen. Die einzigste Textur die ich für den Fighter benötigte waren die Solarpanels am Flügel. Also erstellte ich zuerst die UV-Map für die Panels und exportierte den Snapshot in Photoshop. Dann schnitt ich aus einem geeigneten Referenzbild[LINK3], einfach einen passenden Ausschnitt aus und malte mir die Solarpanels auf meine UV-Map. Dieses ergab meine Colormap[Abb30], für die Bumpmap nahm ich wieder die Farbe heraus und erhöhte die Helligkeit und den Kontrast.[Abb31] [Abb30] [Abb31] In Maya wurde dann das Colorfile und die Bumpmap entsprechend dem Blinn zugeordnet. Im UV-Linker müssen dann die beiden Dateien noch der UV-Map zugewiesen werden. Damit ist der Tie Fighter fertig[Abb32] [Abb32] -10- Daniel Mack WS 04/05 Grafik-Programmierung 4.5 Modellierung der Planeten Yavin und des Mondes Der Mond des Planeten und der Planet selbst besteht jeweils aus 3 Nurbspheres, eine für die Planetenoberfläche, eine für die Wolken und eine für die Atmosphäre. 4.6 Texturierung des Planeten und des Mondes Die Texturen der beiden Planeten stammen aus dem Internet[LINK4] Die beiden Shader sind gleich aufgebaut und aus . dem Internet[LINK5] entnommen. Er ist nicht ganz einfach zu verstehen und dafür habe ich auch einige Zeit gebraucht. Die ClampNode: Sie schneidet Bereiche ab. Das heißt man hat einen Input, min. und max. Stellt man den max. Bereich auf 1.0 und den min. auf 0.0, werden alle Werte, die durch den Input kommen beschnitten. Also alles was unter 0.0 liegt, und die Werte die [Abb33] über 1.0 liegen werden im Output nicht ausgegeben. Nur Werte, die zwischen 0.0 und 1.0 liegen werden aus dem Output ausgegeben. Das bedeutet hier, das die Intensität der Lichtquelle nicht die Atmosphäre beeinflusst, eine höhere Intensität als 1 z.B.10 würde lediglich als Intensität 1 berücksichtigt werden. Die SurfaceLuminanceNode: Über diesen Node bekommt man die Information über die Oberflächen Luminanz/Helligkeitswerte des Materials/Objekts und wie es beim Rendern ausgegeben wird. In diesem Fall wird hierüber die Information geholt, welche Seite des Planeten hell und welche dunkel ist. Die SamplerinfoNode: Der FacingRatio wird jeweils mit dem V-Wert der Transparenzramp und der Atmosphärenramp verbunden. Das bedeutet für gerenderte Punkte der Fläche, die von der Kamera wegzeigen, der FacingRatio einen Wert von 0 und für Bereiche deren Normalen direkt in die Kamera zeigen einen Wert von 1 haben. Hier steuert die Sampler Infonode die Transparenz, d.h., Flächen die der Kamera zugeneigt sind werden transparenter, somit sieht man nur die Atmosphäre um den Planeten und nicht komplett über den ganzen Planeten verteilt. Für die Atmosphärenramp wurde noch die Farbabstufungen eingestellt, die sie erhalten soll. Die Planetenoberfläche bekommt eine Color-Textur und eine Bumpmap zugewiesen. Für die Transparenz der Wolken wird ebenfalls eine SamplerInfoNode zum steuern der Transparenz verwendet. [Abb33] Der andere Planet ist nach dem gleichen Prinzip und Shader aufgebaut. [Abb34] [Abb34] -11- Daniel Mack WS 04/05 Grafik-Programmierung Alle anderen Objekte wurden nach den vorangegangenen Prinzipien modelliert und texturiert, deswegen sind diese im Anhang aufgeführt. 5. Erstellung der Szenen und Animationen. Mit Hilfe des Storyboards konnte ich den Szenenaufbau genau planen. Da die Beschreibung aller erstellten Szenen den Rahmen dieser Dokumentation „sprengen“ würde, wählte ich hierfür ein paar exemplarisch aus. 5.1 Scene01c [Abb35] Die mit Abstand die aufwendigste und mit der größten Renderzeit zu Buche schlagende Szene. Leider war es nicht möglich durch den Zeitrahmen noch Personen für die Szene zu modellieren und animieren, daher wurde versucht etwas mehr Dynamik,durch rotierenden Alarmlichter an der Decke, zu bringen. [Abb35] Bis auf den Ywing[Abb71] wurden alle Objekte der Szene selber modelliert und texturiert. Die Texturen stammen von [LINK2] und von [LINK6] für die Säulen und die Kisten. Für die Kabel zeichnete ich eine Curve und einen Circle und wendete Extrude Surface darauf an, hierbei wird der Circle entlang der Spline-Curve extrudiert und so entsteht das Kabel. Für die Kästen, die an der Decke hängen benutzte ich einen Cube, den ich mit weiteren BooleanOperationen so weit bearbeitete bis er seine endgültige Form erhielt. Das Aufwendigste an der Szene waren aber auf jeden Fall die Lichter. Insgesamt wurden in dieser Szene 135 Lichter verwendet. Die hohe Anzahl kam dadurch zu Stande, das jedes Flugzeug durch mehrere Spotlights angestrahlt werden sollte, damit man das Licht aber auch auf dem Boden sieht musste für jedes Spotlight ein weiteres Spotlight erzeugt werden, das den Boden anstrahlt. Um den Schein zu wahren, das das Licht aus den modellierten Lichtern kommt wurde der Frontfläche ein Material zugewiesen. In die Mitte des „Spotlightkreises“ wurde ein [Abb37] Pointlight gesetzt das dieses Material anstrahlen soll. Über den Light-Linker wurde dann genau eingestellt welche Flächen, Objekte und Materialen von den jeweils ausgewählten Lichter beleuchtet werden. Dies ist notwendig, damit Flächen nicht überbelichtet werden, weil sie von allen -12- Daniel Mack WS 04/05 Grafik-Programmierung möglichen Lichtquellen der Szene angestrahlt werden. Zusätzlich wurde jedes Flugzeug noch von einem Spotlight von oben bestrahlt. Um einen relativ realistischen Lichtverlauf zu simulieren, aber die Renderzeit nicht zu stark in die Höhe zu treiben, wurde für die „DecayRate“ des Spotlights ein linearer Verlauf eingestellt. In der Realität ist die Lichtstärke bei der Lichtquelle am Größten und nimmt mit zunehmender Entfernung sehr schnell ab. Um diesen Verlauf nachzuempfinden müsste die Decayrate auf Quadric gestellt werden, dieses erhöht aber die Renderzeit. Um einen Schatten zu werfen wurden für die Spotlights, die das Flugzeug von unten und oben beleuchten, jeweils „Depthmap-Shadows“ eingestellt. „Depthmapshadows“ rendern im Vergleich zu „Raytraced Shadows“ viel schneller, deshalb entschloss ich mich zu dieser eher fehleranfälligen Variante. Grob funktionieren sie folgendermaßen: Es wird eine Kamera in das Licht gesetzt und aus dieser wird nun ein schnelles Z-Buffer-Bild gerendert. Mit Hilfe dieses Z-Buffers (Tiefenbuffer) wird dann aus den Oberflächen ermittelt, ob sie im Schatten liegen oder nicht. Wenn so ein Licht nun eine ziemlich große Fläche beleuchtet sind die Pixel dieser Depthmap auch bei einer Auflösung von 2k * 2k relativ groß im Nahbereich. Wird der Schatten „geblured“ dann sieht man es bei einem Standbild nicht so, aber es flackert in der Animation. Um diese „Artefakte“ beim Rendern von Animationen zu vermeiden sollte man eine relativ hohe „Depthmap“ Auflösung wählen, die hier benutzten hatten eine Größe von 3096 * 3096 . Desweiteren sollte man den „Dmap Auto Focus“ ausschalten und als Anhaltspunkt auf den Radius des Spotlights stellen. Der „Dmap Filter Size“ wurde auf 2 gestellt, damit der resultierende Schatten etwas „verwaschen“ wird. Für eine Grundausleuchtung sorgten 7 „Directional Lights“, im „Lightlinker“ wurde genau eingestellt, dass diese nur die Kisten und die Objekte/Kabel an der Decke beleuchten. Da die Fighter und der Hangarboden schon von den Spotlights beleuchtet werden. Für die Alarmlichter wurden 2 Zylinder erstellt und ineinander gesetzt. Aus dem äußeren Zylinder wurden mit 2 Cubes und der „Boolean->Difference“ Operation Öffnungen „hinein gestanzt“. An den inneren Zylinder wurde dann ein Spotlight „geparented“ In der Animation war so über die Rotatation des Zylinders auch gleich die Rotation des Alarmlichts eingeschlossen.[Abb38] Um eine größere Tiefe des Hangars vorzutäuschen entschloss ich mich dazu die Wände dunkel zu lassen, [Abb38] sie wurden also nicht direkt von irgendeinem Licht angestrahlt. Die Kamerafahrt war in dieser Szene relativ simpel. Es wurde eine Spline Curve gezeichnet, die von links nach rechts den Raum abfährt. Auf diese Curve wurde eine Kamera mit Aim gesetzt, dies geschah folgendermaßen: Man wählt die Kamera in der automatisch erzeugten Untergruppe aus, selektiert dann mit Shift die Curve und wählt „Attach to Motion Path“ aus. So wird die Kamera aber nicht der Aim auf die Curve gesetzt. Der Aim wird dann auf das zentrale Objekt der Szene ausgerichtet. Im Attribut Editor lässt sich dann die Dauer einstellen, wie lange das Objekt sich von Anfang bis Ende bewegen soll und evtl. auch Zwischenkeys setzen. Ein fertiges Renderbild der Szene.[Abb37] -13- Daniel Mack WS 04/05 Grafik-Programmierung 5.2 Scene01f In dieser Szene sollte der Xwing schwebend Abheben und aus dem Bild fliegen. Die Szene wurde zuerst 1:1 von Scene01c übernommen. Um jedoch Renderzeit zu sparen und die Szenengrösse zu verringern, wurde alles was nicht im Bild zu sehen ist entfernt, besonders die Spotlights mit den Depthmaps. Um ein möglichst Interaktives arbeiten zu gewährleisten wurden die Lichter, Gegenstände, Fighter im Hintergrund, der Haupt X-Wing [Abb39] die Partikel und der Hangar selbst jeweils in einzelne Layer aufgeteilt, die wahlweise ein -bzw. ausgeblendet werden konnten. Die Beleuchtung der Szene musste hier nur unwesentlich verändert werden. Das Spotlight das den Xwing von oben beleuchtet wurde etwas nach oben versetzt, da der Fighter sonst zu nahe herangeflogen und damit überbelichtet worden wäre. Das Komplizierteste in der Szene war es den „Schwebe-Effekt“ zu erzielen. Hier wurde die Idee aufgegriffen, die auf DV-Garage[LINK8] für eine Kamerafahrt erklärt wurde. Hierbei wird der eigentliche X-Wing nochmal gruppiert und die daraus resultierende Gruppe (NoiseGroup)nochmal gruppiert. Die Oberste Gruppe(PosGroup), wird nun auf einen „MotionPath“ gesetzt, so bewegen sich alle „ChildObjekte“(die NoiseGroup und der Xwing) mit nach oben. Auf die Translate x,y,z und Rotate x,y,z der NoiseGroup wird nun folgende Expression gelegt: float $posnoise=(noise(time/4))*2*sin(time/4); float $rotnoise=$posnoise*1.5; noiseGroup.translateX=$posnoise*1.2; noiseGroup.translateY=$posnoise*1.3; noiseGroup.translateZ=$posnoise*1.1; noiseGroup.rotateX=$rotnoise*1.2; noiseGroup.rotateY=$rotnoise*-1.3; noiseGroup.rotateZ=$rotnoise*-1.25; [Abb40] Die noise(time)-Funktion liefert wie die in [Abb40 [MayaHilfe]]gezeigten Werte, das heißt mit zunehmender Zeitdauer werden immer Werte zwischen -1 und 1 zurückgegeben, da diese interpoliert werden, kommt ein „weicher“ Verlauf zustande. Für eine „Unruhe“ auf der X-,Y-und Z – Translationsachse wurde eine Sinusfunktion verwendet, welche als Amplitude die Noise Funktion hat. Die Teilung durch 4 war nötig, da die Auslenkung sonst zu stark gewesen wäre und es nicht mehr realistisch aussah. Für die „Unruhe“ auf den Rotationsachsen wurde der vorher ermittelte Wert der Variablen$posnoise verwendet und um einen Faktor erhöht. Um die notwendigen Faktoren zu erhalten, mussten einige Probedurchläufe gemacht werden. Hierfür änderte ich einfach immer einen Parameter ab, bis das Abheben des X-Wings einigermaßen realistisch aussah. Zu den Partikeln in der Szene werde ich im Punkt Rendering/Compositing nochmal näher eingehen. -14- Daniel Mack WS 04/05 Grafik-Programmierung 5.3 Scene01i[Abb41] In dieser Szenen kamen die Planeten, die X-Wings und der Y-Wing[LINK2] zum Einsatz. Vorgabe laut Storyboard war, das der erste Fighter sehr dicht an der Kamera vorbeifliegen soll und diese dann herumschwenkt und weiter auf ihn „zielt“. In dieser Szene wurde wieder eine „Aim-Cam“, d.h. eine Kamera mit zugehörigen „Aim-Punkt“ eingesetzt. Die Fighter wurden entsprechend der an Frame 1 festgelegten Kameraeinstellung ausgerichtet und [Abb41] positioniert. Der „Aim Punkt“ der Kamera wurde dann mit in die Gruppe des 1. Xwings eingefügt. Somit flog der „Aim“ mit dem Fighter mit und die Kamera wurde immer auf ihn ausgerichtet. Jeder Fightergruppe wurde nochmal jeweils in eine Obergruppe eigruppiert. Dann wurden alle Flugbahnen der Fighter einzeln per Hand animiert. Der Startkeyframe und der Endkeyframe und die entsprechende Positionen wurden festgelegt. In der eigentlichen Gruppe wurde dann die Rotation der Fighter „gekeyt“ um etwas mehr Dynamik hineinzubekommen. Zur Beleuchtung: Die Fighter wurden alle mit 3 „directional lights“ grundausgeleuchtet. Hinzu kamen für jeden Fighter nochmal jeweils ein Spotlight mit einer Depthmap für den Schatten. Diese wurden in die „Translations Gruppe“ eingruppiert, damit sie zwar die Translation der Fighter mitmachen, aber nicht die Rotation. Spotlights wurden deshalb zusätzlich noch verwendet, weil sie meiner Meinung nach, die besten Ergebnise und die genauesten Schatten geliefert haben Die Planeten wurden von einem „directional light“ angestrahlt, das die Sonne simulieren soll. Der Todesstern wurde von 2 „directional lights“ angestrahlt. Hierbei musste auch mit „Depthmap“ gearbeitet werden, weil Lichter ja durch Objekte hindurchstrahlen, wenn für sie keine Schattenbildungen aktiviert sind. Somit hätte der Graben, der sich in der Mitte des Todessterns befindet eine unrealistische Beleuchtung angezeigt. Die Szene wurde dann später mit unterschiedlichen Setups in Layern gerendert. Und im Compositing zusammengefügt. Genauer darauf und auf die Notwendigkeit dieser Methode werde ich im Kapitel Compositing und Rendering eingehen. [Abb42] Compositing der Scene01i -15- Daniel Mack WS 04/05 Grafik-Programmierung 5.4 Scene11_16[Abb43] In dieser Szene sollte der X-Wing von Laserstrahlen getroffen werden, aber nicht explodieren. In der Szene kam der Todessterngraben zum Einsatz der von der Internetseite[LINK7] stammt. Es wurde wieder mit einer „Aim-Cam“ gearbeitet. Für das Raumschiff wurde eine „Spline Curve“ gezeichnet, diese wurde dupliziert und als „MotionPath“ für die Kamera benutzt. Die „Laufzeit“ des X-Wings auf [Abb43] der Curve beträgt 300 Frames, die der Kamera 301. Diese Einstellungen ließen den X-Wing schneller auf der Curve entlang fliegen als die Kamera und dies hatte zur Folge, das das Raumschiff an der Kamera vorbeiflog. Um eine geeignetes Endresultat zu erhalten, mussten verschiedene Probedurchläufe gemacht werden. Der Fighter sollte ab Frame 75 getroffen werden, hierfür erstellte ich ein Pointlight und 2 Partikelemitter. Das „Pointlight“ bekam einen „Optical FX“, damit das Licht nicht nur die Umgebung beleuchtet sondern auch noch sichtbar wird. Gesteuert wurde das „Aufblitzen“ durch die Intensität des Lichtes, d.h. im konkreten Fall: bis Frame 74 beträgt die Intensität 0, bei Frame 75 eine Intensität von 40 (weil Decayrate auf Linear gestellt wurde) und bei Frame 82 wieder 0. Damit blitzt das Licht für ca ½ Sek. auf. Für die Explosion selbst erstellte ich einen Emitter für die Funken(SparkEmitter) und einen für den Rauch(SmokeEmitter).Der Rauchemitter startet bei Frame 75 , der Funkenemitter bei 85. Um eine Explosion zu imitieren wurde der Emitter von Frame 75 bis Frame 80 auf doppelte Größe skaliert. Als Partikel wurden Multistreaks für beide Emitter gewählt, da diese bei Bewegung einen „Schwanz“ hinter sich herziehen und so das Gefühl der Geschwindigkeit des Fighters noch verdeutlichen. Ausserdem konnten diese Partikel hardwaregerendert werden und der Typ Multistreaks stellt sicher, dass durch Einschalten von Multipass die Partikel mit besserer Qualität gerendert werden. Für die Partikel wurden folgende Attribute gesetzt: Die Masse bekam eine Expression: SmokeParticleShape1.mass = rand(0.2,1); Diese weist einfach den Partikeln unterschiedliche Massenwerte zwischen 0.2 und 1 zu. Für die Opacity wurde die Ramp3 [Abb44] und für die Farbe der Partikel die Ramp2 [Abb44] zugeordnet. Die Opacity gibt an, wie sichtbar die Partikel über die Lebenszeit sind. (Weiß ist 100% sichtbar, schwarz = unsichtbar) Die Ramp2 stellt ebenfalls den Farbverlauf über die Lebenszeit da (von unten nach oben). Um noch mehr Zufälligkeit in die Bewegung der Partikel zu bringen wurden noch 2 Felder hinzugefügt(1 Newton und 1 Turbulencefield) Die Laserstrahlen wurden im Compositing hinzugefügt -16- [Abb44] Daniel Mack WS 04/05 Grafik-Programmierung 6. Compositing / Rendering Um das Rendern zu vereinfachen wurde eine Batchdatei geschrieben[Abb49] [Abb49] Diese rendert alle ausgewählten Szenen nacheinander ab, und speichert diese Bilder in das vorgegebene Verzeichnis. Dadurch muss Maya nicht zum Rendern gestartet werden, sondern es wird quasi über die Kommandozeile gerendert. So wird der Speicher nicht noch zusätzlich durch Maya belegt. Die einzelnen Szene wurden grob in 3 Bereiche unterteilt, in Vordergrund , Hintergrund und dazwischen. Anschließend wurden die separaten Szenenfiles getrennt gerendert.. Das ergab dann pro Szene ca. 2 - 5 Layer, die in „After Effects“ composed wurden. Das hatte mehrere Vorteile und war teilweise auch unerlässlich. So musste z.B. in fast allen Szenen mit Motionblur gearbeitet werden um einen größeren Realismus und ein Gefühl für die Geschwindigkeit zu vermitteln. Wäre z.B in den Szenen mit dem „Graben“ das Bild komplett in einem Durchgang gerendert worden, wären nicht nur die Wände so stark „geblurrt“worden, sondern auch die Fighter im Vordergrund..[Abb45] Aus diesem Grund wurde zuerst der Hintergrund [Abb46] dann der Fighter im Vordergrund[Abb47] gerendert. Beide auch mit unterschiedlichen Motionblurreinstellungen. Da für beide der Alphakanal mit abgespeichert wurde, konnten beide Layer dann einfach in „After Effects“ übereinander gelegt werden.[Abb48] -17- [Abb45] Daniel Mack WS 04/05 + [Abb46] Grafik-Programmierung = [Abb47] [Abb48] Diese Art der Trennung beim Rendering ist in professionellen 3D Produktionen die Regel. Hier werden z.B einzelne Durchgänge sog. „Renderpasses“ für Schatten, Specularity, Color, und Diffuse durchgeführt. Das hat unter anderem den Vorteil, dass man die einzelnen Layer noch im Compositingprogramm bearbeiten kann. Die Farbe und der Schatten können so im nachhinein „geblurrt“ und nachgebessert werden.. Ein weiterer Vorteil, den ich auch mit dieser Methode mehrfach in Anspruch nehmen konnte war, das bei Fehlern nicht immer das gesamte Bild neu gerendert werden musste, sondern nur der entsprechende Layer. Die Zeit, die ein Bild mit dieser Methode zum Rendern braucht, ist natürlich auch wesentlich geringer. Ein weiteres Problem, das nur übers Compositing zu lösen war, war das Leuchten der Triebwerke. Der „Glow“, der bei Maya integriert ist, berechnet jedes Bild in Abhängigkeit des Lichtes und der Kameraeinstellung neu. Das führt dazu, das er bei Animationen flackert. Verschiedene Lösungsansätze die ich hierfür im Internet fand, ergaben für mich aber keine ansprechende Lösung. Da die Animation ja sowieso in verschiedenen Layern durchgeführt wurde, lag es auf der Hand einen extra „Pass“ nur mit den Triebwerken zu rendern. In Maya gibt es ein Material, dass sich „Use Background“ nennt, dieser wurde auf den Fighter gelegt. Somit werden nur die Triebwerke gerendert wenn sie auch wirklich zu sehen sind. Der Rest wird so behandelt, als wäre er vorhanden, jedoch nicht mitgerendert. Für die Triebwerke wurde einfach jeweils ein Zylinder genommen, verformt und in das Ende des Triebwerkes gesetzt.[Abb50] [Abb50] -18- Daniel Mack WS 04/05 Grafik-Programmierung Die gerenderte Filesequenz wurde dann in After Effects Importiert, eine neue Komposition erstellt und das Material eingefügt. Dieser Layer wurde dann 4 mal dupliziert. Der oberste Layer blieb unverändert, der 2. Layer mit den Triebwerken bekam einen „Gaussianblur“ von 100 , der 3. von 50 und der 4. von 20 zugewiesen. Als Füllmethode der Layer untereinander wurde „negativ multiplizieren eingestellt“.[Abb56] [Abb56] LINK[9]Negativ multiplizieren Prüft die Farbinformationen in jedem Kanal und multipliziert die umgekehrten Werte von Ausgangsfarbe und Farbauftrag. Die Zielfarbe ist immer heller. Mit Schwarz bleibt die Farbe unverändert, mit Weiß entsteht Weiß. Dieser Effekt ist vergleichbar mit dem Malen mit einem ausbleichenden Malwerkzeug. Dies hatte im konkreten Fall zur Folge, dass ein heller Schein um das Triebwerk entstand.[Abb51] Die Triebwerkskomposition wurde in eine neue Szenen Komposition eingefügt.[Abb57] [Abb57] -19- Daniel Mack WS 04/05 Grafik-Programmierung In dieser Szenenkompositon wurde dann der Effekt Farbalance auf den Triebwerkslayer angewendet um eine Farbe für Triebwerke festzulegen[Abb52]. Zusammen mit Layer2 [Abb53] und Layer4 [Abb54] ergibt sich als Gesamtkomposition[Abb55] [ Abb51] [Abb52] [Abb53] [Abb54] [Abb55] Nach dieser Methode wurde in allen Szenen verfahren, in der Triebwerke vorkamen. In Scene01f[Abb39] sollte unter den Triebwerken ein Hitzeflimmern erzeugt werden. Hier wurde das gleiche Prinzip verwendet, wie es im „Heatripples Tutorial“[LINK8] auf DV-Garage angewendet worden ist. Man rendert rote und grüne Partikel und nutzt diese für den „Versetzen-Effekt“ in After Effects. [Abb58] [Abb58] -20- Daniel Mack WS 04/05 Grafik-Programmierung Diese Partikel_Komposition(Layer3) wird dann unter den eigentlichen Layer2 gelegt. Auf Layer2 wird dann der „Versetzten Effekt“ angewendet, dieser bewirkt das die roten Partikel die horizontale und die grünen Partikel die vertikale Verschiebung steuern. Wenn in der Partikel_Komposition noch Gaussianblur auf diese angewendet worden ist, ergibt das so eine Art hitzeflimmern. Probleme entstanden hierbei, da die Szene insgesamt von den Ausmaßen zu Groß skaliert war. Beim Rendern der Partikel verdeckten die grünen teilweise ganz die roten und umgekehrt. Dies hatte im Compositing zur Folge, das der Effekt nicht richtig funktionierte, da stellenweise eine Farbe fehlte und damit die Verschiebung nur in eine Richtung durchgeführt wurde. Als Lösung hierzu renderte ich die roten und grünen Partikel jeweils getrennt und fügte sie in „After Effects“ in einer Komposition wieder zusammen. Die Laserstrahlen für die einzelnen Szenen wurden ebenfalls in „After Effects“ eingefügt. Hierfür wurde der bei „After Effects“ enthaltenen „Strahl-Effekt“ verwendet.[Abb59] Man erstellt eine neue Farbebene und wendet darauf den „Strahl-Effekt“ an. In der Effekteinstellung legt man die Dauer des Laserstrahls fest, in dem man Keyframes für die Zeit setzt. Als nächstes verschiebt man seinen Startpunkt (S) und Endpunkt des Strahls (E) an die gewünschte Stelle. Um noch einen räumlichen Effekt zu erzielen sollte die Anfangsbreite und Endbreite des Strahls noch eingestellt werden. Bei Schüssen in die Ebene Endbreite<Anfangsbreite und umgekehrt. [Abb59] -21- Daniel Mack WS 04/05 Grafik-Programmierung Für die Explosionen die in der Animation vorkamen setzte ich frei erhältliches „Stockfootage“ von [LINK10] ein. Probleme entstanden noch beim Rendern einer Szene, bei der das modellierte X-Wing Cockpit verwendet werden sollte. Durch Fehler bei der Modellierung, entstandenen beim Rendern der Szenen Artefakte, die ich nicht beheben konnte. Deswegen musste ich die Szenen mit dem Cockpit abändern und es ganz herausnehmen. Abschließend zum Thema Compositing und Rendering lässt sich sagen, das es eine gute Wahl war die Szenen in Layer aufzuteilen und bei den Partikeln auf Hardwarepartikel zurückzugreifen. Da durch Fehler, die oft erst beim Betrachten am nächsten Morgen aufgefallen sind, viele Teile der Szenen nochmals gerendert werden mussten, konnte so wenigstens einiges an Zeit eingespart werden. Das Video wurde laut Vorgabe mit dem IndeoVideoCodec in einer Auflösung von 720 * 576 Pixeln gerendert. Verwendete Rechner: Athlon 64 3200 + 1024 MB RAM Corsiar Sapphire Radeon 9800 PRO 2 * 180 GB, 1 * 30 GB , 1* 60 GB Festplatte Desktop PC Intel Pentium M 1,8 Ghz 512 MB Ram Ati 9000 Radeon 1 * 30 GB Festplatte Laptop Die Gesamtrenderzeit betrug ca. 262 Stunden und 17 Minuten, also ca. 10 Tage 22 Stunden und 17 Min. (genauere Aufschlüsselung im Anhang) Insgesamt belegte das Projekt 10,3 GB Festplattenspeicher. Darunter: 6,88 GB für die gerenderten Bilder. 1,18 GB für die Historie der modllierten Objekte 1,09 GB an erstellten Szenen 596 MB an Texturen 267 MB an Soundfiles Das fertige Video hat unkomprimiert eine Größe von 9,31 GB -22- Daniel Mack WS 04/05 Grafik-Programmierung 7. Anwendungsdokumentation: Der Ordner StarWars ist der Projekt Ordner, der auch in Maya eingestellt werden muss. Im Ordner Scenes befinden sich 3 Ordner: -ModelScenes: In diesem Ordner befinden sich alle Objekte die für dieses Projekt modelliert wurden, mit Modellierungshistorie. -ObjectScenes: In diesem Ordner befinden sich die fertigen Objekte, die in den Szenen eingesetzt wurden. -MovieScenes: In diesem Ordner befinden sich alle Szenen, die für die Animation erstellt wurden und auch die Batchdatei, mit der alle Rendervorgänge gestartet werden können. -In Images werden die gerenderten Bilder abgespeichert. Dieser Ordner sollte in der Batchdatei, als absoluter Pfad angegeben werden. Alle gerenderten Bilder konnten nicht auf die DVD gebrannt werden, da das Basismaterial 10 GB betrug. Im Unterordner RenderedModels befinden sich Testrenderings der modellierten Objekte. -In sound sind die Soundfiles abgelegt, die für die Animation benutzt wurden[LINK12] -In Fonts[LINK13], sind die Schriftarten abgespeichert, die für das Intro benutzt wurden. -In Video ist das fertig gerenderte Video in 2 Versionen abgelegt, einmal IndeoVideo 5.1 und einmal in DiVX 5.2.1 in besserer Qualität codiert. In Sourceimages befinden sich gesammelten Referenzbilder, nach denen ich Modelliert habe. Im Ordner Dokumentation ist die Ausarbeitung und die Präsentation abgelegt. Alle Abbildungen, die in der Projektbeschreibung verwendet wurden sind im Unterordner von Dokumentation unter DokuBilder abgelegt. Das Storyboard befindet sich ebenfalls im gleichnamigen Unterordner. -Im Ordner textures befinden sich alle Texturen der erstellten und importierten Objekte. Diese sind alle mit relativen Pfaden angegeben, sollten also wenn der Projektordner StarWars gesetzt wurde automatisch bei allen Objekten geladen werden. Zur Batchdatei: Um diese zu verwenden, muss einfach das REM vor den zu rendernden Szenen entfernt, und natürlich die Pfade abgeändert werden. -rd ....[Verzeichnisname] -steht für das Verzeichnis in dem die Bilder nach dem Rendern abgespeichert werden sollen. Unter [Verzeichnisname] sollte der absolute Pfad zu dem Images Ordner geschrieben werden. Die Partikel, die in manchen Szenen vorkommen, müssen alle über den Hardware RenderBuffer aus Maya heraus gerendert werden. -23- Daniel Mack WS 04/05 Grafik-Programmierung 8. Benötigte Arbeitszeiten Modellierung des Xwings ca. 39 Stunden MAYA Texturierung des Xwings ca. 30 Stunden MAYA/PhotoS. Modellierung des Tie Fighters ca. 30 Stunden MAYA Texturierung des Tie Fighters ca. 2 Stunde MAYA/PhotoS. Modellierung des DarthTieFighters ca. 22 Stunden MAYA Texturierung des DarthTieFighters ca. 1 Stunde MAYA/PhotoS. Modellierung der DeathstarCannon ca. 20 Stunden MAYA Texturierung der DeathstarCannon ca. 15 Stunden MAYA/PhotoS. Modellierung des Deathstars ca. 6 Stunden MAYA Texturierung des Deathstars ca. 4 Stunden MAYA/PhotoS. Modellierung eines TieFighter Cockpits ca. 4 Stunden MAYA Modellierung eines X-Wing Cockpits ca. 8 Stunden MAYA Texturierung eins X-WingCockpits ca. 2 Stunden MAYA/PhotoS. Neu Texturierung des importierten Y-Wings[LINK2}. ca 6 Stunden MAYA/PhotoS. Erstellung der beiden Planeten und Texturierung ca. 1 Stunde MAYA Modellierung des Hangars und Texturierung 30 Stunden MAYA/PhotoS. Erstellung der einzelnen Szenen und der Animationen (46 Szenen) ca. 460 Stunden MAYA Compositing und Erstellung der Effekte ca. 60 Stunden After Effects Erstellung der Sound Effekte und Schnitt des Videos ca. 30 Stunden After Effects Insgesamt ca . 770 Stunden 9. FAZIT: Das Projekt hat mir persönlich sehr gut gefallen, was sich wohl auch an der aufgewendeten Zeit bemerkbar macht. Leider war vor Beginn dieses Projektes, durch die mangelnde Erfahrung, nicht die Aufwendigkeit mancher Arbeiten abzuschätzen und so verkalkulierte ich mich in der Zeitplanung. Ich musste deshalb einige geplante Szenen entfallen lassen. Das Projekt wurde aber dennoch rechtzeitig und zu meiner vollsten Zufriedenheit fertiggestellt. Da ich mich auf jeden Fall beruflich in dieser Richtung weiterentwickeln und meine Zukunft darauf ausrichten will, werte ich die aufgewendete Zeit keines Falls als Verlust. Bei dem Projekt konnte man durch die extreme Praxisnähe sehr viel Erfahrung gewinnen, mehr als theoretischer Unterricht vermitteln könnte. Maya ist ein sehr komplexes Programm, das selbst fortgeschrittene Anwender nach mehreren Jahren immer noch nicht zu 100 % auszreizen können. Das dieses Programm zu den besten der Branche gehört, zeigt ja der Einsatz bei vielen erfolgreichen Kino-Blockbustern in den letzten Jahren. Ein Nachteil bei der Bearbeitung des Projektes mit der Software bestand darin, das es keine Hilfestellung bei Problemen geben konnte. -24- Daniel Mack WS 04/05 Grafik-Programmierung ANHANG: Renderzeit der einzelnen Szenen und Layer: Scene01c 19h 07m Scene01d Scene01f Scene01i Scene01k Scene01l Scene01m Scene01n Scene02a Scene03 Scene07a Scene07b Engines 00h 14m 22h 08m Fighters 03h 18m Scene 23h 20 m Space 01h 17m ParticleRed 00h 03m Surface 01h 34m ParticleGreen 00h 03 m Enginies 01h 00m Engines 03h 07 m Fighters 02h 18m Fighters 15h 57 m Space 01h 41m Planets 09h 54 m Surface 00h 41m Fighters 00h 29m Space 01h 22m Surface 01h 25m Scene07e2 Backround Scene07f Deathstar 00h 57 m Engines 00h 14 m Fighter 00h 57 m Scene07f2 Backround Deathstar 00h 51 m Engines 00h 11 m Scene09c Fighter 00h 46 m Scene11_01 Deathstar Fighters Space 00h 26m Surface 00h 22m 10h 38m Fighters Space Scene11_02 00h 48m Engines 00h 04m Fighter 00h 18m Deathstar 03h 00m Engines 00h 04m Fighter 00h 40m Fighter 00h 07m Flight 03h 44m Fighters 00h 24m Space 01h 58m Space 01h 16m Scene11_04 Engines 00h 10m Scene11_05 Fighters 00h 11m Fighter 00h 21m Space 00h 40m Flight 02h 39m Surface 01h 50m Space 02h 00m Scene04 Scene05 Scene07c Flight Space Scene11_03 02h 26m Scene11_06 01h 41m Engines Engines Flight Fighter 01h 02m Space Space 01h 35m Scene11_07 Surface 04h 25m Scene11_08 Fighters 02h 46m Flight 05h 35m Space 00h 45m Space 00h 50m Fighters 00h 49m Fighter 00h 53m Space 01h 27m Space 00h26m Scene11_10 -25- 00h 45m Fighter Daniel Mack Scene11_11 Scene11_12 Scene11_13 Scene11_14 Scene11_16 Scene11_25 Scene11_26 Scene11_27 Scene11_28 Scene11_29 Scene11_30 Scene11_30a WS 04/05 Grafik-Programmierung Flight 02h47m Engines 00h 09m Scene11_31 Flight 01h 40m Fighter 00h 23m Scene11_33 Torpedos 01h 12m Flight 01h 41m Scene12 deathstar 00h 17m Fighter 01h 06m Fighter 00h 39m Flight 02h 05m Space 01h 40m Space 00h 26m EngineFalc 00h 14m Fighter 00h 26m EngineXwing 00h 12m Flight 02h 36m Fighter 00h 29m Space 00h 18m Space 00h 52m Fighter 00h 18m Planetes 02h 30m Flight 01h 00m Space 00h 13m Fighter 00h 22m Flight 04h 00m Fighter 00h 21m Flight 01h 55m Space 00h 51m Engines 00h 16m Fighters 01h 25m Engines 00h 27m Fighters 00h 23m Flight 01h 31m Space 00h 46m Fighter 00h 30m Flight 04h 31m Space 01h 00m Fighter 00h 11m Lensflare 00h 01m Space 00h 16m Fighter 00h 11m Flight 03h 13m Space 00h 46m Fighter 00h 15m Flight 02h 15m Space 00h 06m Scene12_04 Insgesamt 262h 17m -26- Daniel Mack WS 04/05 Grafik-Programmierung Von mir modellierte Objekte: [Abb61]X-Wing [Abb62]DarthVader Tiefighters [Abb63]Normaler Tiefighter [Abb64]Deathstar Cannon [Abb65] TieFighter Cockpit [Abb66] Kanal in Nahaufnahme mit Kanone -27- Daniel Mack [Abb67] Cockpit X-Wing (nicht verwendet) WS 04/05 Grafik-Programmierung [Abb68] Hangar alle Objekte bis auf Y-Wing[Abb71] Importierte Objekte aus dem Internet: [Abb69] Deathstar Trench [LINK7] [Abb70] Milleniumfalcon [LINK2] Bis auf diese 3 Objekte wurde alles selbst modelliert. [Abb71] Y-Wing [LINK2] -28- Daniel Mack WS 04/05 Grafik-Programmierung Quellen aus dem Internet: Verwendete Blueprints von: [LINK1] http://mitglied.lycos.de/STARWARS_Blueprints/2rebel_fighters/fighters.htm Verwendete Textruen/Shader von: [LINK2]Xwing,Ywing – Textur http://scifi3d.theforce.net/list.asp?intGenreID=10&intCatID=10 [LINK3]Tie Fighter, Solarpanel http://www.steinschneider.com/props/star_wars/tie_fighter/tie_02.jpg [LINK4]Texturen das Planeten Yavin und Endor http://scifi3d.theforce.net/list.asp?intGenreID=10&intCatID=14 [LINK5]Shader für die Atmosphäre http://www.kaypoprawe.com/lightstorm3d/tests/atmosphaere2.zip [LINK6]Texturen für Kisten Säulen, etc.... http://www.mayang.com/textures/ [LINK13]- Fonts von http://scifi3d.theforce.net/ Verwendete Fremdmodelle: [LINK2]YWing,MilleniumFalcon http://scifi3d.theforce.net/list.asp?intGenreID=10&intCatID=10 [LINK7]Todesstern Kanal ] http://scifi3d.theforce.net/list.asp?intGenreID=10&intCatID=14 Verwendete Tutorials, Hilfen [LINK8]-DV-Garage – Kamera Droid und Heatripples Tutorial- Kostenlose Anmeldung erforderlich http://www.dvgarage.com/garage/break/lab/lab.php [LINK9]-Photoshop Füllmethoden http://sfk-online.com/support/bild/ps_special_ProfiFarbe.php [LINK10]-Explosionen von Detonationfilms http://www.detonationfilms.com/free_stuff.htm Nicht im Text erwähnte aber benutzte Quellen: [LINK11]-gutes deutschsprachiges Mayaforum http://www.percutio.com Die Soundfiles der Animation stammen von [LINK12]-Soundsuchmaschine http://www.findsounds.com und aus dem Spiel Jedi Knight II von Lucasarts, sowie die Musik vom Soundttrack von Star Wars und die Stimmen aus dem Film Star Wars – Episode IV -29-