Blender 200 – Foreward Kinematic & Inverse Kinematic (FK und IK)
In diesem Beitrag geht es um zwei Methoden Bewegungsabläufe zu realisieren. FK (Foreward Kinematic) und IK (Inverse Kinematic). Beide Methoden werden über das Rig (Knochenaufbau) realisiert wobei beide in ganz unterschiedlichen Bereichen eingesetzt werden.
Skills: Easy
Addon: Nein
Download: Im Downloadpaket befinden sich 3 Blender-Files. Die dritte Datei ist ein einfaches fertig geriggtes Skelett. Download via Mediafire.
Das folgende Beispiel erklärt an einem einfachen Bein den Unterschied zwischen der FK (Foreward Kinematic) und der IK (Inverse Kinematik). Die Einsatzgebiete können sich schnell überschneiden. Grundsätzlich ist die Inverse Kinematik (IK) aber bei Lebewesen für die Bewegungsabläufe vorzuziehen.
Der Begriff Kinematic ist aus der Mechanik und bedeutet im Prinzip Bewegung. Foreward Kinematic beschreibt demnach die Bewegung nach/von Vorwärts. Und die Inverse Kinematic ist dann die entgegengesetzte/umgekehrte Bewegung.
Ein Bein
Im Beispielbild unten sind zwei Beine abgebildet. Links das Rigging (Knochenaufbau) für die FK und rechts davon das Rigging für die IK. Es wird sicher jedem gleich auffallen, dass das IK über einen Bone mehr verfügt. Tatsächlich können sogar noch weitere hinzukommen (beispielsweise ein Bone für das Knie). Obwohl das IK über mehr zusätzliches Bones verfügen kann und somit mehr Aufwand für den Aufbau benötigt, macht das IK letztendlich in den Bewegungsabläufen weniger Arbeit (siehe Bild unten).
Im nächsten Bild wird für eine Beinbewegung zunächst das FK (Foreward/vorwärts Kinematic) angewendet. In der Regel beginnt man am Oberschenkel, der die anhängigen Knochen mit sich führt. Es folgen anschließend nacheinander jeder weitere Knochen bis zum Fuß. Es muss also jeder Bone einzeln ausgerichtet werden.
Als Nächstes wird die Inverse Kinematic (IK) eingesetzt. In der Hauptsache versetzt man den zusätzlichen Bone am Fußende und steuert damit das gesamte Bein, inklusive Fuß. Vom unten nach oben, daher inverse Kinematic. Besser gesagt von außen nach innen, vom Körper (dem Zentrum) aus betrachtet. Lediglich der Fuß muss entsprechend nach positioniert werden.
Der Vorteil dürfte leicht zu erschließen sein. Die Arbeit bei der Animation von Bewegungsabläufen kann schnell verlaufen und man muss nicht jeden einzelnen Bone ausrichten, was fummelig sein/werden kann wenn viele Knochen in jedem Schritt naturgetreu aufeinander abgestimmt werden sollen (siehe Bild unten).
Betrachtet man die Bones im Einzelnen so wird das Skelett aus zwei Arten von Knochen bestehen. Da sind die Deformations-Bones und die Mechanical-Bones. Bei der Foreward Kinemati besteht das Skelett wahrscheinlich ausschließlich aus Deformations-Bones. Das sind die Bones die das Bein eines Characters den Knochenpositionen entsprechend verformen. Sie haben direkten Einfluss auf die Anatomie.
Bei der Inversen Kinematic kommen zusätzlich mechanische Bones hinzu die keine direkten Auswirkungen auf die Anatomie eines Chraracters haben, sondern nur die anhängigen Knochen steuern, die dann ihrerseits die Anatomie verformen.
Solche mechanischen Bones sind im kompletten Armature (Skelett) dann auch entsprechend zu benennen. Vor allem wichtig wenn man im Team arbeitet, damit die Bones klar definiert sind und nicht deren Aufgabe mühselig erforscht werden muss. Es haben sich verschiedene Bezeichnungen durchgesetzt. Meist werden den Namen solcher mechanischen Bones die Endung IK angehangen, wenn sie IK-Aufgaben erfüllen. Beispielsweise bein.IK.L (für bein_inverse Kinemativ-Bone_links).
Eine andere kleine Gruppe von Usern wendet statt IK die Bezeichnung MCH (mechanical) an, was die Situation nicht immer klar genug beschreibt. Denn auch ein Bone zum Bewegen des gesamten Characters wäre ein MCH, aber ein MCH muss nicht gleich ein IK-Bone sein. Diese Sorte mechanischer Bones werden dann eher mit dem Namenszusatz Controler kenntlich gemacht. Beispielsweise body_contoler oder body_master_controler.
Inverse Kinematic aufbauen
Am Beispiel des Beins wird hier nun ein sehr simples Rig (Bone Zusammenstellungen) aufgebaut und dem IK entsprechend verbunden. Im Edit-Mode wird das Ende eines Knochens am Fußende markiert und in die entgegengesetzte Richtung Extrudiert (Taste E) wodurch sich ein weiterer Bone bildet (siehe Bild unten).
Noch verfügt der Bone dadurch eine Verbindung mit dem Ursprung, aus dem er extrudiert wurde. Im Edit-Mode wird der gesamte neue Bone markiert und über den Shortcut ALT-P muss das Partening aufgehoben werden (Clear Parent) (siehe Bild unten).
Dann wird in den Pose-Mode gewechselt. Der Pose-Mode kann daran erkannt werden das sich die Bones, wenn man sie markiert grün einfärben. Zuerst wird der spätere IK-Bone markiert dann der Schienbeinknochen (siehe Animation unten).
Mit dem Shortcut SHIFT-STRG-C wird ein Dialogfenster geöffnet aus dem man Inverse Kinematic auswählt (siehe Bild unten).
Durch diese Maßnahme erscheint in der Properties-Panel ganz unten ein neuer zusätzlicher Reiter für die Bone-Constraints (Einschränkungen). Durch das Hinzufügen der IK wurden automatisch das Target (Armature) und der entsprechende Bone eingetragen und das ist in diesem Fall der leg_IK.L, der linke für das IK vorgesehene zusätzliche Beinknochen. Die Chain Length (Länge der Kette) soll 2 (zwei Bones weite Auswirkungen) betragen (siehe Bild unten).
Und wie man sieht funktioniert das Ganze jetzt schon ganz gut (siehe Animation unten).
Im Prinzip ist damit die IK-Kette fertiggestellt. Was vermittelt werden sollte ist aufgebaut und funktionsfähig. Um den schon angesprochenen Unterschied von mechanischen IK-Bones und Controlern noch etwas zu verdeutlichen soll dem Ganzen noch ein Knie hinzugefügt werden, für mehr Kontrolle über das Bein.
Zusätzliche Controler
Das Bein ist funktionstüchtig. Es kann bei gewissen Bewegungen aber noch in Richtungen ausschlagen, die nicht erwünscht sind. Das liegt daran, dass das Bein noch über kein Knie verfügt. Ganz wie in der Natur, ohne Knie würden unsere Beine irgendwohin ausgerichtet sein, ohne Eingrenzung. Solche Eingrenzungen werden dann über Controler vorgenommen.
In der Front- und der Seitenansicht wird der 3D-Cursor so ausgerichtet das er in beiden Ansichten auf der Höhe des Gelenks befindet (siehe Animation unten).
Im Edit-Mode wird der Armature (die Armature musste im Object-Mode ausgewählt sein) über den Shortcut SHIFT-A ein neuer Knochen hinzugefügt (siehe Bild unten).
Der neue Bone wird nun eindeutig benannt. Er soll heißen: knie.L. Hier wird nicht zwingend ein Zusatz benötigt wie knie_controler.L, weil ein Knie spricht für sich (in 90% aller Fälle). Die Seitenbezeichnung am Ende L für Links und R für Rechts bitte immer groß schreiben. Blender kann mit dieser Schreibweise arbeiten! Dazu aber später mehr (siehe Bild unten).
Schauen wir in die Bone Contraint-Settings sehen wir einen Eintrag, der sich Pole Target nennt. Hier wird das vorhandene Skelett (Armature) ausgewählt und von dort ist dann der vorher als knee.L bezeichnete Bone zu wählen.
Möglicherweise rotiert daraufhin das Bein in unkontrollierter Weise. Über Pole Angle kann dieser Zustand aber wieder ausgerichtet werden (siehe Bild unten).
Wechselt man nun in den Pose-Mode und bewegt den Knie-Bone so wandert das Bein in der Richtung mit. Das ist eine Weise das Bein bei Bewegungsabläufen unter Kontrolle zu halten. Selbst wenn es kurzzeitig ausschert kann das Bein über das Knie leicht korrigiert und positioniert werden (siehe Bild unten).
Soweit ein erster Überblick über FK und IK, mit Schwerpunkt auf dem IK weil es im ersten Moment komplizierter im Aufbau wirkt, sich in der Praxis aber schnell bezahlt macht. Insgesamt ist das kein Geheimwissen. IK ist allerdings immer in aller Munde während das FK ein Nischendasein führt und auch oft nicht als FK, sondern simpler Weise einfach als Rigging bezeichnet wird.