diff options
author | Ton Roosendaal <ton@blender.org> | 2005-10-30 16:50:42 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-10-30 16:50:42 +0300 |
commit | ea8b08c2cc13c035eb13b72d6443f972e81bd66e (patch) | |
tree | a88d69f4893c35ae7b3d35218505e445d82d1f9b /source/blender/makesdna/DNA_armature_types.h | |
parent | b7a465b437fd7d51e30c46290abef60c907821c7 (diff) |
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.
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. :)
Diffstat (limited to 'source/blender/makesdna/DNA_armature_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_armature_types.h | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/source/blender/makesdna/DNA_armature_types.h b/source/blender/makesdna/DNA_armature_types.h index 4a041208bd1..47ecccc1f1e 100644 --- a/source/blender/makesdna/DNA_armature_types.h +++ b/source/blender/makesdna/DNA_armature_types.h @@ -84,16 +84,17 @@ typedef struct bArmature { /* dont use bit 7, was saved in files to disable stuff */ /* armature->flag */ -#define ARM_RESTPOS 0x0001 +#define ARM_RESTPOS 0x001 /* XRAY is here only for backwards converting */ -#define ARM_DRAWXRAY 0x0002 -#define ARM_DRAWAXES 0x0004 -#define ARM_DRAWNAMES 0x0008 -#define ARM_POSEMODE 0x0010 -#define ARM_EDITMODE 0x0020 -#define ARM_DELAYDEFORM 0x0040 -#define ARM_DONT_USE 0x0080 -#define ARM_MIRROR_EDIT 0x0100 +#define ARM_DRAWXRAY 0x002 +#define ARM_DRAWAXES 0x004 +#define ARM_DRAWNAMES 0x008 +#define ARM_POSEMODE 0x010 +#define ARM_EDITMODE 0x020 +#define ARM_DELAYDEFORM 0x040 +#define ARM_DONT_USE 0x080 +#define ARM_MIRROR_EDIT 0x100 +#define ARM_AUTO_IK 0x200 /* armature->drawtype */ #define ARM_OCTA 0 |