Umgekehrte Kinematik (IK) ist eine häufige Technik in der Computeranimation, um Charaktere effizient mit ihrer Umgebung realistisch zu bewegen und zu interagieren.Der Prozess der Erstellung einer realistischen Bewegung für einen Charakter erfordert oft viele Iterationen und kleine Anpassungen der verschiedenen Gelenke.Mit IK kannst du mehrere Charakterteile posieren und animieren, indem du ein einzelnes Objekt posierst oder anpasst.
Diese Animationstechnik kann Lösungen für die folgenden Beispiele liefern:
IKSteuerung
Du kannst ein IKControl verwenden, um IK prozedural zu deinen Charakter-Rigs außerhalb des Animationseditors hinzuzufügen.Studio ermöglicht es Ihnen, IK programmatisch auf alle Charaktere anzuwenden, wie R15, Rthro und benutzerdefinierte importierte gezeichnete Charaktere, um realistische Bewegungen und Interaktionen in Ihrer Erlebniszu erstellen.
Wenn du ein IKControl hinzufügst, stelle die erforderlichen Eigenschaften korrekt ein, um unerwartete und unnatürliche Animations-Ergebnisse zu vermeiden.Wie bei allen Animationen, testen Sie Ihre IKControls, um sicherzustellen, dass Sie das gewünschte Verhalten erreichen.
Erforderliche Eigenschaften
Wenn du einem Charakter IKControl oder Humanoid ein AnimationController hinzufügst, musst du die folgenden erforderlichen Eigenschaften festlegen, um IK zu aktivieren:
Eigenschaft | Beschreibung |
---|---|
Type | Gibt den Verhaltenstyp der IK-Steuer an. Siehe Enum.IKControlType für die Liste der Verhaltensoptionen. Häufige Verhaltensarten sind Position oder Transform . |
EndEffector | Ein BasePart oder Bone in deinem Charakter-Rig, das sich auf den Target bewegt.Zum Beispiel können Sie eine Linkshand Knochen als EndEffector festlegen, um ein Türknopf-Objekt zu erreichen, das als Target festgelegt wurde. |
Target | Das Objekt, auf das das EndEffector zugreift oder zeigt. Ein Target kann jedes Objekt mit einer Weltposition sein. |
ChainRoot | Definiert die Kette von BaseParts oder Bones, die die IKControl betrifft.Alle verbundenen Teile zwischen dem und dem werden durch die Verwendung des definierten Verhaltenstyps beeinflusst. Wenn zum Beispiel die linke Hand deines Charakters als Target eingestellt ist, kannst du IK auf den gesamten linken Arm anwenden, indem du ChainRoot auf die linke Oberarme setzt.Um IK nur auf die Teile unter dem Ellenbogen anzuwenden, setze ChainRoot auf die linke Unterarme . |
Testen von IKControls
Du kannst IKControl hinzufügen und bearbeiten programmatisch oder direkt über den Explorer.Du kannst sogar Änderungen an IKControl während eines Spieltests hinzufügen und vornehmen, um schnell zu überprüfen, wie sich verschiedene Eigenschaften auf die Bewegungen eines Charakters auswirken.
Um deine IKControl schnell mit einem Attachment als Ziel zu testen:
Wählen Sie auf der Registerkarte Test der Toolleiste Spielen aus, um den Spiel testenzu starten.
Klicke auf das ⊕ -Symbol neben dem HumanoidRootPart deines Modellund füge ein Anhang hinzu.
Wähle das Anhang aus und verwende das Verschieben -Werkzeug, um das Objekt vor deinem Charakter in der Ansichtsfensterzu positionieren.
Wählen Sie im Explorer -Fenster das ⊕ -Symbol neben dem Humanoid Ihres Charakters und fügen Sie ein IKControl hinzu.
Wählen Sie die IKControl und legen Sie die folgenden Eigenschaftswerte im Eigenschaften -Panel fest:
- Typ : Wählen Sie Transform aus der Dropdown-Liste.
- Ziel : Wählen Sie das neu erstellte Anhangs -Objekt im Explorer aus.
IKControl-Eigenschaften >Explorer-Panel - Charaktermodell >Der linke Arm deines Charakters sollte jetzt für das Ziel Attachment erreichen.Du kannst experimentieren, indem du die Attachment oder die IKControl Eigenschaften bewegst, um unterschiedliche Ergebnisse zu erzielen.
Einschränkungen hinzufügen
Du kannst Constraints verwenden, um zu beschränken, wie sich Gelenke bewegen können, wenn sie ihr Ziel erreichen.Einschränkungen können sicherstellen, dass Gelenke wie Ellbogen und Knie natürlich gebogen werden oder dass mechanische Gelenke in einer bestimmten Ausrichtung drehen.


