mail     start    
« | Maya 1x1 | »

5.06.2005 maya_1x1:
Maya Complete Continue (Script/Inhalt) KW 22 02.06.05

Maya Complete Continue – NURBS

NURBS Grundlagen
NURBS Modeling ermöglicht uns schnell und einfach Formen mit fließenden Konturen zu produzieren.

Dabei sind NURBS gleicher Maßen für organische Formen wie zum Beispiel Menschen aber auch Industrie Design Produkte wie Fahrzeuge geeignet.

Der Begriff NURBS bedeutet Non-Uniform Rational B-Spline und stellt eine der Arbeitsweisen in Maya dar, 3D Kurven und Oberflächen frei zu formen. NURBS Kurven und Surfaces (Oberflächen) lassen sich einfach verändern und können damit nahezu jede Form annehmen.

Ganz reduziert kann man NURBS Surfaces als eine NURBS Kurve betrachten, welche aus der Länge einer anderen NURBS Kurve entspringt. Daraus ergibt sich, dass die meisten NURBS Kurven Parameter wie Grad, Richtung und Form sich auch auf Surfaces anwenden lassen. Surfaces haben nur noch einen weiteren Richtungsparameter.

Hinweis:
Für die nun folgenden Szenen muss folgendes *.rar File auf den Arbeitsplatzrechner heruntergeladen werden und auf die Datenpartition (Beispielsweise E) entpackt werden (durch doppel klicken und das entsprechende Verzeichnis wählen).

Curves
Jede NURBS Kurve besteht aus:
Control Vertices oder auch CVs, welche außerhalb der Kurve liegen und ihre Form definieren
Hulls, welche die auf einander folgenden CVs verbinden und uns als visuelle Hilfestellung dienen
Edit Points (oder EPs), welche auf einer Kurve liegen und Anfang und Ende eines sog. Spans definieren
Spans, individuelle Abschnitte, welche durch Edit Points definiert werden

Degree
Beim zeichnen von Kurven in Maya spricht man von Kurven Grad. So können First, Second, Third, Fifth oder Seventh Degree Curves erstellt werden. Je höher der Degree, umso komplexer ist ein einzelner Span. Der Degree Wert einer Kurve bezieht sich auf den größten exponentialen Wert, welcher in der polynominale Gleichung verwendet wird, welche die Form einer Span in einer Kurve definiert.

Eine Single Span First Degree Curve ist also eine gerade Linie und folgt einer vorgegebenen Achse einmal. Eine First Degree Curve mit mehr als einer Span entspricht einer gezackten Linie.

Eine Single Span Second Degree Curve ergibt eine Parabel, welche jede vorhandene Achse zweimal kreuzt.

Single Span Third Degree Curves werden oft als „simple S's“ umschrieben, was ihrem Erscheinungsbild entspricht. Single Span Third Degree Curves können vorhandene Achsen drei mal kreuzen.

Wenn wir einer Kurve erstellen, müssen wir immer einen weiteren CV positionieren als der entsprechenden Degree Typ, bevor der erste Span erstellt wird. Wenn wir also eine First Degree Kurve erstellen, müssen wir zwei CVs in Position bringen, bei einer Second Degree Curve sind es drei CVs und bei einer Third Degree Curve sind es vier.

Parameterization
Parameterization, auch bezeichnet als Knot Spacing, bezeichnet die Art und Weise, wie Maya den Wert der Länge einer Kurve bestimmt. Dabei gibt es zwei Arten von Parameterization: Uniform und Chord Länge

Uniform Parameterization bezeichnet gleichmäßige Werte im Verlauf einer Kurve unabhängig der tatsächlichen Länge eines Spans. So hat zum Beispiel eine „Uniform Parameterized Curve“ mit 3 Spans parametrische Werte von 0 bis 3 mit Schnittpunktwerten von 0, 1, 2 oder 3. Daher haben Kurven mit „Uniform Knot Spacing“ sehr vorhersehbare Werte.

Da der parametrische Wert innerhalb eines Spans unabhängig der Länge der Spans gleich ist, kann gesamte Verteilung von Werten in Kurven mit Spans bei extrem unterschiedlicher Größe unregelmäßig werden. Dies wiederum kann Probleme beim Darstellen von Texturen auf Surfaces geben.

Obwohl nicht absolut notwendig, ist es eine gute Regel, die Spans in unseren Kurven ungefähr auf gleiche Länge zu bringen.
Die Chord Lenght Parameterization umschreibt den Wert in einer Kurve, der über den physikalischen Abstand zwischen Edit Points bestimmt wird. Als Ergebnis wird der parametrische Wert völlig gleichmäßig über die gesamte Länge der Kurve verteilt.

Während Chord Lenght Knot Spacing Texturprobleme geben kann, bedeutet unter Umständen ein unvorhersehbarer Wert innerhalb einer Kurve Oberflächenprobleme wie zum Beispiel „Cross Knot Intersection“.

Während Chord Lenght Parameterization sehr nützlich sein kann, stellt Uniform Knot Spacing für uns für die meisten Kurven die ideale Arbeitsweise dar.

Curve Direction
Alle NURBS Kurven haben eine so genannte „U“ Richtung. Diese U-Direction bezieht sich auf die Richtung einer Kurve, in welcher der parametrische Wert sich vergrößert. Die Richtung der Kurve wird damit klar definiert durch die ersten beiden CVs der Kurve. Die CV am Kurvenanfang wird als kleiner Würfel während die zweite CV als U angezeigt wird.

Continuity
Continuity bezeichnet die physikalische Beziehung an der Überschneidung von NURBS Kurve und Oberfläche. Es gibt mehrere Ebenen der Überschneidung in Maya. Die beiden wichtigsten sind:
Positional Continuity (oder G0)
Tangent Continuity (oder G1)
Positional Continuity bedeutet, dass zwei Kurven sich an ihren Enden einfach treffen. Wenn Oberflächen aus zwei Kurven mit G0 Continuity erstellt wurden, gibt es keinen Abstand zwischen den Surfaces, es entsteht jedoch eine sichtbare Naht zwischen den Schnittpunkten. Anders ausgedrückt sehen die beiden Surfaces aus wie eine fortlaufende Oberfläche mit einer Ecke.

