4
Vorab einige grundlegende In- formationen zu diesem in 3ds max neuen IK-System und seiner Anwendung. Die Animationskurven von kom- plexen, animierten Bone-Chains werden oftmals schnell sehr un- übersichtlich und sind dann nur noch mit hohem Zeit- und Admi- nistrationsaufwand zu handha- ben. Mit Hilfe der SplineIK kann der User nun die Anzahl der für seine Animation notwendigen Spuren minimieren. Es können dabei mit geringem Aufwand Ex- tremitäten wie Tentakel, lange Haare oder Dreadlocks genauso komfortabel umgesetzt werden wie Schlangen oder Seile. Die SplineIK kann aber auch mit ge- schlossenen Bone-Systemen ar- beiten, sprich diese verwalten. Darüber hinaus fallen die sonst unumgänglichen Justierungen von Rotationswinkeln der zu ani- mierenden Elemente für diese vielgliedrigen Bone-Systeme weg. Die SplineIK zwingt dabei eine Hierarchie von Bone-Objek- ten ihrer Länge nach an eine de- finierte Steuerungskurve. Die je- weilige Hierarchie-Option macht es dabei möglich, alle noch in der Hierarchie folgenden Bones ebenfalls automatisch mit einer SplineIK versehen zu lassen oder sie zum Root zu „linken“. Während die Länge der aktiven Bone-Chain fix ist, kann die Län- ge der Steuerungskurve vari- ieren, wenn deren Vertices be- wegt werden. Es ist meist nicht möglich, aber auch nicht nötig, dass diese beiden Längen kon- gruent sind. Sobald die Kurve en- det, wird die letztendliche Aus- richtung geradlinig weiter ver- folgt. Ist die Steuerungskurve länger als die Bone-Chain, wird die „Überlänge“ ignoriert. Sobald man sich im Manipulator- Modus befindet, erscheinen in- nerhalb des SplineIK-Modells je ein „Griff“ am ersten und letzten Bone der Chain. Dieser Griff am ersten Bone versetzt den Benut- zer in die Lage, die gesamte Bone-Chain um die Steuerungs- kurve zu drehen. Der Griff am letzten Bone dient dazu, wie bei Twist, eine fortschreitende Ver- drehung der Chain zu erzeugen, ohne dabei den ersten Bone zu beeinflussen. Dabei lassen sich die Parameter beider Manipula- toren animieren. Bei der SplineIK verbindet – wie bei den anderen IK-Systemen auch – zur optischen Kontrolle eine Linie die beiden End-Bones und ein blaues Kreuz steht für das IK-System (IK-Goal). Die beim Verwenden der SplineIK gene- rierten und zum Root „gelink- ten“ Helper-Objekte können nach Belieben „geunlinked“ werden, wodurch ein schnelles optisches Setup möglich wird. Bei der automatischen Generie- rung der Steuerungskurve ent- hält diese im Editor-Stack über den SplineIK-Control-Modifier hinaus einen Normalize-Spline- Modifier. Dieser nützliche Modi- fier kalkuliert für den jeweils se- lektierten Spline, ungeachtet der originalen Vertex-Positionen, neue und gleichmäßig über die Kurve verteilte Vertices. Dabei wird die Länge der Segmente über den justierbaren Seg- Length-Spinner bestimmt, wobei kleinere Werte mehr und größe- re Werte weniger Vertices her- vorbringen. Falls eine unregel- mäßige Verteilung der Vertices benötigt wird, kann man den Modifier aus dem jeweiligen Stack löschen. Es ist darauf zu achten, dass die erweiterten Ein- stellungen im SplineIK-User-In- terface nur bei selektierten Start- oder End-Bone zur Verfügung stehen, ansonsten sind diese aus- gegraut. Für ein Arbeiten mit der SplineIK existieren grundsätzlich mehrere Ansätze, basierend auf bereits vorhandenen Setups oder noch zu planenden Bone-Kon- struktionen. Zum einen kann man z. B. über das neue Charac- ter-Menü die Bone-Tools aufru- fen, um dort dann via Create-Bo- nes das im Command-Panel be- findliche Bone-System zu aktivie- ren oder zum anderen direkt über den Aufruf über das Com- mand-Panel ein neues Bones- System auf Basis einer SplineIK etablieren. workshop 3ds max splinelK 130 digital production 1/03 dp Die SplineIK von 3ds max 5.0 In diesem Workshop möchte ich Ihnen die neue Hierarchie-basierte SplineIK-Lösung von 3ds max 5.0 vorstellen. Die Funktion erlaubt dem Operator Animationen komplexer Bone-Chains über lediglich eine Kurve zu etablieren. Im Manipulator-Modus werden am SplineIK-Modell „Griffe“ sichtbar, mit denen sich die Bone-Chain verdrehen lässt (Twist-Angle) Der Normalize-Spline-Modifier Das Testsystem Sony Vaio 417, 2,4 GHz Intel P4, 256 DDR RAM, Asus Geforce4 MX 460 Microsoft Windows XP Home DE SP 1 mit Microsoft DirectX 8.1, Discreet 3ds max 5.0 (e) final Ein Dank für die Unterstützung geht an Sabine Emmerling, Johannes Friebe von Discreet (www.discreet.de), Erich Menacher von Outside Professional (www.outside-professional.de) und an Jan Balzereit von Network Nation (www.network-nation.de).

