Blender Dokumentation: Constraint: IK Solver

Aus Wikibooks
<<<Zurück
Constraint: Script
Inhaltsverzeichnis

Handbuch durchsuchen

Weiter>>>
Constraint: Action


Diese Seite bezieht sich auf Blender v2.42a
Der grüne Bone hat einen IK Solver-Constraint, er wird auch kürzer als Solver bezeichnet. Das Ziel (Target) ist der blaue Bone. Das Target ist nicht an die Kette geparentet. Nur das Target wird animiert.

Der IK Solver-Constraint ist ein großartiges Werkzeug für Animatoren. IK bedeutet "Inverse Kinematic".

  • IK: Alle Bones in einer Kette versuchen so zu rotieren, dass die Enden der Kette die Ziele [Targets] erreichen. Bewegen Sie das Ziel, bewegt sich die gesamte Kette von Bones. Das eine Ziel ist die Wurzel des ersten Bones in der Kette. Für das zweite Ziel weisen Sie dem letzten Bone der Kette einen IK Solver-Constraint zu. Das Ziel des IK Solver-Constraints kann ein anderes Objekt sein, oder ein Bone der nicht zur Kette gehört (nicht an einen Bone der Kette geparentet ist). Der Bone mit dem IK Solver-Constraint wird auch häufig nur IK Solver genannt.

Statt also alle Bones in einer Kette einzeln an ihre Position bringen zu müssen, müssen Sie nur das Target bewegen, und alle anderen Bones folgen. Automatik heißt allerdings weniger Kontrolle über die Bewegungen der einzelnen Bones. Vollkommene Kontrolle über die Bonebewegungen hat man mit „Vorwärts Kinematik“ = FK [Forward Kinematic].

  • FK: Hier gibt es keinerlei Automatismus. Wenn Sie einen Bone bewegen, bewegen sich alle Childs des Bone so, wie Sie es von normalen Child-Parent Beziehungen zwischen Objekten gewohnt sind. Dadurch erhalten Sie die totale Kontrolle über die Position jedes einzelnen Bones. Dafür sind bestimmte Bewegungen ausgesprochen langwierig zu animieren, da man unter Umständen alle Bones einzeln bewegen muss.

Es gibt vielfältige Einstellungsmöglichkeiten für IK-Constraints, außerdem eine Mischform zwischen IK und FK durch Constraints ohne Target. Das wird alles auf dieser Seite besprochen.


IK-Constraints einfügen[Bearbeiten]

IK-Constraints werden im Pose-Modus eingefügt. Es gibt zwei Tastenkombinationen um schnell einen IK-Constraint zu erzeugen:

  • Wählen Sie einen Bone aus und drücken Strg-I - Achtung, ab Version 2.48 Shift-I, können Sie als Ziel [Target] automatisch ein neues Empty erstellen lassen (To new empty Object). Die Option Without Target ermöglicht eine Mischform aus IK und FK, das wird weiter unten erläutert.
  • Wählen Sie zunächst das Ziel [Target] aus, dann mit Shift-RMT den Bone. Drücken Sie nun Strg-I. Bestätigen Sie dann To active Bone bzw. To active Object.

Versionshinweis: In Version 2.48 benützen Sie besser das Menü: Pose->Inverse Kinematics->Add IK to Bone.... Die Tastenkombination ist nicht mehr Strg-I sondern Shift-I.

Mit Alt-I entfernen Sie die IK-Constraints von allen ausgewählten Bones.

Rekursion vermeiden

Das Target eines Constraints darf nicht Teil der Bonekette sein. Sie bekommen bei dem Versuch einen solchen Constraint mit Strg-I zu erzeugen die Fehlermeldung „IK Tip cannot be linked to IK root".


Das Constraints-Panel[Bearbeiten]

Der IK Solver-Constraint
  • Ob: Sie tragen hier den Namen des Target-Objektes ein. Handelt es sich dabei um eine Armature, müssen Sie zusätzlich noch den Namen eines Bones in das Feld Bo: eintragen.

Auto-Vervollständigen

Tragen Sie den ersten Buchstaben des Targetnamens in das Feld ein, und drücken Sie Tab. Ist der Objektname eindeutig, wird er vollständig ergänzt, ansonsten wird der eindeutige Teil des Objektnamens eingetragen, und Sie müssen den Rest selbst ergänzen.



Links ein Constraint mit Rot, rechts ohne.
  • Rot: Ist der Rot-Button gedrückt, übernimmt der Solver die Rotation des Targets.


Links ist die Wurzel, rechts die Spitze des Solvers am Target.
  • Tip: Ob die Spitze [Tip] oder die Wurzel [Root] des Solvers zum Target geführt werden soll.


Einschränkung der IK-Solver Kette mit dem Len-Parameter.
  • Len: Die Länge der Kette, die der IK-Solver beeinflusst. Ist die Länge "0", wird die ganze Kette einbezogen, ist die Länge z. B. 4, werden nur die vier letzten Bones der Kette einbezogen.