G0 Continuity wird einfach erreicht, indem man den ersten oder letzten CV einer Kurve auf den Spitze des ersten oder letzten CV der anderen Kurve erstellt.

Tanget Continuity bedeutet, dass zwei Kurven sich an ihren Enden treffen indem die Tangente jeder Kurve den Schnittpunkt bilden. Unter Tangency einer Kurve versteht man, dass die Richtung einer Kurve direkt auf einen beliebigen Punkt entlang einer Kurve trifft. Oberflächen, welche aus Kurven mit G1 Continuity erstellt werden, haben keinen Zwischenraum beim Schnittpunkt und haben keine erkennbare Naht. Anders ausgedrückt, die beiden Surfaces bzw. Oberflächen haben in diesem Fall einen natürlichen, organischen Übergang.

G1 Continuity kann erreicht werden, indem man von einer G0 Continuity ausgeht und dann die benachbarten CVs auf der Kurve anordnet. Kurz gesagt, vier CVs in einer Reihe gleichen Tangent Continuity.

G1 Continuity ist notwendig für nahtlos verbundene NURBS Patch Modelle.

Quality Curves
Da NURBS Oberflächen meist aus einer oder mehreren NURBS Kurven erstellt werden, ist es notwendig, dass diese Kurven sauber konstruiert werden.
In entgegen gesetzte Richtung weisende Kurven sollten genau die gleiche Parameterization haben
Parameterization zwischen den Kurven sollte gleichmäßig verlaufen
Die passende Continuity sollte zwischen Kurven und Oberflächen erzielt werden.

Offene, geschlossene und periodische Geometrie
NURBS Geometrien können in drei verschiedenen Formen vorkommen: Offen, geschlossen oder periodisch.
Offene Kurven (oder Surfaces) haben typischer Weise ihren Anfang- und Endpunkt auf unterschiedlichen Positionen im Raum. Falls wir den Endpunkt einer Kurve auf deren Anfangspunkt platzieren, handelt es sich immer noch um eine „offene“ Geometrie, da die Punkte immer noch von einander weg verschoben werden könne.
Geschlossene Kurven (oder Oberflächen) sind immer so genannte Loops (Schliefen), da deren Start- und Endpunkt auf einander liegen und mit einer Naht verbunden sind. Wenn wir den ersten Schnittpunkt einer Kurve anwählen und verschieben, wird er letzte Schnittpunkt ebenfalls verschoben. Verschieben des ersten und letzten Punktes einer geschlossenen Kurve kann zum Verlust der G1 Continuity führen.
Unter Periodische Kurven (und Oberflächen) verstehen wir entsprechend Loops (Schliefen), welche über eine Naht verbunden sind, was über zwei unsichtbare Verbindungen erfolgt, welche über das Ende hinausgeht und über der ersten und letzten sichtbaren Verbindung (Span) liegt. Diese überlappende Verbindung gewährleistet G1 Continuity auf der Naht der Schnittpunkte, wenn diese verschoben werden.

Surfaces (Oberflächen)
Die Anatomie einer NURBS Surface

Jede NURBS Oberfläche besteht aus
Control Vertices (bzw. CVs), welche um die Surface verteilt sind und deren Form definieren
Hulls, welche sequentiell CVs in U und V Richtung der Surface verbinden
Isoparms, welche auf einer Oberfläche liegen, gleich bleibende parametrische Werte geben und die Verbindungen einer Surface (bzw. Patches) definieren.
Spans (Verbindungen), die individuellen Verbindungen eines Abschnittes, definiert durch die Isoparms

U und V Surface Richtung
Ebenso wir NURBS Kurven haben auch NURBS Surfaces Richtungen mit sich erhöhenden parametrischen Werten. So stellt die U und V Richtung einer Oberfläche eine Abhängigkeit zur Textur her, welche einer Surface zugewiesen wird und legt dabei die Richtung der Normal Faces der Oberflächen fest.

Degree
Genauso wie NURBS Kurven können Surfaces (Oberflächen) einen first, second, third, fifth und seventh Degree Wert haben. NURBS Surfaces können dabei unterschiedliche Degree Wert in ihrer U und V Richtung annehmen. So kann zum Beispiel ein Zylinder ls ausgewogenere Geometrie erstellt werden, indem er einen First Degree Wert in seiner Länge und einen Third Degree Wert in der Rundung annimmt.

Normals
Ähnlich wie Polygon Oberflächen haben NURBS Oberflächen so genannte Normals, welche senkrecht zur Oberfläche stehen. Dabei bestimmt die U und V Richtung der NURBS Surface die Richtung einer Normals Face auf der Oberfläche.
Als Faustregel lässt sich die Beziehung zwischen U und V Richtung und den Surface Normals über Daumen, Zeigefinger und Mittelfinger vorher bestimmen. Wir nehmen dafür die rechte Hand und richten unseren Daumen in U Richtung der Oberfläche und den Zeigefinger in V Richtung. Der Mittelfinger sollte nun senkrecht zum Zeigefinger gerichtet sein und damit in Richtung der Normals weisen.
Die U und V Richtung einer Oberfläche lässt sich umdrehen, so dass die Normals eines Faces in die andere Richtung weisen.

Ändern der Surface Richtung
Über das Vergrößern entweder des U oder V Parameterwertes lässt sich die Richtung umkehren. Dies kann notwendig sein, um Normals um zu drehen, um Texturen neu aus zu richten oder um Rigid Body Probleme zu korrigieren.

Isoparms
Isoparms sind die Verbindungslinien, welche auf den NURBS Surfaces sowohl in U asl auch in V Richtung verlaufen und damit deren Form im Verhältnis zu den CVs bestimmen. Auf gleiche Art und Weise wie Schnittpunkte einer Kurve ihre Spans definieren, werden Patches auf Surfaces über Isoparms definiert.
Mathematische gesehen markieren Isoparms einen gleich bleibenden parametrischen Wert in U und V Richtung auf der Oberfläche. Als Ergebnis dieser Häufung von gleich bleibenden Werten können Isoparms verwendet werden, um eine einzelne NURBS Oberfläche in zwei getrennte Surfaces auf zu splitten.