Die SplineIK von 3ds max 5 - seigraph.com · 3ds max splinelK workshop dp 1/03 digital production 131 Darüber hinaus ist bei allen ge-nannten Varianten das Setzen der Option „Assign

Embed Size (px)

Citation preview

Page 1: Die SplineIK von 3ds max 5 - seigraph.com · 3ds max splinelK workshop dp 1/03 digital production 131 Darüber hinaus ist bei allen ge-nannten Varianten das Setzen der Option „Assign

Vorab einige grundlegende In-formationen zu diesem in 3dsmax neuen IK-System und seinerAnwendung.Die Animationskurven von kom-plexen, animierten Bone-Chainswerden oftmals schnell sehr un-übersichtlich und sind dann nurnoch mit hohem Zeit- und Admi-nistrationsaufwand zu handha-ben. Mit Hilfe der SplineIK kannder User nun die Anzahl der fürseine Animation notwendigenSpuren minimieren. Es könnendabei mit geringem Aufwand Ex-tremitäten wie Tentakel, langeHaare oder Dreadlocks genausokomfortabel umgesetzt werdenwie Schlangen oder Seile. DieSplineIK kann aber auch mit ge-schlossenen Bone-Systemen ar-beiten, sprich diese verwalten.Darüber hinaus fallen die sonstunumgänglichen Justierungenvon Rotationswinkeln der zu ani-mierenden Elemente für diesevielgliedrigen Bone-Systemeweg. Die SplineIK zwingt dabeieine Hierarchie von Bone-Objek-ten ihrer Länge nach an eine de-finierte Steuerungskurve. Die je-weilige Hierarchie-Option machtes dabei möglich, alle noch in derHierarchie folgenden Bones

ebenfalls automatisch mit einerSplineIK versehen zu lassen odersie zum Root zu „linken“.Während die Länge der aktivenBone-Chain fix ist, kann die Län-ge der Steuerungskurve vari-ieren, wenn deren Vertices be-wegt werden. Es ist meist nichtmöglich, aber auch nicht nötig,dass diese beiden Längen kon-gruent sind. Sobald die Kurve en-det, wird die letztendliche Aus-richtung geradlinig weiter ver-folgt. Ist die Steuerungskurvelänger als die Bone-Chain, wirddie „Überlänge“ ignoriert.Sobald man sich im Manipulator-Modus befindet, erscheinen in-nerhalb des SplineIK-Modells jeein „Griff“ am ersten und letztenBone der Chain. Dieser Griff amersten Bone versetzt den Benut-zer in die Lage, die gesamteBone-Chain um die Steuerungs-kurve zu drehen. Der Griff amletzten Bone dient dazu, wie beiTwist, eine fortschreitende Ver-drehung der Chain zu erzeugen,ohne dabei den ersten Bone zubeeinflussen. Dabei lassen sichdie Parameter beider Manipula-toren animieren.Bei der SplineIK verbindet – wiebei den anderen IK-Systemen

