Transcript
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


Recommended