Kurven auf Oberflächen
Genau wie ein Isoparm ist eine „Curve On Surface“ eine Linie direkt auf einer NURBS Surface. Entgegen eines Isoprams verweist diese jedoch nicht auf eine Gerade aus einem gleich bleibenden parametrischen Wert, sondern definiert eine willkürliche Grenze innerhalb der UV Koordinaten auf der Oberfläche.

Trimmen der NURBS Surface
Während Modellieren mit NURBS Surfaces als sehr flexible Technik angesehen werden kann, mit der nahezu jede Form erreicht wird, bestehen NURBS letztlich aus vierseitigen Patches welche mehrere Einschränkungen darstellen.
Um diese Einschränkungen in den Griff zu bekommen, können NURBS Surfaces getrimmt werden, indem ungewollte Bereiche abgeschnitten werden. Wenn wir eine Surface modellieren, welche eine Öffnung wie zum Beispiel die Lüftungsschlitze eines Fahrradhelms hat, können diese über Trimmen der Oberfläche erstellt werden.
Während das Trimmen einer Oberfläche für Industriedesign Objekte sehr geeignet ist, kann man dies nicht bei Modellen anwenden, welche wir verformen wollen, da die getrimmten Kanten während der Verformung aus einander brechen und Zwischenräume im Modell entstehen würden.

Modellieren eines NURBS Körpers
Wir öffnen die Szene NURBS_prep.mb.

Wir erstellen ein neues Shelf Regal. Wir klicken auf den Shelf Menu Button (Dreieck links neben dem Shelf Regal) und wählen New Shelf.
Wir benennen die neue Shelf in NURBSpatchModeling um.
Nun erstellen wir einen Shortcut Button für die Shelf über Strg + Shift und Modify – Transformation Tools – Move Normal. Das Move Normal Werkzeug erscheint im Shelf Regal.
Dieses ermöglicht es uns, CVs entlang der U und V Richtung einer Surface oder entlang einer Surface Normal zu verschieben. Das Move Normal Werkzeug ist sehr hilfreich beim Verschieben von CVs, um die Lage der Isoparms zu verfeinern, ohne die Form der Oberfläche zu verändern.

Optionen für das Attach Tool
Wir wählen zwei benachbarte NURBS Oberflächen. Dann rufen wir edit NURBS – Attach Surface – Option Box auf. Wir resetten die Settings und geben folgende Werte ein:
Attach Method auf Blend
Blend Bias auf 0.5
Insert Knot auf Off
Keep Original auf Off
Wir klicken den Attach Button. Nun haben wir die Grundeinstellungen des Attach Tools für NURBS Patch Modeling angepasst und können das Werkzeug zum Shelf Regal hinzufügen. Wir halten Strg + Shift gedrückt und rufen Edit NURBS – Attach Surfaces auf.

Einstellen der Optionen für das Rebuild Surface Tool
Wir wählen die Oberfläche, welche wir gerade zusammen gefügt haben und rufen Edit NURBS – Rebuild Surface – Option Box auf. Wir resetten die Einstellungen und geben folgende Werte ein:
Rebuild Type auf Uniform
Parameter Range auf 0 to #Spans;
Keep CVs auf On
Wir klicken den Rebuild Surface Button. Dann rufen wir erneut mit gedrückter Strg + Shift Taste Edit NURBS – Rebuild Surfaces auf.

Detach Surface als Shortcut im Shelf
Wir klicken mit der rechten Maustaste auf die Surface und wählen im Menü Isoparm. Dann wählen wir einen der Isoparms der Surface aus.

Hinweis: Wenn wir nur durch klicken einen Isoparm auswählen, besteht die Möglichkeit, dass wir einen neuen Isoparm erstellen, anstatt den originalen aus zu wählen.

Wir halten Strg + Shift gedrückt und wählen Detach Surface.

Insert Isoparm als Shortcut im Shelf
Wir klicken mit der linken Maustaste auf einen der Isoparms und ziehen den Isoparm auf eine neue Position auf der Oberfläche.
Wir wählen mit gedrückten Strg + Shift Tasten Edit NURBS – Insert Isoparm.

Einstellen der Optionen für das Rebuild Curves Tool
Wir wählen Edit Curves – Rebuild Curves – Option Box und geben folgende Werte ein (gleich wie Rebuild Surface):
Rebuild Type auf Uniform
Parameter Range auf 0 to #Spans;
Keep CVs auf On
Dann fügen wir Rebuild Curve zum Shelf Regal hinzu, indem wir Strg + Shift gedrückt halten und erneut Edit Curves – Rebuild Curves aufrufen.

Hinzufügen des Rebuild Surfaces Option Fensters zum Shelf
Wir halten Strg + Shift gedrückt und rufen Edit NURBS – Rebuild Surfaces – Option Box auf.

Hinzufügen des Rebuild Curves Option Fensters zum Shelf
Wir halten Strg + Shift gedrückt und rufen Edit Curves – Rebuild Curves – Option Box auf.

Einstellen der Optionen für das Global Stitch Tool
Wir wählen alle Oberflächen aus und rufen Edit NURBS – Stitch -Global Stitch – Option Box auf.
Wir resetten die Settings und geben folgende Werte ein:
Stitch Corners auf Closest Knot
Stitch Edges auf Match Params
Stitch Smoothness auf Normals
Max Separation auf 0.1
Modification Resistance auf 10.0
Sampling Density auf 1
Keep Original auf Off
Dann klicken wir den Global Stitch Button.
Dann fügen wir Global Stitch zum Shelf hinzu, indem wir Strg + Shift gedrückt halten und Edit NURBS – Stitch – Global Stitch aufrufen.

Socking
NURBS Surfaces bestehen immer aus vierseitigen Patches. Daher können komplexe Formen wie beispielsweise eine Schulter schwierig umgesetzt werden, wenn diese nicht korrekt angenähert wird. Eine Grundlagen Technik, welche beim Patch Modeling verwendet wird allgemein als „Socking“ bezeichnet. Socking ist eine Vorgehensweise, in der man immer wieder NURBS Patches verbindet (Attaching), löst (Detaching) und neu zusammen setzt (Rebuild), um ein integriertes Netzwerk aus Patches zu erstellen, welches nahtlos verknüpft ist.

