KTM 250 EXC - Hochschule Fulda

Transcription

KTM 250 EXC - Hochschule Fulda
WS 2007 / 2008 Graphik‐Programmierung KTM 250 EXC Dokumentation zum Projekt “Modellierung und Animation einer KTM 250 EXC” mit dem Werkzeug Lightwave 3D in der Lehrveranstaltung Graphik‐Programmierung. Michael Genau 2 Graphik‐Programmierung Inhalt 1. Einführung ...................................................................................................................................... 3 2. Zieldefinition ................................................................................................................................. 4 3. Vorbereitung und Materialsammlung ......................................................................................... 4 4. Modellierung ................................................................................................................................. 5 5. Texturierung ................................................................................................................................. 10 6. Animation ..................................................................................................................................... 13 7. Rendern ......................................................................................................................................... 17 8. Aufwand und Ressourcen ............................................................................................................ 18 9. Filmschnitt und Vertonung ......................................................................................................... 17 10. Probleme und deren Lösungen ................................................................................................... 21 11. Anwendungsdokumentation ....................................................................................................... 22 12. Fazit ............................................................................................................................................... 23 13. Quellenverzeichnis ....................................................................................................................... 23 Michael Genau 3 Graphik‐Programmierung 1. Einführung Im Rahmen der Lehrveranstaltung Graphikprogrammierung im Fachbereich Angewandte Informatik mit dem Schwerpunkt Medieninformatik der Hochschule Fulda galt es im Wintersemester 2007/2008 ein Projekt durchzuführen. Ich entschied mich dabei für eine 3D Animation. Diese galt es entweder mit dem Programm Lightwave 3D der Firma Newtek oder Maya von Alias Wavefront zu realisieren. Da eine bessere Unterstützung durch die Tutoren im Programm Lightwave 3D gegeben war, entschied ich mich hierfür. Weil ich schon seit mehreren Jahren vom Motorsport und besonders vom Offroad‐ und Motocross‐Sport begeister bin, war auch schnell ein Thema gefunden. Ich entschied mich also eine 3D Animation meiner KTM 250 EXC zu erstellen. Daten zur „KTM 250 EXC“ Motor Leistung Trockengewicht Radstand Sitzhöhe Weitere Details finden Sie unter www.ktm.de
Dieses Bild entstand im Sommer 2006 vor Leinefelde. Leinefelde liegt im Eichsfeld, in Thüringen – das `Grüne Herz Deutschlands`. 1 Zylinder mit 249 ccm³ ca. 50 PS 103kg 1475mm 925mm KTM ist eine österreichische Firma mit Hauptsitz in Mattinghofen und seit Jahrzehnten erfolgreich im Enduro‐ und Motocross Sport tätig. Seit mehreren Jahren ist die Marke KTM neben Bereichen wie Supermoto oder Rally auch im Moto GP Bereich bei den 125ccm und 250ccm erfolgreich vertreten. Michael Genau 4 Graphik‐Programmierung 2. Zieldefinition Wie in der vorhergehenden Einleitung beschrieben, ist das Ziel dieses Projektes die Erstellung einer 3D Animation mit dem Programm Lightwave 3D. Der grobe Ablauf der Animation war durch den gestellten Projektantrag gegeben und sollte folglich die Modellierung und Animation einer KTM 250 EXC enthalten. Optional war noch das Einbringen einer Animation des sich drehenden Rades inklusive der Kette und Rauch aus dem Auspuff Ziel dieser Arbeit. Um diese Ziele zu erreichen habe ich mir Gedanken gemacht, wie ich es am besten präsentieren und gleichzeitig ein paar interessante Möglichkeiten einer 3D Animation verwenden könnte. Nach den vorangegangenen Überlegungen war es jetzt mein Ziel am Anfang eine im Wind wehende Fahne mit dem Projekttitel zu zeigen und danach die KTM auf einem Podest zu präsentieren. Der nächste Schritt ist eine Kamerafahrt über einen Ozean, um zu einer Insel zu gelangen. Darauf folgend kommt das Motorrad aus mehreren Perspektiven wieder ins Spiel. Außerdem soll dem Zuschauer eine Kamerafahrt über die Insel geboten werden. Zum Schluss, nachdem der Abspann abgelaufen ist, soll noch ein animiertes KTM Logo angezeigt werden. 3. Vorbereitung und Materialsammlung Nach der Themenauswahl folgte nun die Sammlung der Materialien, die zur Realisierung des Projektes benötigt wurden. Ich habe also Fotos von meiner KTM aus den verschiedensten Perspektiven und von vielen Details erstellt, um mich bei der Modellierung daran orientieren zu können. Was ich anfangs dabei unterschätzt habe ist die Perspektive der Betrachtung. Denn um die Bilder als Backdrop verwenden zu können, müssen sie möglichst von vorn, hinten, links oder rechts aufgenommen sein. Bei einer verfälschten Aufnahme kommt es bei der Modellierung sonst zu Ungereimtheiten in der Form der Modelle. Eine weitere Quelle war www.ktmimages.com, dort fand ich ein paar sehr gute und hochauflösende Bilder. Leider entsprechen Sie nicht 100%ig dem Modell was ich modellieren möchte. Dort wird das Modelljahr 2004 nicht mehr aufgeführt. Dennoch waren sie sehr hilfreich. Nachdem diese Sammlung weitestgehend vollständig war, begab ich mich auf die Suche nach Tutorials. Denn als Anfänger ohne Erfahrungen auf diesem Gebiet sieht man schnell „den Wald vor Bäumen nicht“. Durch die Suchmaschine Google und genügend Ausdauer fand ich schließlich hilfreiche Tutorials. Allerdings sind leider viele Links veraltet bzw. nicht mehr verfügbar oder man wird auf kostenpflichtige Seiten verwiesen. Nun, da diese Aufgabe auch erfüllt war, konnte ich mit der Modellierung beginnen. Michael Genau 5 Graphik‐Programmierung 4. Modellierung Am Anfang der Modellierung stand das Üben anhand der in der Vorbereitungsphase gefundenen Tutorials. Erst danach hatte ich einen Überblick bekommen und konnte mit der Modellierung meiner Objekte beginnen. Die Tutorials waren nach ca. einer Woche bearbeitet und so konnte die Modellierungsphase auch richtig starten. Da die detaillierte Beschreibung der Modellierung eines solch komplexen Modells, wie diesem Motorrad, den Rahmen dieser Dokumentation sprengen würde, habe ich mich entschlossen die verschiedenen angewandten Methoden an ausgewählten Objekten zu erklären. KTM Mein erster Schritt war nun die Realisierung der KTM, da dies zum Pflichtteil meiner Animation gehörte. Hierfür legte ich jeweils passende Bilder in den Hintergrund. Dabei ist auf den Maßstab zu achten, denn sonst werden die verschiedenen Modelle später nicht zueinander passen. Reifen und Felge Einer meiner ersten Gehversuche war die Modellierung der Reifen inklusive der Felgen. Dazu erstellte ich eine „Disc“ (Create – Primitives Disc) und orientierte mich dabei an der Größe des Backdrop Bildes. Der zweite Schritt war das Entfernen der beiden „runden“ Polygone. Jetzt konnte ich mit der Modellierung der Felge beginnen. Dazu markierte ich die jeweils benötigten Punkte und benutze die Werkzeuge „Move“, „Extend“ und „Strech“ wodurch sich leicht die gewünschte Form realisieren ließ. Diese Werkzeuge sind unter dem Reiter „Modify“ in den Menüs „Translate“ beziehungsweise „Transform“ zu finden. Nun, da dies geschafft war, konnte es mit dem Reifen weitergehen. Da sich das bisherige Vorgehen für diese Arbeit als erfolgreich erwies, verwendete ich die gleiche Technik und so war der runde Reifen schnell modelliert. Da zu diesem Zeitpunkt nur eine Hälfte existierte, habe ich die andere Hälfte mit dem Werkzeug „Duplicate“ (Multiply – Duplicate ‐ mirrorX) erstellt. Nun mussten nur noch die überflüssigen Punkte entfernt werden. Mit „Merge Points“ (Detail – Points – Merge Points) wurden diese Punkte also entfernt. Genauer gesagt, es wurden die übereinanderliegenden Punkte zusammengeführt. Dies ist notwendig, da das Modell sonst aus 2 Teilen besteht und hierdurch Löcher entstehen. Im nächstfolgenden Schritt markierte ich in der Ansicht „Perspektive“ die gewünschten Polygone und erhob sie mit dem Werkzeug „Smooth Shift“ (Multiply – Extend – Smooth Shift) zu den Stollen des Reifens. Einer der letzten Schritte während der Modellierungsphase des Reifens war nun das Konvertieren in den „SubPatch Modus“ (Construct – Convert ‐ SubPatch) des gesamten Modells, um eine bessere Rundung zu erlangen. Michael Genau 6 Graphik‐Programmierung Nachdem dieses komplizierte Objekt modelliert war, konnte ich mittels „Clone“ (Multiply – Duplicate ‐ Clone) eine Kopie erstellen, die in positive X‐Richtung verschoben ist. So braucht ich das zweite Rad nicht noch einmal von Anfang an zu modellieren. Kette Als Basis für die Kette verwendete ich eine „Box“ und eine „Disc“, welche beide unter Create – Primitives zu finden sind. Zuerst erstellte ich eine „Disc“ und rundete die Kanten mit dem Werkzeug „Bevel“ (Multiply – Extend ‐ Bevel) ab. Im zweiten Schritt duplizierte ich den Bolzen mit Strg+c und Strg+v und verschob einen der beiden, wie auf dem Bild zu sehen. Im nächsten Schritt erstellte ich eine „Box“ und verschob die einzelnen Punkte mit dem Werkzeug „Drag“ (Modify – Translate ‐ Drag), um die gewünschte Rundung zu erlangen. Diese „Box“ habe ich anschließend wieder dupliziert, um ein Kettenglied fertigzustellen. Um die gesamte Kette zu modellieren war es nötig, die Boxen noch einmal zu duplizieren und wie auf dem zweiten Bild dargestellt so zu verschieben, dass man die Kettenglieder aneinander stecken kann. Zum Schluss musste nur noch der O‐Ring erstellt werden. Dazu dient eine einfache „Disc“, die zwischen die Boxen positioniert wurde. PDS Feder Als es den Stoßdämpfer zu modellieren galt, stand ein Problem im Vordergrund. Wie erstelle ich eine Feder in der gewünschten Form? Ich entschloss mich dafür, sie auf Basis eines „Toroiden“ zu erzeugen (Create‐
Primitives‐More‐Toroid). Der erste Schritt war nun das Erstellen eines „Toroiden“, der mit dem Werkzeug „Knife“ (Multiply – Subdivide ‐ Knife) geteilt wurde. Im Anschluss daran rotierte (Modify – Rotate ‐ Rotate) ich jeweils eine Hälfte, um die Steigung der Feder nachzubilden. Durch dieses Vorgehen sind Löcher im Modell entstanden, die es zu schließen galt. Durch Markieren der gewünschten Punkte und dem Werkzeug „Weld“ (Detail – Points ‐ Weld) ließ sich dieses Problem allerdings lösen. In diesem Fall hatte ich mit „Merge Points“ keinen Erfolg, da durch die Rotationen der Abstand der Punkte zu große Schwankungen aufwies. Da die Feder oben und unten gegen eine Platte stößt, teilte ich mit dem Werkzeug „Knife“ das Objekt in 3 Teile, um die Randbereiche danach zu markieren und letztendlich zu entfernen. Michael Genau 7 Graphik‐Programmierung Luftfilterkasten Die Form des Luftfilterkastens erschien mir von Anfang an als ein kompliziertes Objekt. Nachdem ich im Laufe der Zeit in verschiedenen Techniken Erfahrungen gesammelt habe, entschloss ich mich hierbei für die Modellierung mit „Splines“ (Create – Curves – Spline Draw). Ich legte zu Beginn wieder ein geeignetes Bild in den Hintergrund, an dem ich die Form nachzeichnen konnte. Bei der Modellierung mit „Splines“ gilt es zu beachten, dass man immer 3 oder 4 Kurven benötigt, um später das Werkzeug „Patch“ (Construct – Patches ‐ Patch) anwenden zu können. Da ich nicht ausreichend geeignetes Material zur Verfügung hatte, musste ich mich bei der Modellierung an privaten Bildern orientieren, die nicht als Backdrop Bilder geeignet waren. Ich erzeugte auf diese Weise die benötigten „Splines“ und verwendete das Werkzeug „Weld“ um die aneinandergrenzenden Punkte zu vereinen. Hierbei sind durch die Art und Weise der Modellierung Löcher entstanden, da nicht immer die Punkte genau aneinandergrenzten. Auf dieses Problem wird später (Kapitel 9) allerdings noch genauer eingegangen. Bremsanlage Bei der Modellierung der hinteren Bremsanlage startete ich mit einer „Box“. Um die gewünschte Form zu erreichen benutzte ich das Werkzeug „Boolean“ (Construct – Combine ‐ Boolean). Dieses verwandt ich um Teile auszuschneiden oder andere hinzuzufügen. Man wählt dazu den „Layer“ aus, in den man etwas hinzufügen will und legt den Anderen in den Hintergrund. Im Anschluss daran kann man das “Boolean“ – Werkzeug verwenden. Des Weiteren kam die im Bereich „Reifen und Felge“ beschriebene Technik wieder zum Einsatz, um zum Beispiel den Haltebolzen für die Bremsbeläge zu modellieren. Michael Genau 8 Graphik‐Programmierung Insel Die Insel besteht aus einer „Box“, die ca. 310m² groß ist. Die Höhenstruktur der Insel wollte ich mit einer „Displacement Map“ realisieren. Dazu war es nötig, dass die „Box“ ausreichend Polygone besitzt. Einen für mich geeigneten Wert fand ich durch mehrmaliges „Subdivide“ (Multiply – Subdivide – Subdivide) und durch das Betrachten des Ergebnisses im Layouter heraus. Die „Displacement Map“ habe ich im Layouter unter dem Reiter „Deform“ in den „Object Properties“ der Insel hinzugefügt. Dort klickt man auf „T“ rechts neben „Displacement Map“ und kann nun sein Grauwertbild, das die Höhenstruktur bildet, der Insel hinzufügen. Durch „Automatic Sizing“ wird die „Displacement Map“ an die Größe der Insel angepasst und mit dem Parameter „Texture Amplitude“ kann man letztendlich noch die Höhe kalibrieren. Im Bild rechts oben sehen Sie das entsprechende Grauwertbild und die Insel, der schon im „Modeler“ verschiedene „Surfaces“ zugewiesen wurden. Wichtig hierbei war, dass die Grasflächen in einem extra „Layer“ liegen. Denn sonst sind es für das Plug‐In „Sasquatch Lite“ zu viele Polygone. Durch das Trennen der verschiedenen Bereiche der Insel in extra „Layer“ lässt sich dies umgehen, da man nun für jeden „Layer“ einzeln das Plug‐In benutzen kann. Ozean Der Ozean besteht ebenfalls aus einer „Box“ mit der Größe von 50km². Die einzige Schwierigkeit bei der Modellierung bestand für mich darin, einen schönen abgerundeten Horizont zu erstellen. Dazu benutzte ich das Werkzeug „Move“ (Modify – Translate – Move) und wählte unter den „Numeric Options“ (n) für den Parameter „Falloff“ linear aus. Nun kann man mit der rechten Maustaste in dem „Top View“ die gewünschte Form ziehen, um anschließend die „Box“ linear zu verformen. Die beiden Schritte sind in den Bildern dargestellt. Michael Genau 9 Graphik‐Programmierung Podest Basis für das Podest war eine „Disc“ (Create – Primitives ‐ Disc), welche ich mit dem Werkzeug „Bevel“ (Multiply – Extend ‐ Bevel) in die gewünschte Form brachte. Dazu wählte ich jeweils unter den „Numeric Options“ aus, in welche Form ich das markierte Polygon verformen will. Die einzelnen Vertiefungen am Rand des inneren Bereiches sind durch Zufall entstanden, als ich das Werkzeug „Subdivide“ (Multiply – Subdivide ‐ Subdivide) benutzte. Da ich diesen Effekt der Spiegelungen sehr interessant fand, beließ ich es dabei. Bäume Als Basis für die Bäume dienten eine „Box“ (Create – Primitives – Box) und ein paar Bilder von Bäumen. Nachdem so die Grundform des Baumstammes erstellt war, löschte ich das obere und untere Polygon und arbeite nun mit den Werkzeugen „Move“, „Rotate“, „Drag“ und „Strech“. Diese sind alle unter dem Menü „Modify“ zu finden. Um den Baum zu modellieren habe ich die einzelnen Punkte markiert und mit den genannten Werkzeugen bearbeitet. Die Äste habe ich immer in einem extra Layer erstellt und am Ende zu dem Baum in einem Layer zusammengeführt. Dies war zwar mit einem großen Zeitaufwand verbunden, erschien mir aber die beste Möglichkeit, um einen realistischen Baum zu erstellen. Zum Ende hin galt es dem Baum noch Blätter hinzuzufügen. Die Blätter bestehen in diesem Fall nur aus einem doppelseitigen Polygon („Box“), um die Polygonzahl nicht zu sehr in die Höhe zu treiben. Logo Als Basis für das Logo diente das nebenan stehende Bild. Um es nicht umständlich nach modellieren zu müssen, habe ich es mit Adobe Illustrator geöffnet und mit den Werkzeugen „Interaktiv abpausen“ und „Interaktiv malen“ unter dem Menü „Objekt“ in eine Vektorgrafik überführt. Dies gelang wegen der Qualität des Bildes nur mit dem Schriftzug „KTM“. Den Schriftzug „Racing“ musste ich als Backdrop in den Modeler laden und von Hand modellieren. Dazu erstellte ich die einzelnen Punkte (Create – Points ‐ Points) und machte daraus Polygone (Create – Polygons – Make Polygon). Um die erstelle Vektorgrafik im eps‐Format im Modeler zu laden, öffnete ich unter „Import“ im Menü „File“ den „EPSF Michael Genau 10 Graphik‐Programmierung Loader“. Anschließend wählte ich das Logo aus, um es als Polygon im Modeler zu importieren. Der letzte Schritt bei der Modellierung dieses Objektes war das flache Polygon des KTM Schriftzuges mit dem Werkzeug „Extrude“ (Multiply – Extend ‐ Extrude) in die Tiefe zu ziehen. 5. Texturierung Als die vorangegangene Modellierung der verschiedensten Objekte abgeschlossen war, kam ich zu dem nächsten Schritt ‐ der Texturierung. Um dies zu ermöglichen habe ich während der Modellierung der Objekte parallel entsprechende „Surfaces“ zugewiesen. Später, wenn man viele Objekte in einem Layer hat, vereinfacht das rechtzeitige Zuweisen von „Surfaces“ deutlich die Arbeit. KTM Da bei der KTM viele Teile keine Bilder als Texturen benötigen, sondern nur eine Materialoberfläche wie Metall haben, war dies nach relativ kurzer Zeit geschafft. Im Modeler wählte ich dazu im „Surface Editor“ (F5) die gewünschte Oberfläche aus und betrachtete als nächstes im „Presets Panel“ (F9) die verschiedensten Materialen. Durch einen Doppelklick auf das gewünschte „Surface“ wird es nach einer Bestätigung dem noch ausgewählten „Surface“ zugewiesen. Um die für mich passenden Einstellungen zu finden, habe ich die Auswirkungen der verschiedenen Möglichkeiten im „Surface Editor“, wie zum Beispiel der Anpassung der „Specularity“ oder „Reflection“, getestet und jeweils ein Testbild gerendert. Komplizierter war dagegen schon die Texturierung der Verkleidung. Hierfür kamen in den meisten Fällen „UV Maps“ zum Einsatz, um die Textur detailliert an die gewünschte Form anzupassen. Zur Realisierung dessen, nutzte ich den gewünschten „Layer“ im Modeler und aktivierte unten rechts in der Leiste das „T“. Anschließend wählte ich in dem Drop‐ Down Menü nebenan „new“ aus. Lightwave stellt nun verschiedene Einstellungen zur Auswahl. Dabei habe ich mich in der Regel für den „Maptyp“ „Atlas“ entschieden habe, um die gewünschte „UV Map“ zu erhalten. Der nächste Schritt war ein Screenshot mit dem Snipping Tool von Windows Vista, welches ich in Photoshop bearbeitete. Nachdem die Textur also fertig war, galt es sie auf das Modell zu bannen. Dazu wählte ich im „Surface Editor“ den „Texture Editor – Color“ aus und stellte als „Projektion“ „UV“ ein. Im nächsten Schritt steht ein weiteres Menü zur Verfügung mit dem Titel „UV Map“, indem man die vorher erstellte „UV Map“ auswählt und anschließend noch die Textur als Bild lädt. Nebenan sind die „UV Map“ und die passende Textur beispielhaft für den linken Seitenspoiler aufgeführt. Michael Genau 11 Graphik‐Programmierung Insel Basis für die Texturierung der Insel war ein gerendertes Bild der Insel von oben. Da ich nach der Modellierung den verschiedenen Bereichen der Insel unterschiedliche „Surfaces“ zugewiesen habe, konnte ich sie zur Identifikation noch in verschiedene Farben aufteilen und im Anschluss daran das gerenderte Bild in Photoshop texturieren. Ein Problem, was hier aufgetreten ist, war der hohe Detaillierungsgrad meiner Textur. Dies führte zu einer extrem großen Datei, wodurch ich mir Performanceprobleme einhandelte. Dies ließ sich allerdings durch eine Verringerung der Auflösung beheben und stellte kein größeres Problem dar. Nachdem die Textur in Photoshop fertiggestellt war, fügte ich sie dem äußersten Bereich der Insel im „Surface Editor“ (F5), im Teil „Color“, hinzu. Durch „Automatic Sizing“ war die Anpassung an die Größe der Insel schnell getätigt. Da ich eine große Textur für die gesamte Insel hatte, kopierte ich den so erstellten „Layer“ und habe ihn den anderen „Surfaces“ hinzugefügt. Ozean Die Textur des Ozeans besteht aus verschiedenen Schichten. Im ersten Schritt erstellte ich die Wellen, im Zweiten eine Transparenz am Stand der Insel und zu letzt folgte noch eine Wellentextur rund um die Insel, um am Strand ankommende Wellen zu simulieren. Die Form der Wellen erstellte ich durch eine Reihe von „Bump Maps“ (Surface Editor ‐ Bump). An den 3 aufgeführten Screenshots sind die von mir gewählten Einstellungen zu sehen, die die Wellen bilden. Um ein gutes Ergebnis sowohl aus der Nähe, als auch aus der Entfernung zu erreichen, war es notwendig ein wenig nach dem „try and error“‐Prinzip die Größenwerte anzupassen. Michael Genau 12 Graphik‐Programmierung Im zweiten Schritt folgt das Hinzufügen der Transparenz am Strand. Dazu habe ich im „Texture Editor ‐ Transparency“ (Surface Editor ‐Transparency) einen Layer angelegt, dessen Basis grundsätzlich ein weichgezeichnetes Grauwertbild der Insel ist. Durch den weichen Übergang von Grau zu Schwarz ist im Ergebnis der Ozean in der Nähe des Strandes transparent und in größerer Entfernung nicht. Im letzten Schritt standen die am Strand ankommenden Wellen und deren „Verwirbelungen“ im Mittelpunkt. Dazu habe ich im „Texture Editor – Color“ eine „Procedural Texture“ und eine „Image Map“ hinzugefügt, wie nachfolgend abgebildet. Damit auch diese Wellen wieder transparent sind folgte noch eine Textur im „Texture Editor – Transparency“. Wer genauer nachlesen möchte, warum und wieso ich den Ozean auf diese Art texturiert habe, sollte sich im Anhang die Liste der Tutorials anschauen. Die detaillierte Beschreibung würde den Umfang dieser Dokumentation sprengen. Michael Genau 13 Graphik‐Programmierung Bäume Die Bäume sind in vier Bereiche aufgeteilt. Es gibt ein „Surface“ für die Blätter, eines für die Äste, eines für den Stamm und ein letztes für die Wurzel. Für die Blätter kommt die Textur „Grass“, der Kategorie „Nature“, der „Surface Presets“ (F9) zum Einsatz. Für die restlichen „Surfaces“ verwendete ich normale Texturen, die ich wie in vorherigen Kapiteln beschrieben, als normale Textur hinzufügt und mit „Automatic Sizing“ an die richtige Größe angepasst habe. Podest Das Podest besteht aus zwei Bereichen. Der äußere dunkle und der innere helle Bereich. Als Texturen kamen auch hier wieder welche aus dem „Presets Panel“ (F9) zum Einsatz. Hierbei habe ich auf eine hohe Spiegelung geachtet und die Werte teilweise meinen Vorstellungen angepasst. 6. Animation Um die Animation zu realisieren standen zuerst verschiedene Überlegungen der Kamerafahrt zur Wahl. Ich versuchte die Kamera mit einem Motionpfad zu verknüpfen. Dies gelang auch, erwies sich aber für die gestellte Aufgabe als zu umständlich. Daher entschloss ich mich die Kamerafahrten direkt im Layouter durch „Keyframes“ und Verschieben der Kamera zu erstellen. Diese Methode erwies sich als sehr effektiv, stieß allerdings auch an ihre Grenzen. Da in der Inselszene ein großer Ozean vorhanden ist, ließ sich die überdimensional dargestellte Kamera, im Vergleich zu kleineren Objekten wie beispielsweise dem Motorrad, nur schwer wie gewünscht positionieren. Auf dieses Problem wird im Kapitel 9 noch genauer eingegangen. Michael Genau 14 Graphik‐Programmierung Intro Um das Intro zu realisieren, habe ich die Flagge in eine Szene eingefügt und die Kamera in geeigneter Entfernung frontal positioniert. Das Wehen der Flagge wurde durch eine „Displacement Map“ realisiert. Dazu öffnete ich die „Object Properties“ (p) der Flagge und wählte unter dem Punkt „Deform“ „Displacement Map“ aus. Es kam schließlich eine „Procedural Texture“ vom Typ „Riplles2“ zum Einsatz, welche das Objekt in Z‐Richtung verformte. Flagge im Wind Ich hatte mir als Ziel gesetzt, die Flagge nicht einfach nur auszublenden um zur nächsten Szene überzugehen. Vielmehr testete ich die Möglichkeiten von Dynamischen Objekten in Lightwave 3D. Mein Ziel war es dabei, die Flagge möglichst realistisch im Wind davon wehen zu lassen. Um dies zu realisieren, erstellte ich ein Windobjekt (Add – Dynamic Obj ‐ Wind) und positionierte es vor der Flagge. Im nächsten Schritt fügte ich der Flagge „ClothFX“ (Object Properties – Dynamics ‐ Add Dynamic) hinzu. Nachdem ich die aktuellen Einstellungen berechnen ließ, renderte ich ein paar Frames um das Ergebnis zu betrachten. Dies war allerdings nicht sehr zufriedenstellend und so musste ich die Einstellungen der Flagge und des Windobjektes anpassen, bis es mir gelang, ein zufriedenstellendes Ergebnis zu erreichen. In den oberen zwei Bildern sehen Sie die Einstellungen des Wind‐Objektes und im unteren dritten Bild die „ClothFX“ Eigenschaften der Flagge. Michael Genau 15 Graphik‐Programmierung Podest Nach der Einleitung folgt die Präsentation der KTM auf einem Podest. In Bezug auf Kamera gibt es hier nichts Neues zu sagen, jedoch ersetzte ich das standardmäßig vorhandene „Distance Light“ durch ein „Area Light“ und ein „Point Light“, um das Podest und die KTM richtig zu beleuchten. Die Einstellungen der beiden Lichtobjekte sind den Screenshots zu entnehmen. Um die KTM von allen Seiten zu präsentieren, entschloss ich mich sie inklusive des Podests zu drehen. Dazu erstellte ich einen zweiten „Keyframe“, indem ich das Podest um 360° rotierte. Da nun nicht nur das Podest, sondern auch die restlichen Objekte sich mit bewegen, mussten noch die Vater‐Sohn‐Beziehungen zugewiesen werden (m, Motionoptions). Insel In dieser Szene galt es im ersten Schritt den Ozean zu animieren. Für die Animation der Wellen, verknüpfte ich die verschieden „Bump Maps“ mit „Null‐Objekten“. In der Szene bewegen sich die zwei vorhandenen „Null‐
Objekte“ unterschiedlich zueinander, was bewirkt, dass die Wellenstruktur sich von Frame zu Frame ändert.Als nächstes folgten die Beleuchtung und der Himmel. Der Himmel erwies sich dank des Plug‐Ins „Skytracer2“ als relativ leicht zu erstellen (Window – Backdrop Options – Add Environment – SkyTracer2). Hier sind die von mir gewählten Einstellungen aufgeführt, die teilweise stark von den Standardwerten abweichen. Die Einstellung des Lichts war schwieriger. Um die gewünschte Stimmung zu erreichen, „spielte“ ich mit den Parametern der Lichteigenschaften. Man muss darauf achten, dass „Lens Flare“ unter den Einstellungen der Sonne eingeschaltet ist Michael Genau 16 Graphik‐Programmierung und unter den Render Globals „Lens Flare“ ebenfalls aktiviert wurde, um das Licht, die Sonne, im gerenderten Bild zu sehen. Im nächsten Schritt habe ich die Insel in die Szene geladen und die Y‐Position so geändert, dass sie nicht mehr im Ozean versunken ist. Nun folgte das Erstellen der Kamerafahrt. Dazu positionierte ich die Kamera von „Keyframe“ zu „Keyframe“ neu und drehte sie so, dass das gewünschte Objekt im „Camera View“ sichtbar wird. Bei dieser Szene kam ich an die Grenze der Rechenleistung meines PCs. Deshalb teilte ich sie in zwei Szenen auf und fügte in eine die KTMs ein und in eine andere Szene die Bäume. Nachdem es so gut funktionierte, passte ich die Kamerafahrten entsprechend an und konnte die Szene abschließen. Outro Im vorletzten Schritt der Animation galt es noch das Outro zu animieren. Dabei kommt die Flagge vom Anfang wieder zum Einsatz. Das einzige, was hier geändert wurde ist die Textur. Ich habe den nicht benötigten Text von der Hintergrundtextur entfernt und eine weitere mit dem durchlaufenden Text erstellt. Im Layouter ersetzte ich also die Hintergrundtextur und fügte anschließend einen weiteren „Layer“ hinzu. Dieser „Layer“ wird nun zwischen zwei „Keyframes“ in Y‐Richtung verschoben, um den laufenden Text zu animieren. Dies wird im „Texture Editor“ (F5) unter „Color“, „Position Y“, durch den nebenstehenden Graphen gelöst. Logo Das KTM Logo wurde teilweise im Modeler und teilweise im Layouter animiert. Im Modeler habe ich die Möglichkeiten von Morphing ausgetestet und mich dann dazu entschlossen, es doch relativ einfach zu halten. Wenn man das Objekt im Modeler geladen hat, klickt man unten rechts auf „M“ und danach im Drop‐Down Menü auf „new“. Nun kann man der neuen Instanz einen Namen geben und es beliebig verformen. Ich habe hier nur die Größe des Objektes geändert, auch wenn weit mehr möglich gewesen wäre. Der zweite Schritt folgte nun im Layouter. Dort animierte ich die Rotation auf die gleiche Art und Weise wie bei der Szene mit der KTM und dem Podest. Michael Genau 17 Graphik‐Programmierung 7. Rendern Im vorletzten Schritt des Projektes galt es, die erstellen Szenen zu rendern. Um einen Kompromiss zwischen der benötigten Zeit und der gewünschten Qualität zu erreichen, erstellte ich von den verschiedenen Szenen Testbilder um die Gesamtzeit abzuschätzen. Die genauen Einstellungen entnehmen Sie bitte den folgenden Screenshots. Diese gezeigten Einstellungen kamen bis auf die Szene mit dem KTM Logo immer zum Einsatz. Beim Rendern des Logos habe ich zusätzlich „Motion Blur“ auf normal gestellt. 8. Filmschnitt und Vertonung Um aus den gerenderten Einzelbildern nun ein Video zu erstellen verwendete ich Abode Premiere CS3 und Adobe After Effects CS3. Zuerst habe ich alle Bilder in Adobe Premiere CS3 als Bildersequenz importiert. Anschließend fügte ich Überblendeffekte wie „Weiche Blende“ und „Übergang zu Schwarz“ hinzu. Da ich unter anderem das Logo auch als Alpha‐Kanal ausgerendert habe wollte ich es auch über eine andere Videospur legen. Dabei öffnete ich Adobe After Effects CS3 und blendete zuerst das Menü „BewMas“ ein. Um 2 Ebenen zu überlagern stellte ich bei der Unteren die jeweils Andere als „Übergeordnet“ ein und wählte im Menü „BewMas“ „Luma Matte“ aus. Michael Genau 18 Graphik‐Programmierung Nachdem das Video in gewünschter Form zusammengeschnitten war kam ich zur Vertonung. Hierbei war es nicht so einfach, wie vorher gedacht, ein passendes Lied zu finden. Denn es hat meiner Meinung nach einen großen Einfluss darauf, wie das Gesamtbild auf einen Menschen einwirkt. Ich entschied mich also für Smooth Criminal von Alien Ant Farm um meine Animation zu vertonen. Um Video und Ton passend zueinander zu fügen war es nötig die Lautstärke der Musik während der Schnitte zu verändern. Teilweise habe ich auch weitere Schnitte dem Video hinzugefügt, um zu dem gewünschten Ergebnis zu gelangen. 9. Aufwand und Ressourcen In den nachfolgenden Unterkapiteln möchte ich die verwendete Hard‐ und Software sowie meinen Arbeitsaufwand beschreiben. Vor allem bei der Hardware erkennt man schnell, dass so eine 3D Animation technisch sehr anspruchsvoll ist und dass man genügend Zeit, nicht nur zum Erstellen der Animation, sondern auch zum Rendern der Szenen einplanen muss. Dies war für mich zum Glück kein größeres Problem. Dennoch sollte man die benötigte Zeit wirklich nicht unterschätzen. Software Ressourcen Programmname Funktion Quelle Lightwave 9.0 & 9.3 Modeler Lightwave 9.0 & 9.3 Layouter Photoshop CS3 Premiere CS3 Modellierung www.newtek.com
Animation www.newtek.com
www.adobe.de
www.adobe.de
MS Word 2007 MS Windows XP Bildbearbeitung Video‐ und Audiobearbeitung Textverarbeitung Betriebssystem MX Windows Vista Betriebssystem http://office.microsoft.com/de‐de/word/
http://www.microsoft.com/windows/produc
ts/windowsxp/
http://www.microsoft.com/windows/produc
ts/windowsvista/
Hardware Ressourcen Rechner 1 Desktop PC Prozessor Arbeitsspeicher Festplattenspeicher Grafikkarte Verwendung AMD X2 4600+ 4GB 1160GB GeForce 7600GT Modellierung und Animation aller Objekte. Erstellung der Dokumentation. Rendern von Frame 220 bis 800 der Szene „Szene 04a ‐ Insel.lws“ Michael Genau 19 Graphik‐Programmierung Rechner 2 Laptop – Dell Latidude D630 Prozessor Arbeitsspeicher Festplattenspeicher Grafikkarte Verwendung Intel Core 2 Duo T7500 2GB 160GB NVidia Quadro NVS 135M Rendern der Szene „Szene 04b ‐ Insel “ von Frame 1 bis 380. Rechner 3 bis 7 CAE Labor – Rechner (Sun Ultra 40 Workstation) Prozessor Arbeitsspeicher Verwendung 2x AMD Opteron 2GB Rendern der Szene „Szene 01 ‐ Intro.lws“ Rendern der Szene „Szene 02 ‐ Flagge im Wind.lws“ Rendern der Szene „Szene 03a ‐ KTM orange.lws“ Rendern der Szene „Szene 03b ‐ KTM weiß.lws“ Rendern der Szene „Szene 05 – Insel und KTM“ Rendern der Szene „Szene 06 ‐ Outro.lws“ Rendern der Szene „Szene ‐ Logo.lws“ Arbeitsaufwand Um den persönlichen Aufwand einschätzen zu können, habe ich mir während der Arbeit an diesem Projekt Notizen gemacht. Mit der Umsetzung des Projektes habe ich am 28. Oktober 2007 angefangen und konnte zum 13. Dezember den praktischen Teil abschließen. Das Erstellen dieser Dokumentation beschäftigte mich noch bis zum 28.12.2007, da ich nebenbei an weiteren Projekten gearbeitet habe. Im Folgenden liste ich die Zeit auf, die ich für die einzelnen Objekte und Szenen benötigt habe. Modellierung und Texturierung der KTM Objekt Aufwand Räder Bremse Gabel Kotflügel Nummerntafel Lenker Gabelbrücke Tank Seitenspoiler Sitzbank 4 Stunden, 45 Minuten 8 Stunden, 30 Minuten 5 Stunden, 45 Minuten 4 Stunden, 15 Minuten 1 Stunde, 30 Minuten 6 Stunden, 30 Minuten 1 Stunde, 45 Minuten 7 Stunden, 45 Minuten 4 Stunden, 45 Minuten 3 Stunden, 15 Minuten Michael Genau 20 Graphik‐Programmierung Heck Luftfilterkasten Rahmen Motor Auspuffanlage 4 Stunden, 30 Minuten 9 Stunden 2 Stunden, 15 Minuten 4 Stunden, 45 Minuten 1 Stunde 70 Stunden, 15 Minuten Modellierung und Texturierung der Insel Objekt Aufwand Insel Ozean Holzsteg Baum 1 Baum 2 Baum 3 Baum 4 4 Stunden 2 Stunden 45 Minuten 6 Stunden 5 Stunden 5 Stunden 5 Stunden 27 Stunden, 45 Minuten Modellierung und Texturierung sonstiger Objekte Objekt Aufwand Flagge Hubständer Podest Logo 1 Stunde 2Stunde, 30 Minuten 1 Stunde 1 Stunde, 30 Minuten 6 Stunden Animation der Szenen Objekt Aufwand Szene 1 – Intro Szene 2 – Flagge Szene 3a – KTM Szene 3b – KTM Szene 4 – Insel Szene 5 – Insel und KTM Szene 6 – Outro Szene 7 – Logo 1 Stunde, 30 Minuten 2 Stunden 1 Stunde 30 Minuten 3 Stunden 1 Stunden 30 Minuten 1 Stunde, 45 Minuten 9 Stunden, 15 Minuten Michael Genau 21 Graphik‐Programmierung Filmschnitt und Vertonung Objekt Aufwand Schnitt Vertonung 4 Stunden 2 Stunden, 15 Minuten 6 Stunden, 15 Minuten Das ergibt einen gesamten Aufwand von 119 Stunden und 30 Minuten. Zeitlicher Aufwand zum Rendern Wie anhand der aufgeführten Tabellen zu erkennen ist, wurde das Rendern auf insgesamt 7 Rechner aufgeteilt. Diese benötigten insgesamt 204 Stunden und 48 Minuten. Dabei mussten zwei Szenen erneut gerendert werden, da ich erst im Nachhinein von einem Kommilitonen auf einen Fehler aufmerksam gemacht wurde. In der folgenden Tabelle sind nur die Zeiten aufgeführt, die tatsächlich zum Rendern benötigt wurden. Da, besonders bei der Szene 5, die Rechner im CAE Labor nicht stabil gelaufen sind, und daher dreimal abgestürzt waren, kann man bei dieser Szene gut und gerne noch ca. 16 Stunden hinzu rechnen. Szene Frames Polygone Aufwand Szene 1 – Intro 1 bis 360 128 45 Minuten Szene 2 – Flagge 1 bis 350 512 42 Minuten Szene 3a – KTM 1 bis 360 1.357.954 2 mal 15 Stunden und 6 Minuten Szene 3b – KTM 1 bis 360 1.357.954 2 mal 15 Stunden und 6 Minuten Szene 4a – Insel 1 bis 380 3.653.025 29 Stunden und 45 Minuten Szene 4b ‐ Insel 220 bis 700 3.653.025 28 Stunden Szene 5 – Insel und 1 bis 1000 3.150.217 29 Stunden und 54 Minuten KTM 1001 bis 2000 54 Stunden und 7 Minuten Szene 6 – Outro 1 bis 450 128 20 Minuten Szene 7 – Logo 1 bis 200 840 51 Minuten 5660 204 Stunden und 48 Minuten Als gesamten Aufwand kommen so für mich 132 Stunden und 30 Minuten zusammen. Dabei sind 7 Stunden für die Dokumentation und 6 Stunden eingerechnet, um das Rendern zu kontrollieren und zu organisieren. 10. Probleme und deren Lösungen Nachdem die grundsätzlichen Probleme, wie „Mit was fange ich jetzt eigentlich am besten an?“ und „Wie mache ich das überhaupt?“ durch die Unterstützung der Tutorials relativ zügig gelöst waren, stand ich trotzdem ab und an vor Problemen. Nun möchte ich die bei mir aufgetretenen Probleme erläutern und meinen Lösungsweg vorstellen. Während der Modellierungsphase kam es nur zu geringen Problemen, zum Beispiel bei der Modellierung des Tanks mit Splines entstanden Löcher im Modell. Durch die komplexe Form reichte ein einfaches „Merge Points“ nicht aus. Die Punkte der unterschiedlichen Flächen lagen nicht immer übereinander und so mussten die einzelnen Punkte per Hand markiert und zusammengeführt werden. Teilweise kam dabei auch das Werkzeug „Bandsaw“ oder „Knife“ Michael Genau 22 Graphik‐Programmierung zum Einsatz, um Polygone zu teilen. Beide sind unter dem Reiter „Multiply“ in der Kategorie „Subdivide“ zu finden. Dieses Problem hat mich eine Menge an Zeit gekostet, da es bei der Modellierung des Hecks und des Luftfilterkastens auch aufgetreten ist, wenn auch seltener. In der Animationsphase hatte ich das Problem, dass die Positionierung der Kamera durch das falsch eingestellte „Grid“ sehr erschwert wurde. Im Laufe der Arbeit an diesem Projekt wurde ich daraufhin gewiesen, dass man dies ganz leicht verändern kann. Nun war auch eine korrekte Positionierung der einzelnen Objekte in der Szene möglich. Während ich die einzelnen Szenen renderte und das Ergebnis betrachtete, musste ich feststellen, dass die Zahlen auf den KTMs teilweise spiegelverkehrt sind. Dies ist dadurch entstanden, dass ich bei der Texturierung der „UV Maps“ nicht genau darauf geachtet habe, wie es hinterher auf dem Modell aussieht. Zwar achtete ich darauf, dass es keine Lücken gibt und dass die Textur richtig positioniert ist, aber der Fehler hat sich mir erst spät bemerkbar gemacht. Teilweise habe ich die Szenen neu gerendert, an anderer Stelle aus Zeitdruck aber darauf verzichtet. Zum Schluss trat allerdings das größte Problem auf. Als ich die Szenen im CAE Labor rendern wollte, ließ sich von der Szene „Szene 4 – Insel“ weder ein einzelnes Bild noch die gesamte Szene rendern. Lightwave gab immer nur die Meldung „Not enough Memory“ aus. Nachdem ich bezüglich dieser Fehlermeldung im Internet gesucht habe, und auch eine Lösung fand, stellte ich im Layouter unter den „Render Globals“ das „Segment Memory Limit“ auf 2000. Dies sollte das Problem angeblich lösen. Fortan kam allerdings nur eine andere Fehlermeldung und zwar „Not enough memory for sorting arrays“. Da ich in Zusammenarbeit mit anderen Kommilitonen dafür keine Lösung fand, es auf meinem privaten Rechner aber lief, entschied ich mich dafür, diese Szene auch auf meinem Rechner zu rendern. Im Nachhinein stellte sich bei einer anderen Gruppe, die das gleiche Problem hatte, heraus, dass es bei ihnen an zu vielen Polygonen durch das Tool „Subpatch“ lag. Dies werde ich auch bei mir noch einmal ausprobieren. 11. Anwendungsdokumentation Der Inhalt der beiliegenden DVD ist wie nachfolgend beschrieben strukturiert. ‐
‐
‐
Animationen o Hier sind die gerenderten Bilder in dem jeweiligen Ordner vorhanden. Zum Beispiel alle Bilder der Szene 1 im Ordner „Szene 1 – Intro“. o Das erstellte Video aus all diesen Bildern, mit Namen animation.avi, befindet sich direkt in diesem Ordner. Bilder o Bilder zum modellieren ƒ Hier sind alle Bilder enthalten, die ich zum modellieren benötigt habe. Zum Beispiel als Backdrop Bild. o Texturen ƒ Hier befinden sich alle Texturen der Objekte. Dokumentation o Dieser Ordner enthält die Dokumentation und den Projektantrag. Michael Genau 23 Graphik‐Programmierung ‐
‐
‐
‐
Modelle o Hier sind alle Modelle enthalten, die ich im Laufe des Projektes erstellt habe. Szenen o In diesem Ordner befinden sich die Lightwave‐Szenen. Tutorials o Hier befinden sich die von mir verwendeten Tutorials. Sounds o Hier sind alle verwendeten Tonaufnahmen enthalten. 12. Fazit Auch wenn man in Animationen mit Programmen, wie Lightwave 3D, sehr viel Zeit investieren kann, die ich in diesem Semester leider nicht hatte, bezeichne ich meine Ausarbeitung als einen Erfolg. Die Möglichkeiten, die mir Lightwave bietet, konnte ich zwar nicht ausreizen, aber durch das eigene Projekt und die breit gestreuten Tutorials in der Lehrveranstaltung bekam ich einen guten Überblick, was alles möglich ist. Ich hätte sehr gerne noch einen Fahrer erstellt und animiert, aber dann hätte ich noch ein Semester benötigt. Allerdings habe ich mir vorgenommen dies in meiner Freizeit weiterzuführen und fertigzustellen. Das Konzept der Trennung von Modellierung und Animation in Lightwave gefällt mir sehr gut, so konnte man sich klar auf die aktuelle Aufgabe konzentrieren und wurde nicht durch unnötig viele Buttons gestört, die man in diesem Fall gar nicht benötigt. 13. Quellenverzeichnis Bilder und Texturen Nachfolgend sind alle verwendeten Texturen, mit Quellenangabe, aufgeführt, die ich nicht persönlich aus eigenen Aufnahmen erstellt habe. Weitere Texturen, die ich nicht durch eigene Fotoaufnahmen erstellt habe, sind auf Basis der hier aufgelisteten entstanden. Textur Quelle http://mcmlinks.ocscottie.com/Tutorials/textures/texmap7.jp
g „displacement insel ausgangsgrafik.jpg“ www.ktmimages.com 13863_af13c1a9cb7692_o.jpg www.ktmimages.com 15152_366693582dd935_o.jpg Michael Genau 24 Graphik‐Programmierung www.ktmimages.com 15310_cbea6807c504e9_o.jpg www.ktmimages.com 15180_696e81d6898825_o.jpg http://www.emotion‐
tuning.ch/shop/images/logo/Carbon%20Logo.jpg http://www.gallerie1.de/BOISINT3.jpg http://www.firedragon.com/~flashfire/images/landscapes/c05
/Section‐02‐CBT/fig13.jpg http://www.firedragon.com/~flashfire/images/landscapes/c05
/Section‐03‐CRLT/fig26.jpg http://www.gallerie1.de/bark.jpg http://www.bencloward.com/textures/bark3.jpg Michael Genau 25 Graphik‐Programmierung Aus dem Content von Lightwave 3D Tinfoil.tga http://www.gallerie1.de/GGFOL.jpg http://www.gmkfreelogos.com/logos/K/img/ktm_racing.gif www.ktmimages.com 15209_358a8544b6e130_o.jpg Tutorials Im Folgenden möchte ich noch eine Reihe Tutorials auflisten, die wie ich finde mir sehr geholfen haben. Desweiteren befinden sich die von mir verwendeten Tutorials auf der DVD. Beschreibung Quelle Hier werden sehr viele Themen behandelt und verständlich mit einer Reihe von Bildern oder Animationen erklärt. Ein sehr ausführliches, leider nicht vollständiges, Tutorial rund um eine Insel. Ein ausführliches Tutorial für einen Ozean. http://www.inf.fh‐
flensburg.de/hoefs/lightwaveTut.html http://www.firedragon.com/~flashfire/htm
l/landscapes/c05/c05c.html http://www.majesticimaging.com/html/lw
_watertut/index.html Sound Beschreibung Quelle KTM Motorengeräusche Titelsong: Alien Ant Farm – Smooth Criminal Eigene Aufnahme Radiomitschnitt Michael Genau