Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2007-11-28 15:11:06 +0300
committerTon Roosendaal <ton@blender.org>2007-11-28 15:11:06 +0300
commit36f7da70466603643ec28b47e4ec0b082fa5226a (patch)
treea93b182bc592a579fa53ee494ded494449aee1a1 /source/blender/blenkernel/intern/armature.c
parentbb77ea8df5f016399e50bce5ef8b67d2cac89a28 (diff)
Tiny feature, but loadsa code, and big impact for the Blender riggers:
-> Constraint Influence Ipo now can be local, linked to constraint itself You enable this in the IpoWindow header, with the Action icon to the left of the Ipo Type menu. The button tooltips give the clue as well. Tech note: the Ipo now can get directly linked to a constraint, and is being called during regular pose constraint solving. Actions (and drivers in actions) are being calculated *before* pose constraint solving. Result of actions then is written in bones, which then solves the entire pose. This means you can have a driver on both the constraint, as on the action channel for the constraint! Not that I'm going to debug that easily :) Additional fix: Joshua added a copy/paste IpoCurve feature, but he broke the functionality to be able to paste in an empty ipo channel. That now works again
Diffstat (limited to 'source/blender/blenkernel/intern/armature.c')
-rw-r--r--source/blender/blenkernel/intern/armature.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index 59786afd999..ab15770c3df 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -2083,6 +2083,9 @@ static void where_is_pose_bone(Object *ob, bPoseChannel *pchan, float ctime)
if (pchan->constraints.first) {
bConstraintOb *cob;
+ /* local constraints */
+ do_constraint_channels(&pchan->constraints, NULL, ctime, 0);
+
/* make a copy of location of PoseChannel for later */
VECCOPY(vec, pchan->pose_mat[3]);