Wir öffnen die Szene NURBSsocking_01.mb. Die Szene enthält eine vereinfachte Version eines Arms und einer Schulter. Auf Grund der Topologie der einzelnen Surfaces ist es unmöglich, einen natürlichen Übergang zu erstellen, indem man einfach beide verbindet. Um dieses Problem zu lösen, teilen (detach) wir beide Oberflächen in mehrere Stücke und passen diese wieder nach strategischen Gesichtspunkten zusammen.

Rebuild der Sphere
Während des Socking Prozesses werden wir einzelne Stücke der Kugel mit den korrespondierenden Stücken des Zylinders verbinden. Daraus ergibt sich, dass die Art und Weise, wie die einzelnen Stücke aufgebrochen werden, eine enorme Auswirkung auf den endgültigen Übergang der beiden Surfaces hat. Um den Übergangspunkt vom Zylinder zur Kugel ein zu grenzen erstellen wir über rebuild mehr Spans.

Wir wählen die Kugel und und öffnen Rebuild Surfaces Option Box.
Wir setzen die Zahl der Spans auf 8 für U und V und klicken Rebuild Surface.

Detach der Kugel bei einen Isoparm
Wir klicken mit der rechten Maustaste auf die Kugel und wählen Isoparms im Menü. Dann wählen wir einen Isoparm über klicken-und-ziehen aus. Wir klicken das Detach Surface Tool im Shelf Regal.
Wir fahren fort und teilen die Kugel in neun Stücke. Wir löschen die Surface in der Mitte.

Rebuild des Zylinders
Wir machen ein rebuild des Zylinders, so dass dieser acht Spans in U und V Richtung hat.

Detach des Zylinders in vier Stücke
Wir wählen die vier Isoparms, welche in Richtung der Ecken der Öffnung der Kugel gehen und rufen Detach Surface im Shelf auf.

Verbinden von Zylinder und Kugel Oberfläche
Wir wählen die obere Surface auf der Kugel und dem Zylinder und klicken Attach Surfaces im Shelf und danach Rebuild Surfaces.

Hinweis: Wir sollten generell immer ein Rebuild Surfaces mit der Keep CVs option nach einem Attach Surfaces durchführen, wodurch die CVs in ihrer Position bleiben und damit die Form erhalten bleibt, während die Parameterization geglättet wird.

Wir wiederholen den Vorgang für alle anderen Oberflächen.

Detach der Oberflächen wir eben zusammen gefügt wurden
Wir wählen die Isoparms, welche dem Punkt am nächsten liegen, wo wir gerade verbunden haben und rufen Detach Surfaces auf.

Auflösen des Zwischenraumes in der oberen rechten Ecke
Wir haben immer noch große Zwischenräume in den Ecken des Übergangs. Um dies zu lösen führen wir nun ein Attach, Rebuild und Detach der Ecken durch.

Wir wählen dazu die obere rechte Surface der Kugel und über Shift-Auswahl die angrenzende Surface darunter. Wir rufen Attach Surfaces auf. Dann machen wir ein Rebuild Surfaces. Wir wählen das Isoparm an der Stelle, wo verbunden wurde aus und machen ein Detach Surfaces.

Wir wählen die zweite Surface der voraus gegangenen Aktion und die Zylinder Surface daneben aus und führen wieder Attach, Rebuild und Detach Surfaces (Isoparm) aus.

Wir wiederholen den Vorgang bis wir Attach, Rebuild und Detach Surfaces für alle Oberflächen in der oberen rechten Ecke der Kugel und des Zylinders ausgeführt haben.

Wir wiederholen den Vorgang für alle Ecken. Danach klicken wir Global Stitch im Shelf Regal.

Einstellen des Max Separation Wertes
Wenn es nun immer noch Zwischenräume zwischen den Surfaces gibt, müssen wir noch den Max Separation Wert einstellen.
Wir wählen eine der gestitchten Oberflächen aus und wählen GlobalStitch1 im Inputs Abschnitt der Channel Box.
Nun erhöhen wir den Max Separation Wert in kleinen Abschnitten, bis die Zwischenräume verschwinden.

Herausarbeiten eines Characters
Erstellen des Torsos
Wir öffnen die Szene NURBSbody_01.mb. Die Image Planes wurden für die Front, Seiten, Auf-, Rück- und Perspansicht schon eingestellt. Die Rückansicht ist unter den Orthographic Cameras aufrufbar.

Wir erstellen einen NURBS Zylinder. Wir rufen Create – NURBS Primitives – Cylinder – Option Box auf und wählen Edit – Reset Settings. Danach klicken wir Create.

Unter Verwendung von Front, Side und Top View passen wir den Zylinder an. Wir verändern die Größe, so dass dieser ungefähr dem Torso in den Image Planes entspricht.

Vergrößern die Zahl der Spans in U Richtung
Wir wählen die Input Node des Zylinders in der Channel Box und vergrößern den Wert für Spans auf 4.

Formen des Torsos
Wir werden nun den Zylinder anpassen, indem wir CVs und Hulls editieren. Darüber hinaus werden wir die Topologie anpassen.

Delete History vom Zylinder
Da das Ändern der Werte, welche mit der Input Node zusammenhängen, unerwünschte Ergebnisse geben kann, wenn wir einzelne Komponenten wie CVs verändern, werden wir die Input Node entfernen, indem wir die History für den Zylinder löschen.
Mit angewähltem Zylinder rufen wir Edit – Delete by Type – History auf.

Formen des Zylinders über die Hulls
Wir klicken mit der rechten Maustaste auf den Zylinder und wählen Hulls. Wir wählen nach einander die Hulls horizontal und ändern deren Position und Größe über Scale und Move Tool entsprechend den Image Planes.
Wir passen unseren Zylinder sowohl im Front als auch im Side View an.

Hinweis: Es ist wichtig, die Anzahl der Spans in unserer NURBS Surface möglichst gering zu halten, was die Arbeit vereinfacht. So sollten wir so viel wie möglich Form über die vorhandenen CVs in unsere Oberfläche bekommen, bevor wir weitere hinzufügen.

Anwenden des Move Normal Tools auf das Erscheinungsbild der Geometrie
Sobald wir mit der Form zufrieden sind, sollten wir den Topologiefluss unseres Modells über das Move Normal Tool überarbeiten. Das Move Normal Tool ermöglicht es uns, CVs zu verschieben und dabei Änderungen an der Form möglichst gering zu halten.

