テンプレート:Release Notes/2.40/Animation/Inverse Kinematics

提供: wiki
移動先: 案内検索

<section begin=2.40-Animation-Armatures-Inverse Kinematics />

IK WORK

NEW IK work

 First commit of Brecht's new IK work. This only does the IK module.
 Full logs for changes will be added later. Worth to note now;
 - support for 'tree IK' added
 - DOF and stiffness per IK bone (in pose only)
 - Orientation IK support (target rotates -> chain follows)
 
 Here's how IK works now;
 
 - IK chains can go all the way to the furthest parent Bone. Disregarding
   the old option "IK to Parent" and disgregarding whether a Bone has an
   offset to its parent (offsets now work for IK, so you can also make
   T-bones).
 - The old "IK to Parent" option now only does what it should do: it denotes
   whether a Bone is directly connected to a Parent Bone, or not.
   In the UI and in code this option is now called "Connected".
 - You can also define yourself which Bone will become the "Root" for an IK
   chain. This can be any Parent of the IK tip (where the IK constraint is).
   By default it goes all the way, unless you set a value for the new IK
   Constraint Panel option "Chain Lenght".
 - "Tree IK" now is detected automatic, when multiple IK Roots are on the
   same Bone, and when there's a branched structure.
   Multiple IK's on a single chain (no branches) is still executed as usual,
   doing the IK's sequentially.
 - Note: Branched structures, with _partial_ overlapping IK chains, that don't
   share the same Root will possibly disconnect branches.
 - When you select a Bone with IK, it now draws a yellow dashed line to its
   Root.
 - The IK options "Location Weight" and "Rotation Weight" are relative,
   in case there's a Tree IK structure. These weights cannot be set to
   zero. To animate or disable IK Targets, use the "Influence" slider.
 - This new IK is backwards and upwards compatible for Blender files.
   Of course, the new features won't show in older Blender binaries! :)

Degrees of Freedom (Rotation Limits)

 First version of visualizing the DoF (french degrees!) for Pose-bones. It
 now only draws the limits for X and Z rotations (Y is bone axis itself).
 
 It only draws for selected Bones that are part of IK, and have limits set.
 Most work was getting code OK to setup drawing this 'DoF space', so now
 experiments can be done with more drawing types.
 
 ALso; Buttons for DoFs now only draw if the pose-bones are part of an IK
 chain.
 - Changed xz limit drawing to use same formulas as the limiting in the IK
   module -- the previous method could be off pretty far.
 - Added drawing of transparent surface for it, instead of just the border.
 - Added "stretch IK", allowing bones not only to rotate, but also scale.
   The "Stretch" value below the DoF buttons is used to enabled this.

Floor constraint

 Roland Hess' Floor Constraint patch:
 https://projects.blender.org/tracker/?func=detail&aid=2993&group_id=9&atid=127

Rotation constraint

 allows to only copy X,Y,Z axis rotations.
 
 Note this is based on eulers, so might give the common issues. :)
 For most cases it goes fine though, especially with only 1 axis constraint.

hotkey for add constraints

 New: Hotkey/menu access in 3D window to add constraints. Works in PoseMode
 as well as for Objects. Hotkey: CTRL+ALT+C (bit clumsy I know, but I like
 to use the Ckey).
 
 Constraints are added to the active Object or Bone.
 Based on selection context, the menu has three versions:
 
 Pose Mode:
   - if another bone is selected, bone becomes target
   - else if another Object is selected, Object becomes target
   - else it adds a new Empty as target
 Object Mode
   - if another Object is selected: Object becomes target
   - else it adds a new Empty as target
 
 Same works this way now for CTRL+I, "Add IK".
 
 To be solved: ALT+C in PoseMode is "Clear Constraints", but in Object Mode
 it does "Convert" still...

Targetless IK

 Two new IK features.
 
 1) Target-less IK
 
 If you add an IK constraint without a target set (no object or bone target),
 it now can be grabbed and moved with IK, using its own Bone tip or root as
 target itself. This way you can use IK for posing, without having the IK
 executed while it animates or while a Pose is being solved for real IK.
 
 After grabbing "Target-less IK", it applies the resulted motion in the
 pose-channels, which then can be used to insert keypositions.
 
 The Target-less IK bone can still be rotated without IK, also its chain
 can be edited as usual.
 
 UI: The CTRL+I menu gives this as an option too. In the 3D window it is
 drawn with orangish color.
 
 Note that IK is not resistant to non-uniform scaling yet.

Auto IK

 2) Auto-IK
 
 When the option "Automatic IK" is set, in Edit Buttons Armature Panel,
 it creates automatic temporal Target-less IK for the Bone you grab or
 translate.
 
 The rules are:
 
 - it only works when a single Bone is selected
 - if the Bone is a root bone (no parent), it adds IK to the end of the
   chain(s)
 - otherwise it adds the IK to the active Bone
 - the temporal IK chain only consists of connected Bones.
 
 This method is still a bit experimental. Maybe it should become a special
 grabbing option (like SHIFT+G in Pose Mode). It also only works OK for rigs
 that fit for it well... when a rig already is fully setup with IK it can't
 do much good. :)

<section end=2.40-Animation-Armatures-Inverse Kinematics />