Blender Dokumentation: Stride Path 2.41
Diese Seite bezieht sich auf Blender v2.41 |
Von dieser Seite gibt es eine aktuellere Version |
Stride Support [schreiten, Unterstützung für Schritte] löst ein sonst kompliziertes Koordinationsproblem. Wenn sich ein Körper durch eine Aktion ein bestimmtes Stück in horizontaler Richtung bewegt, wann muss dann die nächste Aktion erfolgen, damit Aktion und Vorwärtsbewegung immer synchronisiert sind?
Zwei einfache Beispiele dazu:
- Ein Rad oder ein Ball, der auf einer Fläche rollt, legt bei einer bestimmten Anzahl von Umdrehungen eine bestimmte Strecke zurück.
- Beim Gehen wird mit jedem Schritt eine bestimmte Strecke zurückgelegt.
Es ist zwar einfach eine Einzelbewegung zu synchronisieren, aber was ist, wenn das Objekt auf dem Weg schneller oder langsamer werden soll? Beim Gehen kommt ein weiteres Problem hinzu, bleibt doch der Fuß für eine bestimmte Zeit am Boden stehen. Für das erste Problem benötigen wir nur einen Stride Path, für das zweite zusätzlich einen Stride Bone. Daher werden wir uns zunächst mit dem Rad-Problem beschäftigen, weil es einfacher zu lösen ist. Der einfachere Weg ohne Stride Bone kann auch dann benutzt werden, wenn der Fußkontakt mit dem Boden nur kurz - oder nicht zu sehen ist.
Eine Alternative zum Stride Bone ist der Deform Modifier. Er ist leichter aufzusetzen, die Geschwindigkeit entlang des Pfades ist aber nicht so einfach einzustellen.
Beispiel 1: Stride Path
BearbeitenBeginnen Sie mit einer neuen Blenderdatei, entfernen Sie den Würfel. Wechseln Sie in die Seitenansicht (Num-1). Fügen Sie eine Armature hinzu, ein Bone ist genug. Wechseln Sie in den Pose-Modus. Wählen Sie den Bone aus.
Splitten Sie das 3D-Fenster, wechseln Sie in den Action Editor. Fügen Sie eine neue Aktion hinzu, nennen Sie sie "RotCW". Fügen Sie für den Bone fünf IPO-Keys ein. Der erste Key in der Grundstellung (I->Rot), und dann jeweils rotiert um 90 Grad im Uhrzeigersinn. Drücken Sie Alt-A im 3D-Fenster rotiert der Bone um seine eigene Achse. Diese Aktion ist zwar sehr simpel, kann aber alles Wesentliche zeigen.
Wechseln Sie im 3D-Fenster in die Draufsicht (Num-7). Mit Space->Add->Curve->Path fügen Sie einen Pfad ein. Wir könnten auch eine Bezier- oder Nurbs-Kurve benutzten, müssten allerdings später noch eine Speed-IPO Kurve hinzufügen. Der Path hat bereits eine Speed-IPO Kurve, daher benutzen wir ihn hier.
Der Path befindet sich im Edit-Modus, wechseln Sie mit Tab in den Objekt-Modus. Wählen Sie die Armature aus (RMT). Die Armature befindet sich noch im Pose-Modus, wechseln Sie jetzt in den Objekt-Modus.
Mit Shift-RMT wählen Sie den Path aus, Strg-P um die Armature an den Path zu parenten. Wählen Sie Follow Path. Ein Modifier funktioniert nicht für unsere Zwecke. Wenn Sie nun im 3D-Fenster Alt-A drücken, dreht sich der Bone einmal um die eigene Achse, und wird innerhalb von 100 Frames über die Strecke des Pfades verschoben.
Um das "Rad" zu symbolisieren, fügen Sie in Seitenansicht einen Circle mit 8 Vertices ein, benützen einen SubSurf Modifier Level 2, und skalieren den Circle auf einen Durchmesser von genau zwei Blendereinheiten. Wechseln Sie mit der Armature in den Pose-Modus und parenten Sie den Circle an den Bone (Abbildung 12). Jetzt bewegen sich Armature und Circle synchron.
Nun (erst) kommen wir zum Stride Path. Der Circle soll sich bei einer Bewegung genau so weit am Pfad entlang bewegen, wie seinem Umfang entspricht. In der Stride Path Logic: nachdem sich die Armature die Distanz Stride am Pfad entlang bewegt hat, soll die Aktion wiederholt werden. Die Distanz Stride muss offensichtlich der Circleumfang sein - nach einer vollen Umdrehung befindet sich das Rad wieder in Ausgangsstellung und die Aktion wird wiederholt.
Bei einem Kreis mit bekanntem Durchmesser ist der Umfang leicht zu bestimmen, er beträgt (Durchmesser*Pi), in diesem Fall also (2 Blendereinheiten * 3.142 = 6.284 Blendereinheiten). Diesen Wert müssen wir als Stride Wert benutzen. Wechseln Sie in den NLA Editor, fügen Sie die "RotCW" Aktion für dir Armature hinzu. Schalten Sie in den NLA Modus (das kleine Männchen-Icon anklicken, nicht vergessen, sonst funktioniert es nicht!). Bei aktiver "RotCW" Aktion drücken Sie N, das Transform Properties Panel erscheint. Schalten Sie Stride Path an und setzen Sie den Stride Wert auf "6.284" (Abbildung 13).
Die Rollbewegung und die Vorwärtsbewegung des Circles sind nun synchronisiert. Nach jeweils 6.284 Blendereinheiten hat sich der Circle um sich selbst gedreht. Verlängern Sie den Pfad im Edit-Modus und bringen Sie ihn in die gewünschte Form. Das "Rad" rollt langsam los und hält langsam an. Um die Geschwindigkeit entlang des Pfades anzupassen, wechseln Sie bei aktivem Path in den IPO Curve Editor und wählen den IPO Type Path. Die Speed Kurve ist erfreulicherweise nicht wirklich die Geschwindigkeit, sondern die relative Position entlang des Pfades. Bearbeiten Sie die Speed Kurve (Strg-LMT fügt neue Punkte hinzu), ändert sich die Position entlang des Pfades entsprechend. Auf waagerechten Abschnitten steht das Objekt, auf steilen Abschnitte bewegt es sich schnell (Abbildung 14). Rotation und Vorwärtsbewegung bleiben synchronisiert!
Nützliche Tips:
- Vor dem Parenten an eine Kurve sollten Sie auf eine Armature Strg-A anwenden (Apply size and rotation).
- Schalten Sie Curve Follow für die Kurve aus, behält die Armature ihre Orientierung im Raum, blickt also immer in die gleiche Richtung.
- Um den Ursprung anzupassen, wenden Sie auf die Armature Alt-O an.
- Wollen Sie den Start- und Endpunkt einer Kurve umkehren, wählen Sie im Edit-Modus alle Punkte aus, rufen mit W das Specials-Menü auf und wählen Switch Direction.
- Die Frameanzahl der Pfadanimation stellen Sie nicht über die Path Len der Kurve ein, sondern über die Länge der Speed IPO Kurve.
Der Lohn der Mühe - das Rad folgt der Kurve, alle globalen Bewegungen des Rades können über die Kurve vorgenommen werden (Abbildung 15). Die Speed-IPO der Kurve ist hier gleichmäßig, also nicht die aus Abbildung 14.
Beispiel 2: Stride Bone
BearbeitenWie Sie in unserem ersten Beispiel gesehen haben, läuft das Armature Objekt gleichmäßig den eingestellten Pfad entlang. Damit ein Bone scheinbar am Boden stehenbleibt, muss eine entgegengesetzte Bewegung hinzukommen, die die Gesamtbewegung der Armature aufhebt. Um diese entgegengesetzte Bewegung zu definieren, benutzt man den Stride Bone. Die Gesamtbewegung des Stride Bone (in Blendereinheiten) vom ersten bis zum letzten seiner IPOs bestimmt den Stride Parameter, der bei gesetztem Stride Bone überschrieben wird.
Wir benutzen hier ein ganz einfaches Beispiel, dass sicherlich vielfältig zu verbesseren wäre. Ein Fuß mit Unterschenkel soll zunächst auf der Stelle, dann vorwärts hüpfen.
Setup:
- Öffnen Sie eine neue Szene, entfernen Sie den Würfel und wechseln in die Seitenansicht (Num-1). Fügen Sie eine Armature hinzu, rotieren Sie den Bone um 180°. Extrudieren Sie den zweiten Bone 1/2 Blendereinheit im 90° Winkel nach rechts. Bringen Sie den Cursor auf die Spitze des neuen Bones (Shift-S->Cursor to Selection). Fügen Sie einen neuen Bone hinzu (Space->Add->Bone), dieser soll IK-Solver werden. Rotieren und skalieren Sie den IK-Solver Bone nach Wunsch (Abbildung 16).
- Benennen Sie die Bones um, der erste Bone erhält den Namen "LowLeg", der zweite den Namen "Foot", der dritte den Namen "IK-Solver".
- Wechseln Sie in den Pose Mode.
- Wählen Sie den "IK-Solver" Bone aus, dann mit Shift-RMT den "Foot". Strg-I->Add IK-Constraint fügt das entsprechende Constraint zum "Foot" Bone hinzu. Unser "Rig" ist fertig, jetzt kommt das Posen.
Posen erstellen:
- Splitten Sie das 3D-Fenster, im rechten 3D-Fenster wechseln Sie in den Action Editor. Fügen Sie eine neue Action ein, nennen Sie diese "Hop".
- Die Posen werden jeweils für den "LowLeg" und "IK-Solver" Bone erstellt, der "Foot" wird automatisch bewegt. Vier einzelne Posen werden erstellt (Abbildung 17), die erste Pose wird am Schluss noch einmal eingefügt, so dass sich 5 IPOs ergeben. Diese werden in den Frames 1, 11, 31, 51 und 61 eingefügt.
Nach all diesen Vorbereitungen wird jetzt endlich der Stride Root eingefügt:
- Fügen Sie im Edit-Modus einen neuen Bone zur Armature hinzu, nennen Sie ihn "Stride Root". Der "Stride Root" Bone muss andersherum orientiert sein als der "Foot" Bone. Die genaue Positionierung des Bone auf der X-Achse ist in diesem einfachen Beispiel egal, sonst können Sie ein Empty benutzen um die Bones genau passend zu positionieren.
- Jetzt wechseln Sie in den Pose-Modus und fügen Posen für den Stride-Bone zu der Aktion "Hop" hinzu.
Wie der Stride Bone funktioniert:
- Steht der Stride Bone im Pose-Modus still, steht auch das Armature-Objekt still auf dem Pfad. Der Stride Bone gleicht dann die Vorwärtsbewegung entlang des Pfades aus.
- Bewegen Sie den Stride Bone vorwärts, bewegt sich auch das Armature-Objekt vorwärts (wenn Sie den Bone richtig positioniert haben).
- Bewegen Sie den Stride Bone rückwärts, bewegt sich auch das Armature-Objekt rückwärts.
- Synchronisieren Sie den Stride Bone mit einem Punkt der Armature (einem Gelenk eines Bones), bewegt sich dieser Punkt nicht entlang des Pfades, scheint also auf dem Pfad zu stehen. Das können Sie natürlich nicht für den gesamten Bewegungsablauf machen, da sich die Armature dann gar nicht im Ganzen bewegen würde.
- Die Gesamtstrecke, die der Stride Bone zwischen seinem ersten und letztem IPO zurücklegt, bestimmt die Stride Länge, also nach welcher Strecke die Aktion wiederholt wird.
- Wir synchronisieren den Stride Bone mit der Spitze des "Foot" Bones für die Frames 1-11 und 51-61. Definieren Sie folgende Location-Posen (I->Loc) für den Stride-Bone:
- Frame 1: Stellung in der Grundposition.
- Frame 11: Der Bone soll in dieser Position bleiben, da der Fuß erst nach Frame 11 abhebt. Also wieder eine Pose in der Grundposition.
- Frame 51: Das Bein soll sich zwischen Frame 11 und Frame 51 nach vorne bewegen. Also müssen wir den Stride Bone die gewünschte Strecke nach vorne bewegen. Bewegen Sie den Stride Bone eine Blendereinheit in Bewegungsrichtung und fügen den nächsten IPO ein.
- Frame 61: Der Fuß steht wieder auf dem Boden, daher fügen Sie hier den nächsten IPO an der gleichen Stelle ein.
Der Stride Bone "zuckt" später etwas seltsam herum, das ist aber nicht schlimm. Wollen Sie das vermeiden, müssen Sie in Frame 11 anfangen.
Einfügen des Pfades:
- Wechseln Sie in den Objekt-Modus und in die Draufsicht (Num-7).
- Space->Add->Curve->Path.
- Wechseln Sie in den Objekt-Modus, wählen zunächst im Objekt-Modus die Armature aus und mit Shift-RMT den Pfad.
- Parenten Sie die Armature an die Kurve (Strg-P->Follow Path). Drücken Sie nun im 3D-Fenster Alt-A, führt die Armature eine Hüpfbewegung aus und bewegt sich entlang des Pfades.
Im NLA Editor wird jetzt die eigentliche Logik hinter der Bewegung eingestellt:
- Shift-A->Add Action->Hop
- Wechsel in den NLA-Modus (LMT auf das kleine Männchen).
- N um das Transform Properties Panel aufzurufen.
- Aktivieren von Stride Path, Y als Achse für den Stride Bone.
- Tragen Sie den Namen des Stride Bone in das entsprechende Feld ein ("StrideRoot"), oder markieren Sie im Pose Modus der Armature den "StrideRoot" Bone, und klicken im Armature Bones Panel auf Stride Root. Dann wird der Name des Bones auf dem Transform Properties Panel eingetragen.
Drücken Sie Alt-A im 3D-Fenster, oder Shift-Alt-A im NLA Editor, bewegt sich die Armature hüpfend den Pfad entlang. Diese Bewegung kann jetzt auf "globaler" Ebene weiter beeinflusst werden, ohne dass wir die Posen ändern müssten.
Beeinflussen der Bewegung mit Stride Bones
BearbeitenWählen Sie im Pose-Modus einen Bone aus, drücken W und wählen Calculate Paths wird der vom Bone genommene Weg mit einer grauen Linie gezeichnet (Abbildung 21).
Der Speed-IPO der Kurve bestimmt wieder die Geschwindigkeit der Bewegung entlang der Kurve. Mit einem Stride Bone kann jetzt zusätzlich die Stride Entfernung und der Ablauf der Bewegung, also in unserem Beispiel die Größe jedes Sprunges, eingestellt werden. Wählen Sie den Stride Bone im Pose-Modus aus, und wechseln Sie in den Ipo Curve Editor (Abbildung 22). Stellen Sie LocY auf 2, ist der Sprung doppelt so weit und dauert doppelt so lange, stellen Sie LocY auf 0.5 entsprechend schneller und kürzer.
Verändern Sie die Kurvenform können Sie den Charakter der Bewegung anpassen, sie dehen oder stauchen. Auf der Seite Blender Stride Tutorial ist das einmal vollständig durchdekliniert worden.
Kurzzusammenfassung
Bearbeiten- Für eine Armature wird im Pose-Modus eine Aktion auf der Stelle erstellt.
- Ein Stride Path ist eine Kurve, die ein Speed-IPO besitzt, in der Regel ein Curve->Path Object.
- Das Armature-Objekt wird im Objekt-Modus an die Kurve geparented, damit folgt es der Kurve. Ein Follow Path Constraint funktioniert hier nicht.
- Ein Objekt wird wie üblich mit den Bones verbunden. Nach einer bestimmten, abzumessenden Strecke in Blendereinheiten soll die Aktion wiederholt werden. Die Strecke, nach der die Aktion wiederholt werden soll, ist der Parameter Stride.
- Die Aktion wird im NLA-Editor hinzugefügt, der NLA-Editor muss sich im NLA-Modus befinden.
- Im Transform Properties Panel wird für die Aktion Stride Path angestellt und der Stride Parameter gesetzt.
- Ein Stride Bone erlaubt die genauere Synchronisation von Bones mit der Objektbewegung der Armature. Damit können Bones "festgehalten" werden, während sich das Armatureobjekt entlang des Pfades bewegt.
- Der Stride Bone wird nicht geparented oder sonstwie mit den anderen Bones verbunden, er nimmt lediglich an der Aktion teil.