Wir klicken mit der rechten Maustaste auf den Zylinder und wählen im Menü Control Vertex. Wir wählen die CVs auf der vorderen Mitte des Zylinders. Wir rufen über unseren Shelf das Move Normal Tool auf. Nun verschieben wir die CVs entlang unserer U Richtung indem wir den U Griff klicken und ziehen.
Wir verschieben weitere CVs mit dem Move Normal Tool und verfeinern die Form.

Hinweis: Ein gutes sog. Topological Flow vereinfacht das modellieren der Objekts und passt beim verformen gut seine Form an. Daher ist es sinnvoll, sich mit dieser Topologie aus einander zu setzen, wenn das Modell noch klein ist. Die Topologie bleibt gleich, wenn wir die Anzahl der Spans erhöhen.

Löschen einer Hälfte des Zylinders
Wir klicken mit der rechten Maustaste auf den Zylinder und wählen im Menü Isoparm. Wir wählen den Isoparm vorne Mitte des Zylinders und rufen Detach aus unserem Shelf auf.
Danach wählen wir den Isoparm hinten Mitte aus und klicken erneut im Shelf Detach. Der Zylinder besteht nun aus zwei Hälften. Wir löschen die Hälfte auf der linken Seite.

Modellieren des Armes
Wir wählen Create – NURBS Primitives -Cylinder – Option Box und geben folgende Werte ein:
Axis auf X
Number of Spans auf 2
Dann klicken wir den Create Button.
Unter Verwendung von Top und Front View passen wir den Zylinder über Scale und Move Tool an. Dann verfeinern wir die Form über die Hulls und CVs des Zylinders.

Modellieren der Schulterpartie
Wir modellieren die Schulter aus einer NURBS Sphere. Nachdem wir die Kugel erstellt haben, wechseln wir in die Input Node in der Channelbox und wählen diese an. Wir drücken T für das Show Manipulator Tool. Die beiden Manipulatoren werden angezeigt. Unter Verwendung von Grid Snapping verschieben wir den oberen Manipulatorgriff zur Grundfläche (Groundplane) rechts von der Kugel.

Hinweis: Das Show Manipulator Tool ermöglicht es uns, NURBS Oberflächen mit History aus zu richten, ohne ihre Rotations Werte zu verändern.

Translate, Rotate und Scale der Kugel in ihre korrekte Position
unter Verwendung von Front und Top View passen wir die Sphere über Translate, Rotate und Scale im Schulter und Brustbereich auf die Imageplane an.

Modellieren des Beins
Wir erstellen einen NURBS Zylinder, welcher in der Y-Achse liegt. Dazu legen wir den Zylinder auf das Knie und rotieren diesen in der Y-Achse in Richtung des Beines. Wir vergrößern den Zylinder über das Scale Tool auf die ungefähre Länge des Beins.
Danach wählen wir die Hulls der Oberseite des Zylinders und rufen das Rotate Tool auf. Wir drücken die Einfg Taste um in den Pivot (Drehpunkt) Editier Modus zu gelangen. Wir verschieben den Pivot Punkt in die obere linke Ecke des Zylinders und drücken erneut die Pivot Punkt Taste (Einfg).
Wir rotieren die Hulls um die Z-Achse, bis diese an den Torso angepasst sind. Wir vergrößern die Hulls in Z- und Y-Richtung, um diese an die Image Plane des oberen Fusses an zu passen.

Einfügen von Isoparms in den Fuß
Wir klicken mit der rechten Maustaste auf den Zylinder und wählen Isoparm im Auswahlmenü. Indem wir am Knie mit der linken Maustaste klicken und ziehen, fügen wir einen neuen Isoparm ein.
Mit gedrückter Shift Taste klicken und ziehen wir einen weiteren Isoparm auf den dicksten Bereich am Oberschenkel und am Unterschenkel.
Danach wählen wir Insert Isoparm im Shelf Regal.

Rebuild des Zylinders mit Keep CVs Option
Es ist sinnvoll, ein Rebuild Surface unter Verwendung von Keep CVs immer nach einer Attach, Detach oder Insert Isoparm durch zu führen. Mit angewähltem Zylinder drücken wir den Rebuild Surface Button (mit Keep CVs) im Shelf Regal.

Wir passen nun die Hulls und CVs des Beines - auch unter Verwendung von Front- und Side View - an die Image Plane an.

Danach wechseln wir in die Rückansicht (Orthographic Rear View) im Top View

Erstellen einer NURBS Kugel
Wir erstellen eine Default NURBS Sphere und passen diese auf die Rückseite in Rear und Side View auf die Planes in Position und Größe an.

Modellieren des Brustbereichs
Wir erstellen eine NURBS Sphere, welche in der Z-Achse liegt. Unter Verwendung von Side und Front View passen wir Größe und Position an.
Danach rotieren wir die Sphere in X und Y Achse, dass diese auf den Torso passt. Die Achse der Kugel sollte über den Torso überstehen und nach oben zeigen.

Verwenden von Lattice
Lattice wird zu den Deformern gerechnet und ist ein ausgezeichnetes Werkzeug, um die Form eines Körpers organisch und stufenweise zu verändern und eignet sich dafür besser, als einfach CVs zu vercshieben.
Wir wechseln dafür ein den Animation Betriebsmodus und rufen mit angewählter Kugel Deform – Create Lattice – Option Box auf. Wir machen eine Reset und setzen Number of Divisions für alle drei Spalten auf 4.
Danach drücken wir den Create Button.

Wir klicken mit der rechten Maustaste auf den Lattice Käfig und wählen Lattice Points. Dann wählen wir alle 16 Lattice Punkte auf der Vorderseite des Lattice.
Mit dem Scale Tool verkleinern wir die lattice Punkte und bringen die Vorderseite der Kugel ein wenig in die Mitte.

Wir werden nun die Lattice Punkte in Verhältnis zur lokalen Rotationsachse der Kugel verschieben. Diese bietet uns mehr Kontrolle über die Veränderung der Form als ein Arbeiten im World Modus.
Wir klicken das Move Tool in der Toolbox doppelt und ändern die Move Settings zu Object. Dann verschieben wir die Lattice Punkte entlang der Y-Achse um die Form anzupassen.