auch – zur optischen Kontrolleeine Linie die beiden End-Bonesund ein blaues Kreuz steht fürdas IK-System (IK-Goal). Die beimVerwenden der SplineIK gene-rierten und zum Root „gelink-ten“ Helper-Objekte könnennach Belieben „geunlinked“werden, wodurch ein schnellesoptisches Setup möglich wird.Bei der automatischen Generie-rung der Steuerungskurve ent-hält diese im Editor-Stack überden SplineIK-Control-Modifierhinaus einen Normalize-Spline-Modifier. Dieser nützliche Modi-fier kalkuliert für den jeweils se-lektierten Spline, ungeachtet deroriginalen Vertex-Positionen,neue und gleichmäßig über dieKurve verteilte Vertices. Dabeiwird die Länge der Segmenteüber den justierbaren Seg-Length-Spinner bestimmt, wobeikleinere Werte mehr und größe-re Werte weniger Vertices her-vorbringen. Falls eine unregel-mäßige Verteilung der Verticesbenötigt wird, kann man denModifier aus dem jeweiligenStack löschen. Es ist darauf zuachten, dass die erweiterten Ein-stellungen im SplineIK-User-In-terface nur bei selektierten Start-oder End-Bone zur Verfügungstehen, ansonsten sind diese aus-

gegraut. Für ein Arbeiten mit derSplineIK existieren grundsätzlichmehrere Ansätze, basierend aufbereits vorhandenen Setups odernoch zu planenden Bone-Kon-struktionen. Zum einen kannman z. B. über das neue Charac-ter-Menü die Bone-Tools aufru-fen, um dort dann via Create-Bo-nes das im Command-Panel be-findliche Bone-System zu aktivie-ren oder zum anderen direktüber den Aufruf über das Com-mand-Panel ein neues Bones-System auf Basis einer SplineIKetablieren.

workshop 3ds max splinelK

130 digital production 1/03

dp

Die SplineIK von 3ds max 5.0In diesem Workshop möchte ich Ihnen die neueHierarchie-basierte SplineIK-Lösung von 3dsmax 5.0 vorstellen. Die Funktion erlaubt demOperator Animationen komplexer Bone-Chainsüber lediglich eine Kurve zu etablieren.

Im Manipulator-Modus werden am SplineIK-Modell „Griffe“ sichtbar, mit denen sich dieBone-Chain verdrehen lässt (Twist-Angle)

Der Normalize-Spline-Modifier

Das TestsystemSony Vaio 417, 2,4 GHz Intel P4, 256 DDR RAM,

Asus Geforce4 MX 460Microsoft Windows XP Home DE SP 1 mit Microsoft DirectX 8.1,

Discreet 3ds max 5.0 (e) finalEin Dank für die Unterstützung geht an Sabine Emmerling,

Johannes Friebe von Discreet (www.discreet.de), Erich Menachervon Outside Professional (www.outside-professional.de) und an

Jan Balzereit von Network Nation (www.network-nation.de).

Page 2: Die SplineIK von 3ds max 5 - seigraph.com · 3ds max splinelK workshop dp 1/03 digital production 131 Darüber hinaus ist bei allen ge-nannten Varianten das Setzen der Option „Assign

dpworkshop3ds max splinelK

1/03 digital production 131

Darüber hinaus ist bei allen ge-nannten Varianten das Setzender Option „Assign to Children“empfohlen. Sobald die Bone-Creation mit der rechten Mau-staste abgeschlossen wird, öffnetsich der SplineIK-Solver-Dialog

