Thema: 3D-Modellierung
Transcription
Thema: 3D-Modellierung
Ausarbeitung zum Proseminar "Technik der Spieleprogrammierung" Thema: 3D-Modellierung Von: Alexander Gatter E-Mail: ag12@informatik.uni-ulm.de 1 Inhaltsverzeichnis: A Einleitung B Modellierungsarten - Grundobjekte - Box Modeling - Spline Modeling - Loft - NURBS Modeling - Displacement Modeling - Boolsche Verknüfpung - Parikelsysteme C Modifikatoren - Taper - Bend - Spiegeln - Noise - Meshsmooth - Edit Mesh /Edit Polygon D Material Editor - Shader Arten - Eigenschaften E Mapping - UVW Map - UVW Unwrap F Animation und Physik - Bone Rigging - Motion Capturing - Physik Engines - Morphing S.3 S.3 S.4 S.4 S.4 S.4 S.5 S.6 S.6 S.6 S.7 S.7 S.7 S.8 S.8 S.8 S.8 S.9 S.9 S.9 S.10 S.10 S.10 S.11 S.11 S.11 S.11 S.11 2 Einleitung: Die Zeiten, da Spielgrafiken nur aus gezeichneten 2D-Bildern bestanden sind schon lange vorbei. Heutzutage geht der Trend immer weiter in Richtung realistische Darstellung von Bildern auf dem Computer. Um dies zu realisieren entstanden hochkomplexe 3D-Programme; allen voran Maya und 3D-Studio. Mit Diesen ist es heutzutage bereits möglich, 3D-Bilder zu erschaffen, die das menschliche Auge nicht mehr von realen Photoaufnahmen oder sogar Videos unterscheiden kann. Allerdings stellen besagte Programme auch völlig neue Anforderungen an den Grafiker. Einfaches Zeichentalent ist heutzutage kaum mehr als eine "nette" Zusatzqualifikation. Vielmehr liegt die Anforderung darin, die schier unendliche Menge an gebotenen Möglichkeiten zu begreifen und ausnutzen zu können. Eine Auswahl solcher Möglichkeiten findet sich im späteren Verlauf dieser Ausarbeitung. Doch zuerst einige Details zu den gängigsten 3D-Modellierungs= programmen: Allen voran steht "Maya" von Alias. 2003 sogar mit einem Oscar ausgezeichnet gilt es in Fachkreisen als die effektivste Software in Sachen Modellierung. Vor allem im Sektor der Hollywoodfilme geht kaum ein Weg an Maya vorbei. Bis auf wenige Ausnahmen sind alle am Computer entstandenen Spezialeffekte die man im Kino zu Gesicht bekommt damit gefertigt worden. Dementsprechend selbstbewusst ist aber auch der Preis dieser Software. Bis zu 7400 Euro kostet eine Lizenz. Dafür erhält man dann aber ein sehr komplettes Programm mit einer unübertroffen hohen Funktionalität. Kaum weniger bekannt und geschätzt ist 3D-Studio Max von Discreet. Vor allem im Bereich Spielentwicklung ist Dieses sogar noch deutlich beliebter als sein Konkurrent Maya. Besonders in den letzten Jahren hat sich eine deutliche Tendenz hin zur Benutzung von 3D-Studio aufgezeigt. Seit neuestem hat Discreet sogar im Bereich "Film" Fuss gefasst. So entstanden einige aktuelle Filme wie zum Beispiel "House of flying daggers" oder "Ghost in the shell 2" unter Verwendung von 3DStudio. Vor allem in Punkto Kosten hat dieses die Nase vorn. Sicherlich sind diese beiden aufgeführten Programme aber nicht die einzigen ihrer Art. Entsprechend der Nachfrage nach mächtigen Werkzeugen zur Erschaffung realistischer Grafiken hat sich eine Vielzahl an Anbietern gebildet. Zu diesen gehören Programme wie Cinema4D, Houdini, LightWave, SoftImage, oder Bender (welches sich besonders dadurch auszeichnet, dass es kostenlos erhältlich ist). Wegen seiner Beliebtheit im Spielesektor wird in Hinsicht auf das Pro-Seminars Thema jedoch weiterführend 3D-Studio Max behandelt. Modellierungsarten Grundobjekte: Im Folgenden werden die gängigsten Arten der Modellierung umrissen: Die elementarste Art der Modellierung ist es, sich lediglich einer Reihe von Grundobjekten zu bedienen. Hier wird eine breite Palette diverser Geometrien angeboten. So kann man sich aus einem Quader, einem Zylinder, einer Kugel, einer Pyramide und einer Vielzahl anderer Möglichkeiten bedienen um einfache Szenen zu erschaffen oder diese nachträglich noch zu verändern wie zum Beispiel in der nachfolgenden Modellierungsart. 3 Box-modeling: Das so genannte "box-modeling" bezeichnet die Vorgehensweise immer mit einer Box als Grundobjekt zu beginnen. Dabei ist es eigentlich nicht einmal nötig die Fläche der Box mit zusätzlichen Abtrennungen zu unterteilen, kann bedacht gewählt jedoch einiges an Arbeit einsparen. Diese Grund-Box wird weiterführend dann mit einer Methode wie "edit poly", auf welche im Kapitel "Modifikatoren" genauer eingegangen wird, bearbeitet. Mit der Funktionalität dieser Methode lassen sich leicht neue Flächen unterteilen, Segmente extrudieren, Kanten abrunden und eine Vielzahl weiterer Operationen ausführen. Besonders günstig ist diese Vorgehensweise, wenn man geometrische oder architekturelle Objekte erschaffen will, da diese nur in sehr begrenztem Masse unregelmässig verlaufende Flächen besitzen. Leichte Probleme können beim "box-modeling" aber auch durchgehend Runde Objekte bereiten. Hierfür empfiehlt sich das so genannte "loften". Loft: Aus zwei Splines (zweidimensionale Liniengebilde die nach den mathematischen Grundlagen von Bezier erstellt werden) kann man so ein 3-dimensionales Objekt erschaffen. Hierbei wird ein Spline als Grundfläche (kann auch zweidimensional sein) benutzt und ein Spline als Extrusionsweg, anhand dessen die Grundfläche "geloftet" wird. Sollte man also zum Beispiel einen Donut erschaffen wollen, so nimmt man als Grundfläche sowie als Pfad einen Kreis. Während an der Grundfläche nach dem Loften nichts mehr verändert werden kann, ist es jedoch möglich auf dem Extrusionsweg andere Shapes als die Grundfläche einzufügen. Einzige Bedingung hierbei ist eine Übereinstimmung in der Anzahl der Eckpunkte. Hierdurch, und durch eine Anzahl an nachträglichen Deformationsmöglichkeiten (nominell: scale, twist, teeter, bevel, fit) die vor allem dazu dienlich sind, Grössenveränderungen sowie Verdrehungen auf dem Pfad einzurichten, lassen sich auch sehr komplizierte oder abstrakte Objekte erzeugen, ohne nach der Generierung noch mit weiteren Modifikatoren (wie zum Beispiel "edit poly") arbeiten zu müssen. Spline-modeling: Eine sehr einfache und vor allem Ressourcen schonende Methode der Modellierung ist es auch, mit den bereits erwähnten Splines Objekte zu erschaffen. Diese haben die Eigenschaft, dass sie geschlossene Flächen durchaus ausgefüllt darstellen können (also dann nicht mehr nur aus zweidimensionalen Linien bestehen). Jedoch ist zu beachten, dass sie keinerlei Tiefe besitzen! Versucht man also ein Spline-Objekt von der Seite zu betrachten, so erscheint Dieses unsichtbar. Auch wenn diese Art der Modellierung wie man leicht nachvollziehen kann sehr einfach ist, so findet sie doch grosse Verwendung im Spielesektor. Dies resultiert daraus, dass GPU und CPU 4 nur eine begrenzte Anzahl von Faces (zwischen jeweils drei Eckpunkten aufgespannte Fläche) darstellen kann und man sich mit dieser Art der Modellierung drei Seiten eines Objektes spart. Visualisieren kann man sich dies leicht durch die Vorstellung einer Tür in einer Wand, von der man ohnehin nur die Vorderseite sehen kann. Eine weitere Interessante Anwendung von Splines findet sich auch in der Modellierung von Gesichtern in Computerspielen. Hierzu wird die Aufnahme eines Gesichtes in Seitenperspektive und von Vorne benötigt (Beide Bilder müssen gleich gross sein!). 3D-Studio Max bietet die Möglichkeit, Bilder als Hintergrund der Arbeitsflächen zu legen. So kann man nun an markanten Stellen des Gesichtes eine Eckpunktemaske anfertigen. Diese Eckpunkte lassen sich dann unter Zuhilfenahme der Seitenansicht des Kopfes auf die zu der Platzierung auf der Frontseite passende Höhe schieben. So kann man eine grobe Kopie des menschlichen Kopfes mit verhältnismäßig wenigen Polygonen erstellen. Diese Methode hat aber ganz klar das Problem, dass Gesichter nur relativ detaillos erschaffen werden können und diese sich somit kaum für eine gerenderte Animation eignen. NURBS-modeling: Hierzu greift man gerne auf das so genannte „NURBS-modeling“ zurück. Diese eignen sich hervorragend, irgendwelche Freiformflächen darzustellen und werden deswegen auch immer dann eingesetzt, wenn es darum geht, möglichst aussagestarke Modelle zu erschaffen und deren Komplexität nicht von oberster Priorität ist. So zum Beispiel in Animationsfilmen wie sie aus der Filmeschmiede Pixar kommen (Pixar arbeitet in der Tat fast ausschliesslich unter Verwendung von NURBS). Diese arbeiten mit dem so genannten CV-Prinzip welches anhand von Kurven (C) und Vektoren (V) Linien erzeugen. So wie unter Verwendung von Eckpunkten, wird auch hier ein Bild in Vorder- und Seitenansicht benötigt (oder zumindest dringend empfohlen). Diesmal werden jedoch nicht Punkte verteilt, sondern NUBRS-Linien (Welche sich durch ihre Fähigkeit zur Kurvendarstellung auszeichnen) über markante Teile des zu modellierenden Gesichts gelegt. Diese werden im Anschluss wieder durch Flächen miteinander verbunden (diesmal aber mit „abgerundeten“ und nicht mit geraden). Um das Problem der Symmetrie (welches gerade bei Gesichtern essentiell ist) zu entschärfen, wurde ab 3D-Studio Max v1.0 noch die Fähigkeit zugefügt, die gegebenen Flächen zu spiegeln und Übergangslos miteinander zu verknüpfen. 5 Displacement modeling: Eine etwas exotische und eher gering verbreitete Art der Modellierung ist das "displacement-modeling". Hierbei wird nur eine einfache gerade Fläche benötigt. Auf diese wird dann ein Bild gelegt, welches dann im Endeffekt dreidimensional aus der Fläche herausgehoben wird (zur Visualisierung wohl am ehesten mit Emaillierarbeit zu vergleichen). Dieses "Herausheben" funktioniert anhand der Schwarzwerte des Bildes. Je höher der Schwarzanteil, desto weiter wird die jeweilige Stelle von der Oberfläche abgehoben. Boolsche Verknüpfung: Eine letzte Grundart der Modellierung stellt die boolsche Verknüpfung dar. Genau genommen ist dies bereits ein Modifikator, doch werden hier zwei Grundobjekte zu einem weiteren Grundobjekt (das danach nicht mehr auf die Generierungsparameter seine Mutterobjekte zugreifen kann) umgewandelt. Wie man sich anhand des Namens bereits denken kann, geschieht dieses Erstellung anhand der boolschen Mathematik. Hier werden also Schnittmengen, Vereinigungen, Subtraktionen, etc. gebildet. Dies stellt eines der mächtigsten Hilfsmittel dar komplexere Objekte zu erstellen die ansonsten ein Vielfaches an Arbeitsaufwand verlangen würden (beispielsweise ein einfaches kleines Loch in einer Tischplatte). Partikeslysteme: Eine von den bisher aufgezählten Objektarten doch etwas Unterschiedliche ist das Erstellen von Partikelsystemen. Hier erstellt man eine Grundfläche von der aus sich im späteren Animationsverlauf Partikel lösen denen man verschiedenste Aussehens- und Bewegungseigenschaften zuweisen kann. So lassen sich hiermit Feuer mit herumwirbelnden Funken, Regen oder zum Beispiel Antriebseffekte bei Raumschiffen darstellen. In Spiele werden 6 diese aber für gewöhnlich nicht eins zu eins übernommen. Vielmehr speichert man sich häufig zweidimensionale Ansichten der Animationsstufen und zeigt im Spiel dann Diese an. So wurde Feuer früher häufig durch zwei um 90° zueinander verdrehte identische Bilder dargestellt um einen halbwegs erträglichen 3D-Effekt zu erreichen. Mittlerweile sind die Grafikkarten jedoch schon fähig komplexere Darstellungen zu erzeugen. Modifikatoren: Bisher wurden nur Möglichkeiten vorgestellt, elementare Grundobjekte zu generieren. Diese Objekte sind jedoch in den seltensten Fällen bereits tauglich, in ein Spiel oder eine Videosequenz übernommen zu werden; sei es wegen mangelnder Details, unpassender Form, oder zu vielen Polygonen. Hierzu gibt es eine schier unendliche Menge an Modifikatoren. Diese allesamt abzuarbeiten würde den Rahmen mehrer Bücher sprengen, was eine sinnvolle Einschränkung auf die gängigsten Arten der Objektmanipulation notwendig macht. Taper: Bereits in ähnlicher Form beim Lofting aufgetreten, gibt es den Taper-Modifikator. Dieser verjüngt ein Objekt in eine gewünschte Richtung hin. So kann man aus einem Viereck eine Pyramide machen. des weiteren kann man hier aber auch noch die Biegung dieser Verjüngung einstellen. So ist es auch möglich, aus besagtem Viereck eine Kuppel zu erschaffen (eine hohe Anzahl an Polygonen ist hier jedoch Vorraussetzung). Bend: Ein weiteres recht simples Werkzeug ist der „bend“-Befehl. Hier wir ein Objekt in Richtung eines frei platzierbaren Punktes gebeugt. 7 Spiegeln: Wie bereits im Abschnitt über die NURBS Modellierung erwähnt gibt es die Option, ein Objekt anhand einer frei wählbaren Achse zu spiegeln (wobei das Verschmelzen bei den meisten nicht-CV Objekten Probleme mit sich bringt). Noise: Wie der Name schon vermuten lässt, kann man mit dem Befehl "Noise" Störungen in Flächen bringen. Anhand einer breiten Palette an Einstellmöglichkeiten lassen sich hiermit auch beispielsweise aus Kugeln Asteroiden generieren; und durch die hohe Variabilität der Werte ist es problemlos möglich nahezu unendlich viele Variationen zu erstellen. Mesh smooth: Um einem Objekt ein rundlicheres Äusseres zu geben verwendet man den "Mesh Smooth" Modifikator. Mit diesem ist es möglich anhand der Winkel in dem zwei zusammenhängende Flächen zueinander stehen passende Abrundungen zu erzeugen damit der Übergang der beiden Flächen ineinander möglichst nahtlos von statten geht. Edit mesh/Edit poly: Das wohl mächtigste Instrument um Objekte zu verändern sind die beiden (sehr ähnlichen) Befehle "Edit Mesh" und "Edit Polygon". Anhand Dieser kann man ein Grundobjekt nahezu beliebig verändern. Dies geschieht auf Ebene des ganzen Elementes, einzelner Polygone, Linien und Eckpunkten. Auf der Element-Ebene wird vor allem der "Auto-Smooth" Befehl verwendet, also die Härte der Kantenübergänge geregelt und mittels "slice" neue Flächen eingefügt. Dies geschieht dadurch, dass eine virtuelle zweidimensionale Ebene durch das Objekt gelegt wird und überall dort wo diese Flächen der Geometrie schneidet diese durch neue Linien und Eckpunkte (beim Treffen auf geraden zwischen zwei Eckpunkten) unterteilt werden. Dieser Befehl funktioniert auch auf Polygonebene. Dort kann man dann gezielter zu unterteilende Flächen auswählen, da nicht das ganze Objekt selektiert wird, sondern die Selektion sich auch auf einzelne Flächen beschränken kann. Weiterhin ist es auf dieser Ebene auch möglich, einzelne Flächen zu extrudieren, Kanten abzuschrägen (indem die Kante in zwei Kanten aufgespalten wird, welche dann von der Ursprungskante aus in Richtung der nächstgelegenen Kanten der Fläche wandern), Flächen so zu unterteilen, dass in ihnen quasi eine 8 weitere gleich geformte Fläche erstellt wird deren Eckpunkte abermals mit den Eckpunkten der Ur-Fläche verbunden sind, Flächen zu invertieren (manchmal sehr wichtig, da Flächen normalerweise nur von einer Seite her sichtbar sind) oder Flächen in eine beliebige Anzahl an Vierecken zu unterteilen. Auf der Ebene der Kanten ist es möglich, neue Kanten hinzuzufügen, deren Position zu verändern, Kanten zu extrudieren oder nahe beieinander liegende Kanten zu verschmelzen. Auch ist es hier wieder möglich Kanten ganz wie bei den Polygonen aufzuspalten um weichere Übergänge zu erhalten oder neue Eckpunkte anhand des "Slice" Befehls zu erzeugen. Der Kantenmodifikator stellt auch eine effiziente Art der Spline-Erstellung bereit. Es ist möglich, sich aus selektierten Kanten ein Spline erstellen zu lassen. Auf der Ebene der Eckpunkte schliesslich steht nahezu der selbe Befehlssatz wie bei den Kanten zur Verfügung. Weiterhin ist es überall möglich, die jeweils selektierten Teile des Objektes an einer zu definierenden Stelle ausrichten zu lassen (wie zum Beispiel dem Grundnetz). Material editor: Nachdem nun die gängigsten Arten der Objekterzeugung und Manipulation abgearbeitet sind gilt es, den entstandenen Objekten Texturen zuzuweisen. Hierfür steht in 3D-Studio Max ein Material Editor zur Verfügung. Hier gilt es zunächst festzulegen, auf welche Art die Oberfläche das auf sie treffende Licht zurückwerfen soll. Shaderarten: So gibt es zum Beispiel eine vorgefertigte Shaderart, die metallische Oberflächen gut simuliert. Neben dem Grundverhalten des Materials kann man abhängig von der gewählten Shaderart dann weitergehende Einstellungen vornehmen. Eigenschaften: So wird mit "diffuse color" die Grundtextur bestimmt, welche man zu sehen bekommt, wenn Licht auf das Objekt fällt. Dann kann man noch die Farbe der Lichtreflexionen einstellen (sowie deren Schärfe und Grösse), bestimmen ob die Textur selbst leuchtet (also nicht auf Lichteinstrahlung angewiesen ist), Die Textur durchsichtig machen (entweder allgemein oder einzelne Regionen), sie "bumpen", also anhand der Schwarzwerte der Textur die Normalen der Lichteinstrahlung abändern damit ein dreidimensionaler Eindruck entsteht sowie die Spiegelung anderer Objekte auf der Oberfläche einstellen. Auch ist es hier möglich, statt der tatsächlich im Spiegelungsbereich stehenden Objekte (was äusserst Rechenaufwendig ist) auch vorgefertigte Texturen zu nehmen. Bei Oberflächen mit recht diffusem Spiegelungsverhalten, so wie Kupfer, liefert das bereits auch durchwegs brauchbare Ergebnisse. 9 Mapping: UVW-mapping: Um diese Texturen in richtiger Art und Weise dann auf ein Modell zu legen benutzt man das Mapping. Die erste Möglichkeit hier ist es, diese von einer frei aufspannbaren Fläche aus auf das Objekt zu projizieren. Statt der Fläche kann man auch andere "geometrische" Grundobjekte zur Projektion verwenden. Diese sind im Einzelnen ein Quader, eine Kugel und ein Zylinder. Diese Art der Texturierung wird jedoch vornehmlich bei simpleren Geometrien verwendet, da man zu schnell an die Grenzen des machbaren stösst. UVW-unwrap: Für komplexere Objekte verwendet man das so genannte "UVW-Unwrap". Bei diesem werden einzelne Flächen selektiert und dann gezielt mit einem Ausschnitt der Textur belegt. Dies kommt besonders bei der Entwicklung von Spiel Objekten exzessiv zum Einsatz. Hier werden für gewöhnlich erst einmal hoch detaillierte Objekte entworfen, diese dann auf eine Textur gerendert und danach diese so erstellte Textur auf ein Objekt mit sehr wenigen Polygonen gelegt, da sonst schnell die Grafikkarte überfordert wäre, müsste sie lauter Gegenstände mit einer Vielzahl an Polygonen darstellen. Nach der Entlastung der Grafikkarte durch eine verminderte Anzahl an zu berechnenden Polygonen ist es jedoch wichtig nicht zu viele Texturen mit den Bildern hochdetaillierter Objekte zu verwenden, da auch diese nur im begrenzten Masse von Grafikkarten dargestellt werden können. Folglich ist man gezwungen ein und die selbe detaillierte Textur an mehreren Stellen zu verwenden, will man eine erträgliche Framerate beim Spiel erreichen. Ein normales Raumschiff besteht zum Beispiel für gewöhnlich aus einer 265*256 Pixel grossen Textur. 10 Animation und Physik: Bone-rigging: Oftmals reicht es nicht, einfache statische Objekte in ein Spiel zu exportieren, da sich in einer Spielewelt heutzutage nahezu alles deformieren lässt oder sich bewegt. Somit ist man gezwungen, für ein Objekt teilweise dutzende von Animationen zu erstellen. So zum Beispiel bei einer Spielfigur. Diese steht nicht nur starr herum, sondern muss gehen, rennen, sich ducken und eine ganze Palette anderer Bewegungen beherrschen. Bei der Animation von Lebewesen wird dabei sehr gerne auf die Technik des "bone riggings" zurückgegriffen. Anhand dieser wird das Objekt durch einfache knochenartige (was auch namensgebend für diese Operation ist) Strukturen nachgebildet. Diese werden dann mit bewegbaren Teilen des Körpers verbunden. Nun kann man für die Knochen eine grosse Anzahl an Einstellungen treffen. So zum Beispiel ist es Möglich die Beweglichkeit einzuschränken (Ein Finger kann sich schliesslich nicht um 360° drehen) um spätere Fehler bei der Animation zu vermeiden. Auch kann man den Knochen ein bestimmtes Bewegungsmuster antrainieren. für gewöhnlich bewegt sich ein Objekt ja auf gerader Linie dorthin, wo der Knochen bewegt wird. Da aber das Generieren eines Schrittes ein komplexer Vorgang ist, bei dem das Bein keinesfalls einfach auf einer geraden Bahn nach vorne gezogen wird und sogar noch der Restkörper sich dadurch bewegt, muss dies alles bei den Eigenschaften des Knochens eingetragen werden. So lassen sich durch Verknüpfung mehrere Knochen mit der richtigen Grundeinstellung der selben hochkomplexe Bewegungsabläufe mit wenigen Maus Klicks produzieren. Physik Engines: Mittlerweile werden sogar schon ganze Physik-Engines für 3D-Studio Max entwickelt (wie zum Beispiel "Reactor"). Diese sind in der Lage Schwerkraft, Kollisionen oder zum Beispiel das Aufprallen einer fallenden Puppe (so genannte "rag doll" Experimente) zu berechnen, was dem Grafiker sehr viel Arbeit abnimmt und ein realistischeres Verhalten der Figuren ermöglich. Motion capturing: Eine weitaus einfachere und effizientere (wenn auch teurere) Methode der Animation ist das "motion capturing". Bei diesem Verfahren werden Menschen mit Sensoren ausgestattet, die deren Bewegungen in das Modellierungsprogramm übertragen. So kann man durch Nachspielen einzelner Bewegungssequenzen schnell eine mit dem reellen Bewegungsablauf identische Animation für eine Computerfigur erzeugen. Durch sinkende Preise in diesem Sektor und steigendem Realitätsanspruch gewinnt das Motion Capturing in letzter Zeit auch immer weiter an Bedeutung für die Spieleindustrie. Morphing: Um ein Objekt zu verformen verwendet man den "Morph" Befehl. Dieser erstellt automatisch eine Animation, in der zwei gegebene Objekte ineinander umgemorpht werden, also ein Objekt fliessend in das andere übergeht. Hierzu ist es lediglich notwendig, dass die beiden Objekte aus einer identischen Anzahl an Eckpunkten bestehen. Um individuelle Umwandlungsergebnisse erzielen zu können ist es auch bei diesem Befehl wieder möglich, eine ganze Reihe von 11 Einstellungen für das Morphen zu machen. Häufig wird das Morphing bei der Animation von Gesichtszügen verwendet. Aus einer vorher erstellten Kollektion an verschiedenen Gesichtszügen wie zum Beispiel Mundwinkelpositionen wird dann die Mimik der Figur erstellt. Quellenverzeichnis: www.autodesk.com www.alias.com 3D-Studio6 Tutorials 12