Danach passen wir auch die nächste weiter unten liegen Reihe an Lattice Punkten an.
Dann führen wir ein Reset des Move Tools durch und löschen die History für die Brust. Dazu rufen wir Edit – Delete By Type – History auf.

Verfeinern der Form des Torsos
Dazu fahren wir entweder mit unserer momentanen Szene fort oder öffnen NURBSbody_02.mb.
Mit angewähltem Torso Zylinder klicken wir Rebuild Surfaces Option Box (p). Wir führen eine reset durch und geben folgende Werte ein:
Rebuild Type auf Uniform
Parameter Range auf 0 to # Spans
Direction auf U
Number of Spans U auf 9
Danach klicken wir auf den Rebuild Button
Unter Verwendung des Move Normal Tools passen wir die Lage der Isoparms an die Unterseite des Brustkastens an.

Danach rufen wir erneut das Rebuild Surface Tool (Shelf Regal) auf und erstellen auf dem Zylinder 6 Spans in V Richtung.
Am Magenbereich verschieben wir über das Move und das Move Normal Tool CVs um die Form an zu passen.

Hinweis: Beim modellieren eines Characters ist es sinnvoll, immer die komplette Form zu überarbeiten

Nun fügen wir zwei zusätzliche Isoparms an der Unterseite des Brustkastens ein. Diese werden sowohl oberhalb als auch unterhalb des Isoparms, welches im Moment den Bereich abschließt, erstellt. Wir klicken Insert Isoparm.
Danach machen wir erneut ein Rebuild Surface unter Verwendung der Keep CVs Option. Nun sind mehr CVs vorhanden und wir können eine leichte Kanten am Rand des Brustkastens definieren.

Rebuild der Schulterpartie
Wir wenden auf die Schulterpartie ebenfalls einen Lattice Deformer an. Dazu fahren wir entweder mit unserer Szene fort oder öffnen NURBSbody_03.mb.

Wir wählen die Kugel der Schulter an und wenden Deform – Create Lattice (Animation Betriebsmodus) an. Inder Channelbox geben wir in der Input Node für LatticeShape TDivisions den Wert 5 ein.
Wir verschieben die Lattice Punkte und gleichen diese einer Tropfenform an.

Entfernen des Lattice über Delete History
Deformer wie beispielsweise Lattice sind gute Modeling Werkzeuge, indem sie die Form einer Surface über den Einfluss auf Punkte verändern. Wenn einmal eine Form abgeschlossen ist, sollte der entsprechende Deformer über Delete History entfernt werden.
Wir wählen die Kugel und entfernen die History.

Hinweis: Wenn wir einfach nur den Deformer löschen, ist das Ergebnis, dass die Surface einfach wieder in ihre ungeformte , unbearbeitete Ausgangsposition zurück springt.

Verbinden von Schulter und Arm
Dies machen wir über eine Reihe von überlegten Attach und Detach Operationen.
Wir öffnen dafür entweder NURBSbody_04.mb oder fahren mit unserem bisherigen Modell fort.
Wir brechen unsere Kugel über Detach Surfaces der entsprechenden Isoparms in obere und untere Hälfte auf. Dann templaten wir die untere Schulter Surface.
Dann passen wir zwei Isoparms in den Arm Zylinder nahe bei der Schulter Oberfläche ein und führen erneut ein Detach Surfaces durch.

Hinweis:Wir führen nicht einfach ein Detach des nächsten Isoparms nahe der Schulter Surface durch, da die neuen Isoparms mehr geometrische Fläche bilden werden, wenn wir Ram und Schulter verbinden werden

Dann führen wir ein Detach Surfaces am Armzylinder der horizontalen Isoparms, welche dem Detach Punkt der Schulter am nächsten liegen durch.

Wir wählen die obere Schulter Surface und mit gedrückter Shift Taste die obere Arm Surface.
Dann klicken wir den Attach Button im Shelf Regal. Wir führen ein Rebuild Surface mit Keep CVs auf On durch.

Hinweis: Bei Attach Surface Operationen müssen beide Oberflächen entweder die gleiche Anzahl an Spans bzw. ein Vielfaches der Spans von einander haben. Wenn nicht, entstehen gekreuzte Punkte und als Folge daraus nicht fortlaufende Oberflächen. Da in unserem Fall die Schulter vier und der Arm zwei Spans haben, werden die Surfaces sauber an einander gefügt.

Sollten sich Surfaces am einer anderen Edge verbinden, als dort, wo wir es erwarten, müssen wir festlegen, wo die Attach Operation stattfinden soll. Dies erreichen wir, indem wir eine Isoparm nahe der Edge, wo der Zusammenschluss sein soll anwählen.

Verbinden der Vorderseite des Arms und der Schulter
Wir führen ein Detach am zweiten Isoparm sowohl an der Schulter als auch an der Arm Surface durch.
Dann verbinden wir über Attach beide Surfaces. Da beide Oberflächen jeweils nur einen Span in Richtung der Verbindung haben, sollte der Übergang sauber erstellt werden.
Wir führen ein Rebuild der neuen Oberfläche mit zugeschaltetem Keep CVs (auf On) durch.

Hinweis: Sollte bei einem Rebuild Surfaces mit Keep CVs auf On eine unsaubere Oberfläche entstehen, dann war schon eine der Ausgangs Oberflächen nicht fortlaufend. In diesem Fall lässt sich folgendes versuchen: Undo der Attach Operation, Rebuild jeder einzelnen Oberfläche.

Einstellen des Blend Bias Wertes
Wenn wir zwei Oberflächen verbinden, blendet Maya zwischen den beiden Originalen Oberflächen im Verbindungs Bereich. Dabei steuert der Blend Bias Wert welche Surface Shape mehr Einfluss auf die neu zusammengefügte Form hat.
Wir wählen die attachSurface1 Node im Input Abschnitt der Channel Box und ändern Blend Bias auf Werte zwischen 0 und 1, indem wir das Blend Bias Attribute anwählen und mit der mittleren Maustaste in der Persp Ansicht klicken-und-ziehen.

Detach und Attach auf der Rückseite und Unterseite des Arms und der Schulter
Wir wiederholen unsere Schritte und verbinden den Arm und die Schulter auf der Rückseite und Unterseite.