beitet, verfeinert und dann ver-wendet werden. Auf dem drittenWeg – er wird bei bereits vorhan-denen Bone-Systemen verwen-det – eröffnen sich flexiblere „Zu-griffsmöglichkeiten“ innerhalbdes Generierungsprozesses, da-her möchte ich diese Methodenun ein wenig genauer vor-stellen.

Wir starten 3ds max 5 und kreie-ren im Command-Panel unter„Create / Shape“ eine Linie imFront-View. Wichtig ist natürlichwie immer ein regelmäßiges Zwi-schenspeichern. Dabei beginnenwir rechts oben im Front-Viewund fertigen einen vertikalen„Slalom-Kurs“ (wie in der Abbil-dung zu sehen) basierend auffünf Vertices an. Im Command-Panel-Display schalten wir unter„Display Properties“ nun nochdie Vertex-Ticks hinzu, um bei derfolgenden Aktion eine besseresoptisches Feedback zu erhalten.Wir wechseln jetzt innerhalb desCommand-Panels auf die Modi-fier-Sektion und wählen bei se-lektierter Kurve den bereits be-schriebenen Normalize-Spline-Modifier. Nachdem wir einenWert mit zufriedenstellendemHelper-Ergebnis ermittelt haben(bei mir lag dieser bei 30), rufenwir (ebenfalls mit weiterhin se-lektierter Kurve) den SplineIK-

Control-Modifier auf, wählenunter Link-Types „Link All toRoot“ aus und betätigen denCreate-Helpers-Button. Hierauferscheint eine Liste mit Knot-und Point-Zuweisungsinforma-tionen – und wenn alles ge-klappt hat sind die Helper jetztim Viewport zu sehen. Wermöchte, kann bei den Helpernunter diversen optischen Darstel-lungen wechseln (siehe Kastenzum SplineIK-Control-Modifier)oder wenn nötig die Darstel-lungsgröße anpassen, bezie-hungsweise auf „relativ“ stellenNun wechseln wir wieder in dasCreate-Panel zur Rubrik „Sy-stems“ und betätigen den Bo-nes-Button. Wir legen – wie inder Abbildung zu sehen – eben-falls im Front-View neben unse-rer präparierten Kurve unsereBone-Chain an. Wichtig dabei ist,dass unter dem IK-Chain-Assign-ment-Dropdown die Option „Hi-story Dependent“ ausgewählt ist(eine IK würde in unserem Fallnur unerwünschte Ergebnisseproduzieren) und der Haken für„Assign to Children“ nicht ge-setzt ist. Die Einstellungen zuden Bone-Volumen und -Finskönnen hierbei nach Beliebengewählt werden. Für diese kleineÜbung eignen sich der Übersicht-lichkeit halber die Default-Vari-anten am besten.Jetzt wählen wir bei aktiver Se-lektion des ersten Bones über

(die dort befindlichen Optionensind in der Abbildung des Dialo-ges im Detail erläutert), in demdann Parameter wie beispiels-weise die Generierung derSteuerungskurve und deren -Typfestzulegen sind. Nach Bestäti-gung mit „Ok“ ist das SplineIK-System dann etabliert und kannanimiert, gegebenenfalls überar-

Der Basis-Spline mit zugeschalteten Vertex-Ticks

Das Bone-Tools-User-Interface von 3dsmax

Der Bone-System-Dialog von 3ds max 5

Arbeiten mit der SplineIK

Page 3: Die SplineIK von 3ds max 5 - seigraph.com · 3ds max splinelK workshop dp 1/03 digital production 131 Darüber hinaus ist bei allen ge-nannten Varianten das Setzen der Option „Assign

workshop 3ds max splinelK

132 digital production 1/03

dp

Animation im Hauptmenü unterder Rubrik IK-Solvers die IK-Vari-ante: SplineIK-Solver. Nachdemdies geschehen ist, zeigt sich zwi-

schen Mausspitze und Bone-Chain-Mitte eine Linienart, diean das Polygon-Modeling erin-nert.