Baum-IK: die beiden Targets werden hier abwechselnd bewegt, der Rest geschieht automatisch.
  • Ist Len null, werden alle verbundenen Bones in die IK-Lösung einbezogen. Gibt es ein zweites IK-Target, versucht Blender beide Targets zu erreichen. Dieses Konzept von mehreren Zielen in einer Bonekette wird Baum (Tree)-IK genannt. Im 3D-Fenster sieht man eine gelbe Linie vom IK-Solver bis zur Wurzel der Bonekette, wenn der IK-Solver ausgewählt ist.
  • PosW: Damit können Sie einstellen, wie wichtig ein Target ist, d.h. wie sehr ein Solver versucht, das Target zu erreichen. Sind mehrere Solver in einer Kette, sind in der Voreinstellung alle Targets gleich wichtig.
  • RotW: Dieser Regler stellt die Übernahme der Rotation des Targets für den Solver ein (nur wenn der Rot-Button gedrückt ist).
  • Tolerance/Iterations: Dies sind Optionen, die die Genauigkeit und Lösungsgeschwindigkeit beeinflussen. IK wird in mehreren Durchgängen rekursiv berechnet, je größer die Anzahl an Durchläufen ist, desto größer ist die Genauigkeit. Tolerance ist die Entfernung des IK-Solvers vom Target, die für die Lösung akzeptiert wird. Kommt Blender nahe genug heran, hört die Berechnung auf. Iterations ist die Obergrenze für die Anzahl an Berechnungsdurchläufen pro Frame, egal ob Tolerance erreicht wurde oder nicht.

Die Optionen Influence, Show und Key wurden im Abschnitt Constraints besprochen.


Einsatzmöglichkeiten[Bearbeiten]

Eine Armature zur Bewegung von Beinen und Füßen

IK-Solver-Constraints werden Sie immer dort einsetzen, wo Sie nicht die gesamte Bonekette von Hand animieren wollen, die Enden der Kette aber an einer festen Position bleiben sollen. Das beste Beispiel ist ein Bein: das Bein ist mit dem Körper und dem Fuß verbunden. Den Oberschenkel- und Unterschenkelknochen müssen Sie gar nicht einzeln positionieren, deren Position ergibt sich aus den Positionen von Körper und Fuß.

Freiheitsgrade [Degree of Freedom (DoF)][Bearbeiten]

Anzeige der Freiheit der Bewegung der Spitze des Bones.

Freiheitsgrade [DoF] ermöglichen es, die Bewegung eines Bones in einer IK-Solver-Kette gegenüber seinem Parent einzuschränken (Limit). Das ist sehr nützlich, um die Bewegungsmöglichkeiten eines Knochens zu verringern, bzw. die Achsen sogar festzustellen. Die Bones müssen dazu nicht verbunden sein. Sind X, Y und Z-Rotation geblockt (Lock), nimmt der Bone immer die Orientierung seines Parents an.

Einstellungsmöglichkeiten der Freiheitsgrade


Lock ist eine Abkürzung für Min:0/Max:0.

Sie können auch die Steifheit der Bewegung mit dem Stiff-Parameter einstellen. Haben alle Bones eine Steifigkeit von 1 in X, und Sie versuchen die Kette in X-Richtung rotieren zu lassen, wird der Solver versuchen einen Umweg zu finden.

Stretch ermöglicht das Verkürzen oder die Verlängerung des Bones, damit das Ziel erreicht werden kann. Den Faktor können Sie benutzen, um mehrere elastische Bones mit unterschiedlichen Gewichtungsfaktoren einzusetzen. 1 bedeutet größte Elastizität.

IK-Constraints ohne Target[Bearbeiten]

Manchmal genügt die Kontrolle mithilfe der DOF nicht, dann muss man von Hand die Position der Bones korrigieren.

IK ohne Target
Wenn Sie kein Target eingetragen haben, folgt immer noch die gesamte Kette dem Solver, aber nur bei der interaktiven Bewegung des Solvers im 3D-Fenster. Die übrigen Bones lassen sich noch von Hand rotieren. Sie müssen dann für alle Bones Position und Rotation als Key-Frames speichern. Wenn ein Solver kein Target hat, wird er in Orange gezeichnet.
Auto IK
Mit dieser Option (in den Editing Buttons auf dem Armature Panel) verhält sich jeder Bone den Sie mit G bewegen so, als wäre ihm ein IK-Constraint ohne Target zugewiesen worden. Entsprechend wird er jeweils in Orange gezeichnet. Auch hier müssen Sie für jeden Bone Position und Rotation (und u. U. die Skalierung) speichern.


Links[Bearbeiten]

Die englischsprachige Vorlage dieses Textes
Release Notes zu IK in Version 2.40
*** Animation Workshop ***

<<<Zurück

Constraint: Script

Inhaltsverzeichnis
Glossar
Weiter>>>

Constraint: Action