Verbinden der oberen, mittleren und unteren Surfaces
Schulter und Arm sind nun aufgeteilt in vier Streifen. Wir werden nun diese verbinden. Zuerst führen wir eine Attach Surface für den oberen und mittleren Streifen auf der Vorderseite des Arms durch. Falls notwendig passen wir Blend Bias an. Danach verbinden wir die neue Oberfläche mit dem unteren Streifen auf der Vorderseite.

Wir wiederholen den Vorgang für die Rückseite.

Verschieben der Naht zur Unterseite des Arms
Wir wählen einen Isoparm auf der Unterseite des Arms und rufen Edit NURBS – Move Seam auf.
Maya sollte nun die Naht zur Unterseite des Arms verschieben.

Überarbeiten der Form des Arms
Zu aller erst weisen wir ein Blinn Material allen Surfaces zu. Die hellen Lichtpunkte des Blinnmaterials erleichtert uns die Begutachtung der Konturen der Surfaces.
Wir öffnen über Window – Rendering Editors - ... den Hypershade. Im Hypershade rufen wir Create – Materials – Blinn auf und benennen dieses in bodyBlinn um. Dann wählen wir die NURBS Oberflächen.
Wir klicken mit der rechten Maustaste auf das bodyBlinn Material im Hypershade und wählen Assign Material To Selection.

Danach fügen wir neue Isoparms im Ellenbogen Bereich ein. Wir führen ein erneutes Rebuild Surfaces mit Keep CVs auf On durch.

Unter Verwendung vom Move Normal Tool erstellen wir eine klar definierte Ausbuchtung im Bereich des Ellenbogens mit einer Enge auf der Vorderseite des Arms und am anderen Ende auf der Rückseite.
Wir verschieben CVs nach außen, um den Knick des Ellenbogens zu definieren.

Diese Phase des Modeling nimmt eine große Zeit in Anspruch und sollte am Ende im Wesentlichen unseren NURBS Character erfassen. Wir sollten dann eine Serie aus NURBS Surfaces mit korrekten Proportionen haben. Bei dieser Vorgehensweise spricht man auch von Blocking.

Socking (Einfassen)
Der Begriff Socking umschreibt eine Prozess aus wiederholten und überlegten Attach, Detach und Rebuild Operationen, welche dazu dienen unsere NURBS Oberfläche in eine zusammenhängende Serie aus nahtlos verbundenen NURBS Patches um zu wandeln.

Socking des Arms und Torsos
Wir fahren mit unserer bisherigen Szene fort oder öffnen NURBSbody_05.mb.
Es ist oft ratsam den Wirkungsbereich des Socking Effekts ein zu grenzen, indem man eine Detach Operation der „männlichen“ Surface nahe des Attach Bereichs durchführt. Wir führen also ein Detach Surfaces des Arms bei der Schulter durch.
Danach führen wir ein Detach am Übergang zum Brustkorb durch.

Hinweis: Beim Socking ist es wichtig, voraus zu planen, welche einzelnen Teile beim Detach Prozess eingefasst werden. Wir sollten im Auge behalten, wie entsprechende Oberflächen in einander übergehen, wenn diese zusammen gefügt werden. Allgemein gesehen sollten die Isoparms des männlichen Abschnitts in die Ecken des weiblichen Abschnitts überfließen. Die Zahl der Spans ist dabei nicht von Bedeutung da die Oberflächen einfach vor dem Zusammenfügen über Rebuild angepasst werden können.

Wir teilen den oberen Torso in neun Stücke über ein Detach der Isoparms. Danach teilen wir die Schulter in vier Teile und zwar dort, wo die Ecken in die Öffnung übergehen.

Wir führen dort, wo es notwendig ist, ein Rebuild Surfaces durch so dass die Oberflächen die gleiche Anzahl an Isoparms haben wie diese, mit denen sie verbunden werden sollen.
Wir gehen dabei so vor, dass wir beispielsweise bei Surface mit drei Spans und einer Surface mit zwei Spans die mit der kleineren Menge an Spans „rebuilden“, um zu vermeiden, Details zu verlieren.
Weiter ist zu beachten, dass Oberflächen mit einer unteilbaren Zahl an Spans kein Rebuild vor einer Attach Operation benötigen.

Abstände zwischen Schulter und Torso Surface verringern
Wir bearbeiten nun die Bereiche um die Schulter mit Attach, Rebuild und Detach Operationen um die Abstände zu verringern.

Wenn wir den Gesamtbereich bearbeitet haben, führen wir eine Global Stitch Operation durch (Button in unserem Shelf Regal).

Einstellen des Max Distance Wertes
Wir müssen nun noch die Abstände bei einigen Oberflächen nach dem Global Stitch Vorgang schließen. Dazu wählen wir die globalStitch Node im Input Anschnitt der Channel Box aus und erhöhen den MaxDist Wert, bis die Öffnungen sich schließen.

Hinweis: Gelegentlich kann es vorkommen, dass ein Erhöhen des MaxDist Wertes ungewollt CVs verschmolzen werden, bevor alle Öffnungen geschlossen sind. Falls dies passiert, haben wir zwei Möglichkeiten. Wir erniedrigen den MaxDist wieder, bis das ungewollte Stitching korrigiert ist und wählen wieder die Surfaces mit der nicht reparierten Öffnung an. Dann wenden wir auf diese ein erneutes Global Stitch an und passen den MaxDist Wert an.
Die zweite Möglichkeit für uns ist das Global Stitch rückgängig zum machen (undo) und weiter die Öffnung zu schließen über ein Wiederholen der Attach, Detach und Rebuild Operationen, was wir danach mit Global Stitch abschließen.

Einpassen der Brust in den Torso
Hierfür verwenden wir die gleiche Technik wie beim Arm, jedoch besteht die Erweiterung darin, den Übergang zum Torso und Arm fließend zu gestalten.

Wie fahren entweder mit unserer Szene fort oder öffnen NURBSbody_06.mb.

Vorbereiten des Sockings über ein Detach von Torso, Brust und Schulter
Wir führen ein Detach des Torsos am Rand des Brustkastens durch, um den Bereich für das Socking ein zu grenzen.
Wir fügen einen horizontalen Isoparm in den Torso ein, welcher an der Brust anliegt und wenden Detach Surface an.
Wir teilen die Brust über Detach in drei Teil über die Isoparms. Danach führen wir ein Detach am Isoparm der Schulter durch.