Die durch den SplineIK-Control-Modifier generierten Helper-Objekte Über UI der Bone-Tools wird das Bone-Editing „leichtgemacht“

Die Linking-Linien der SplineIK

Einer der Wege zum SplineIK-Solver führt über das Hauptmenü

Das User Interface

Spline OptionsIK Name: Ein Feld für die jewei-lige Namensgebung der Spline-IK-Lösung.Auto Create Spline: Generierteine dem Bone-Chain-Shape an-genäherte Kurve. Diese Optionist zwingend zu verwenden, dasonst alle anderen Optionenausgegraut werden.Curve Type: Hier werden die un-terstützten Kurven-Typen, wieBezier, Nurbs Point und NurbsCV zur Auswahl angeboten.Number of Spline Knots: Dientder Bestimmung der Anzahl derVertices des resultierendenSteuerungs-Splines. Default-mäßig wird die Anzahl der Ver-tices der vorab gewählten Kurveübernommen, wobei kein Zu-sammenhang mit der Zahl derzu verwendenden Steuerungs-

elemente existiert. Möchte manein Animationsvorhaben ver-einfachen, sollte man eine deut-lich geringere Zahl anstreben.

Helper OptionsCreate Helpers: Generiert Hel-per-Objekte für jeden derSteuerungs-Spline-Vertices.Display: Der hier verwendeteFunktionsumfang entsprichtdem im Helper-Panel. Es existie-ren vier Darstellungstypen: Cen-tral Marker (ein kleiner X-Mar-ker), Axis Tripod (das Koordina-tenkreuz, das bestehen bleibt,selbst wenn der Helper abge-wählt wird), Cross (ein Kreuz)und Box (die bekannte Box), diesich in jeder Art und Weise mi-xen lassen und auch eineGrößeneinstellung aufweisen.Bei „Draw on Top“ wird der je-weilige Helper optisch vor oder

Das User Interface des SplineIK-SolversDer SplineIK-Solver im Motion-Panel

Page 4: Die SplineIK von 3ds max 5 - seigraph.com · 3ds max splinelK workshop dp 1/03 digital production 131 Darüber hinaus ist bei allen ge-nannten Varianten das Setzen der Option „Assign

dpworkshop3ds max splinelK

1/03 digital production 133

Mit dieser Linie klicken wir jetztzuerst den End-Bone an, woraufkurz vor diesem in der Chain dasbesagte blaue IK-Goal erscheint,und dann auf unsere präparierteKurve, woraufhin unsere Bone-Chain sich zur Kurve bewegt undanpasst. Im Command-Panelspringt die Anzeige zum Motion-Modul, wo sich ein weiterer Spli-neIK-Dialog befindet. Wir wech-seln jetzt den Viewport zum per-spektivischen Viewport undschauen uns das Ergebnis an.Wenn man die Helper-Objektejetzt bewegt, ist auffällig, wie„aufeinander abgestimmt“ sichdie Bones aufgrund der SplineIK-Solution zueinander verhalten.Über die reduzierten Helperkann nun übersichtlich animiertwerden.Wir können jetzt noch die Bone-Tools öffnen (ebenfalls unter„Character“), um die Bone-Chainmit einem Gradient zu versor-gen. Bei dieser Gelegenheit kön-nen wir uns die Manipulatorenam Start- sowie End-Bone an-schauen und mit der Twist-Funk-tion spielen. Ich fand insbeson-dere die animierbare Scaling-Möglichkeit sehr interessant.Wie vieles ist auch diese Einstel-lung „keyable“.Oftmals dauert ein „handge-machtes“ Setup für solche kom-plexe Knochenstrukturen meh-rere Tage, wenn nicht sogar Wo-chen. In diesem Fall haben wir esbinnen weniger Minuten ge-schafft. Im Umfang von 3ds maxsind einige weiterführende Bei-spiele enthalten, die darüberhinaus auch auf das folgendeSkinning und dessen Optimie-rung eingehen. Es folgen jetztnoch ein paar allgemeinere so-wie auch spezielle Informatio-nen zu SplineIK.