Um Einschränkungen für deinen Charakter mit IKControl hinzuzufügen, müssen deine IKControl und Einschränkung die folgenden Bedingungen erfüllen:
- Die in den Eigenschaften der BeschränkungAttachment0 / Attachment1 erwähnten Anhänge werden an die gleichen Teile angehängt wie die Class.Motor6D``Class.Motor6D.Part0|Part0 / Part1 .
- Die relativen Positionen von Attachment0 / Attachment1 müssen den entsprechenden Positionen der Class.Motor6D``Class.Motor6D.C0|C0 / C1 CFrames entsprechen.
- Die Einschränkung und die IKControl teilen sich denselben Eltern Model.
Die folgenden Anweisungen beschreiben den Prozess, einen HingeConstraint anzufügen, um die Rotation des Ellenbogens eines Charakters zu beschränken, und einen BallSocketConstraint an den Handgelenk zu fügen, um den Rotationswinkel zu begrenzen.
Ellbogen
Roblox-R15-Charaktere enthalten bereits Anhänge in ihren Gelenken, die du verwenden kannst, um die Beschränkunganzuwenden.Für den Ellenbogen enthalten sowohl der linke Oberarm als auch der linke Unterarm ein LeftElbowRigAttachment.Wenn du eine Beschränkunghinzufügst, musst du außerdem zusätzliche Kindsanhänge zu jeder Teil LeftElbowRigAttachment hinzufügen, um anzugeben, um welche Achse der Ellenbogen sich drehen kann.
Um die HingeConstraint und Kind附件 hinzuzufügen:
Suchen Sie im Explorer den linken Unterarm Ihres Modells und klicken Sie auf die ⊕ Schaltfläche .
Füge eine Scharnierzwang mit dem Namen LeftElbowConstraint hinzu.
Navigiere im Explorer zum LeftUpperArm.LeftElbowRigAttachment und füge einen Anhang hinzu:
Klicken Sie auf die Schaltfläche ⊕ , um ein Anhang mit dem Namen LeftElbowConstraintAttachment0.
Wählen Sie im Ansichtsfenster die Anlage aus und verwenden Sie das Rotieren-Werkzeug , um die Anlage so zu drehen, dass die gelbe Primärachse die Achse der erwarteten Rotation Ihres Ellenbogens ist.
Setze die LeftElbowConstraint.Attachment0 Eigenschaft auf dieses neue Anhang.
Navigiere im Explorer zu deinem Modell LeftLowerArm.LeftElbowRigAttachment und füge einen Anhang hinzu:
- Klicken Sie auf die Schaltfläche ⊕ und fügen Sie ein Anhang mit dem Namen LeftElbowConstraintAttachment1.
- Setze die LeftUpperArm.LeftElbowConstraint.Attachment1 Eigenschaft auf dieses neue Anhang.
- Kopiere die LeftElbowConstraintAttachment0.CFrameOrientation Eigenschaft und füge sie als den LeftElbowConstraint.Attachment1.CFrameOrientation Wert ein.
Teste deine IKControl, um zu überprüfen, dass sich der Ellenbogen nur um seine Scharnierachse dreht:
Handgelenke
Selbst mit der Beschränkungkann die IKControl immer noch unrealistische Posen mit den Handgelenken produzieren.

Du kannst dies verbessern, indem du ein BallSocketConstraint hinzufügst, um die Rotation des Handgelenks zu begrenzen.Während dies dem Prozess für das Hinzufügen eines HingeConstraint an den Ellenbogen ähnelt, kannst du die LimitsEnabled Eigenschaft auf dieser Einschränkung verwenden, um die Bewegungsreichweite des Ellenbogens weiter zu kontrollieren.
Um einen BallSocketConstraint für den Handgelenk hinzuzufügen:
- Suchen Sie im Explorer die Linkshändigkeit Ihres Modells und klicken Sie auf die ⊕-Schaltfläche .
- Füge eine Ball socket Konvention mit dem Namen LeftWristConstraint hinzu.
- Lokalisieren Sie den Linken Unterarm.Linker Ellenbogen-Anschluss Ihres Modells und fügen Sie einen Anhang hinzu:
- Klicken Sie auf die Schaltfläche ⊕ und fügen Sie ein Anhang mit dem Namen LeftWristConstraintAttachment0.
- Wählen Sie im Ansichtsfenster die Anlage aus und verwenden Sie das Rotieren-Werkzeug , um die Anlage so zu drehen, dass die gelben Primärachsen auf die Fingerspitzen des Modells zeigen.
- Setze die LeftWristConstraint.Attachment0 Eigenschaft auf das neue LeftWristConstraintAttachment0.
- Lokalisieren Sie den Linkshändler.LinkswristRigAttachment Ihres Modells und fügen Sie einen Anhang hinzu:
- Klicken Sie auf die Schaltfläche ⊕ und fügen Sie ein Anhang mit dem Namen LeftWristConstraintAttachment1.
- Kopiere die LeftWristConstraintAttachment0.CFrameOrientation Eigenschaft und füge sie als die LeftWristConstraintAttachment1.CFrameOrientation Eigenschaftenein.
- Setze die LeftWristConstraint.Attachment1 Eigenschaft auf diese neue LeftWristConstraintAttachment1 .
- Wählen Sie im Explorer die Linkswrist-Einschränkung .
- Im Eigenschaften-Editor stellen Sie gefolgte Profileein:
- Aktivieren Sie LimitsEnabled .
- Setze Oberwinkel auf 80.Dies steuert, wie stark die Achse der Beschränkungsich drehen kann, und 80 Grad sind ungefähr so viel, wie der Ellenbogen gebogen werden sollte.
- Je nach Charakter möchten Sie die Richtung, in die der Kegel zeigt, möglicherweise anpassen.Du kannst dies tun, indem du das Dreh-Werkzeug verwendest, um das Anhang0 der Beschränkungzu drehen.
Wenn du die Linkswrist-Einschränkung wählst, erscheint ein grüner Kegel, der die Bewegungsreichweite des Handgelenks visualisiert.

Mit der Einschränkung eingerichtet, teste die IKControl mit der Hand, die vor dem Charakter zeigt, und der Ellenbogen sollte sich realistischer drehen und beugen.