Nun löschen wir die Surface zwischen Brust und Schulter. Da der Bereich zwischen Brust und Schulter eine Oberfläche als Übergang geben wird, können wir den NURBS Patch direkt dazwischen löschen.

Einfügen von Isoparms zischen die schmalen Streifen im Brustbereich
Wir fügen in jeden kleinen Streifen, dort wo die Brust auf den Torso trifft, einen Isoparm ein und führen ein Detach durch.
Wir löschen nun die kleinen Streifen.

Attach der Brust auf die Schulter
Wie schon erwähnt stellt das Socking einen wichtigen Arbeitsschritt in der Formfindung für unser Modell dar.
Wir führen ein Attach Surface für Brust und Schulter durch. Falls notwendig passen wir den Blend Bias Wert des Attach an oder verwenden das Move Normal Tool, um die Form der Oberflächen Verbindung an zu passen.

Verbinden von Brust und Brustkasten
Wir verbinden den übrigen schmalen Streifen der Brustoberfläche mit der angrenzenden Oberfläche.

Danach löschen wir die Torso Oberfläche hinter der Brust.

Detach von Brust und unterer Torso Surface
Wir führen ein Detach der großen Brust Oberfläche und der Torso Surface darüber durch und zwar an den vertikalen Isoparms.

Wir fahren nun entweder mit unserer bestehenden Szene fort oder öffnen NURBS_06a.mb.

Zusammenfügen von Brust Surface und Torso Surface oberhalb
Wir verbinden über Attach der beiden neuen Brust Surfaces zum Torso oberhalb von diesen.

Führen führen danach eine Detach Operation der Brust Oberfläche, welche wir gerade verbunden haben beim horizontalen Isoparm durch.

Detach der von Brust zum Arm verlaufenden Surface
Viele Oberflächen treffen sich in der Achselhöhle/ Brust Bereich. Um diese Verzweigungen zu handeln, müssen wir beim Bearbeiten der Oberflächen, die von der Brust zum Arm verlaufen, sehr vorsichtig sein.
Wir führen ein Detach der Oberflächen angrenzend zur Brust durch.
Dann fügen wir einen neuen Isoparm nahe der Achselhöhle und damit möglichst nahe zu den Ecken der benachbarten Surface. Dort führen wir ein Detach Surface durch.

Rebuild der Detach Surface
Die eben abgetrennte Oberfläche hat eine internen Isoparm, der nicht optimal liegt, was wir über rebuild glätten.
Wir führen ein Rebuild der Oberfläche durch, so dass wir 2 Spans in U und V haben.

Hinweis: In diesem Fall setzen wir nicht die Keep CVs Option auf On

Nun führen wir eine Attach Operation entlang Oberseite der Brust Surface. Wir verbinden die neu über Rebuild erstellte Surface mit der Torso Surface zu ihr am nächsten. Dann verbinden wir diese neue Surface zur Torso Surface seitlich von ihr.

Danach führen wir ein Detach der eben verbunden Oberflächen durch, an der Brust/ Torso Oberfläche.
Dann führen wir ein Detach entlang dem oberen Bereich der Brust auf dem horizontalen Isoparm durch.

Danach verbinden wir wieder über Attach die Arm/ Brust Surface zum oberen Bereich des Brustkastens.

Detach der seitlichen Brust Oberfläche
Wir führen ein Detach der Brust Surface durch, welche in den Brustkasten übergeht beim zweiten vertikalen Isoparm von links.

Attach (Verbinden) der seitlichen Brust Oberfläche mit der oberen Brust Oberfläche
Wir führen ein Attach der seitlichen Brust Oberfläche zur angrenzenden oberen Brust Oberfläche durch. Dann passen wir den Blend Bias Wert an, um die Form zu korrigieren.

Detach der benachbarten Surfaces
Wir führen ein detach der Surfaces welche vom Brustkasten zur oberen Brust übergehen durch.

Wir fahren entweder mit unserer Szene fort oder öffnen die Szenen Datei NURBSbody_06b.

Wir führen ein Rebuild der Surface oberhalb der Brust durch. Da die seitliche Brust drei Spans in U Richtung hat, macht es Sinn, dass die oberen angrenzenden Brust Surfaces auch drei Spans haben.
Wir wählen die zwei oberen Surfaces und führen ein Rebuild mit drei Spans in U Richtung durch.

Attach der oberen Brust Surface
Wir führen ein Attach für jede der oberen Brust Surfaces zu der Drei-Span-Surface durch.

Delete History
Da wir wiederholt Attach und Detach Operationen durchgeführt haben, hat sich eine unerwünschte History angesammelt. Daher wählen wir Edit – Delete All By Type – History.

Detach der unteren Brusthälfte
Wir führen ein Detach der unteren Brusthälfte bei ungefähr der Hälfte zwischen den vorhandenen Isoparms und dem Brustkasten durch. Dann löschen wir die übrige Surface auf der Rückseite.

Rebuild der unteren Brust und Torso
Wir kommen nun zum Verbinden der unteren Brust Surface mit dem Torso. Bevor wir dies jedoch beginnen, führen wir ein Rebuild beider teile durch. Die untere Brust Surface hat


kommentare:


suche | vollsuche


neu
frohe weihnachten & ein gutes neues jahr 2010
allen studierenden, mitarbeitern und professoren der hfg... [22.12.09 Kurse]

FLOCKING Festival Romaeuropa
Quicktime Streaming des Konzertes vom 24. November... [15.12.09 Ausstellungen]

salon digital kw 51
salon digital | kw 51 | donnerstag 17.12.09... [14.12.09 Kurse]

sprechstunde kw 51 entfällt
sprechstunde kw 51 mittwoch 16.12.09 entfällt leider... [14.12.09 Sprechstunde]

stereo3d trailer studien kw 51
stereo3d trailer studien | kw 51 | dienstag... [14.12.09 Kurse]

IRIDAS speedgrade grading workshop kw 51
IRIDAS speedgrade stereoscopic 3d grading workshop | kw... [14.12.09 Kurse]