Eine erweiterte Methode desArbeitens mit der SplineIK undConstraints für beispielsweisePfad-Animationen sei hier nochkurz angerissen. Sofern man, wiein unserem dritten Workflow,bereits einen mit Normalize Spli-

ne, SplineIK-Control und Helpernversehenen Steuerungs-Splineerzeugt hat, kann man unter Zu-hilfenahme von Pfad- und Posi-tion-Constraint erweiterte Funk-tionen nutzen. Beim Pfad-Con-straint bieten sich die schon be-kannten Parameter an, bei ei-nem Position-Constraint bietensich dann allerdings vielfältigereAnimationsmöglichkeiten fürdas eigentliche Modell. Hinweisezum Workflow solcher Animati-onsvarianten finden sich aus-führlich in der User-Referenz.

Es ist sehr wichtig, sich vor demArbeiten mit der SplineIK darü-ber Klarheit zu verschaffen, wieviele Helferobjekte man letztenEndes benötigt. Achten Sie dabeistets darauf, dass die Create-Hel-per-Funktion angewählt ist. Na-turgemäß wird man zu Beginnviel ausprobieren, aber mit derZeit bekommt der User ein Ge-fühl dafür, wo und welche Hel-per für das Kreieren von bei-spielsweise notwendigen Shape-Schritten notwendig sind. Wennman allerdings mit Helpern „umsich wirft“, verkehrt sich die Spli-neIK ins Gegenteil, da dann derbeseitigt geglaubte Aufwandbezüglich Überschaubarkeit undAnimationseinstellungen wie-derkehrt.Ich hoffe, ich habe durch dieseÜbung und die zusätzlichen In-formationen zur SplineIK Inter-esse für diese recht nützlicheIK-Lösung wecken können. Derintuitive Workflow, die fle-xiblen Funktionen für Bonesund die Einstellungsmöglich-keiten im SplineIK-Control-Mo-difier machen die Komponentezu einem praktischen Werk-zeug. Wenn sich also die näch-sten Tentakeln nach Ihnenrecken, könnten diese schonmit der SplineIK von 3ds max 5animiert worden sein ... VielVergnügen beim Ausprobierendieser 3ds-max-Funktion.

Erik Seidel [email protected] SeiGraph media

hinter den Szenenelementengeneriert. Mit „Constant ScreenSize“wird beim Zoomen stetseine relative Größe der Helper-Objekte zum Betrachter ge-währleistet.

SplineIK Control Modifier

SplineIK Control ParametersControl Objects: Die Liste bein-haltet (nach der Generierung)die aktuellen Helper und derenkoalierende Punkte des selek-tierten Steuerungs-Splines.Create Helpers: Über den Buttonlöst man die automatische Er-stellung der Helper aus. Einnützlicher Nebeneffekt der Spli-neIK-Control-Funktion ist dieMöglichkeit, sich auch für ande-re Zwecke Helper ausgeben zulassen. Link Types: Hier kannman IK-Abhängigkeiten überdrei Link-Typen wählen, No Link,Link All to Root und Link All inHierarchy.SplineIK Solver im Motion PanelSpline IK Solver: Verfügt überein Dropdown für den Solver-Typ, einen On-/Off-Button, ei-nen Pick-Shape-Button und un-ter „Bone Joints“ über die Mög-lichkeit, ebenfalls via Pick Start-und End-Bone festzulegen. IKSolver Properties: Hier lassensich Twist-Start- und -End-Anglenebst einer Pick-Button-Funkti-on für einen optionalen Up-node (auch mit On-Off) festle-

gen IK Display Options:Auch hier sind im Display-Dropdown Twist-Options.

Der SplineIK-Control-Modifier

Das Scaling im Manipulator-Modus wird ebenfalls unterstützt

SplineIK inside

Wichtig: Anzahl Helferobjekte