Log In
New Account
Home My Page Projects Blender 2.x BF release
Summary Activity Tracker SCM Files

Blender 2.6 Bug Tracker: Browse

[#25341] ChildOf constraint: strange behavior in object mode.

Date:
2010-12-22 12:36
Priority:
3
State:
Closed
Submitted by:
Thomas Larsson (thomasl)
Assigned to:
Ton Roosendaal (ton)
Category:
Animation system
Status:
Fixed / Closed
Relates to:
Duplicates:
Patches:
 
Summary:
ChildOf constraint: strange behavior in object mode.
Detailed description
Windows XP 32 bit
Blender r33799. Behavior changed about a week ago.

In my armature, various bones without parents have a ChildOf constraints targeting the MasterFloor bone below the character. The settings for the Root bone is seen to the right in the picture. When the character is moved in object mode, both the master and its children move, but by different amounts. Also the Hand and Leg IK bones are not in place where they used to be.

I am somewhat confused about the correct semantics of the Set Inverse and Clear Inverse buttons. However, no matter how I (mis-)configure the constraint, the character should move as a single unit in object mode.

Followup

Message
  • Date: 2010-12-22 16:35
  • Sender: Ton Roosendaal
  • It would really be much more helpful if you create the simplest case showing the error. That's half the bugfixing work, which users can help us with.
  • Date: 2010-12-22 21:28
  • Sender: Ivo Grigull
  • I see the double transformation problem after loading the file. Set inverse and clear inverse don't fix it. When i recreate the constraint however everything is fine. I suspect the problem is not in the constraint but the set inverse function somehow producing a wrong matrix. I am now stuck however. Can't really reproduce the problem.
  • Date: 2010-12-22 21:54
  • Sender: Rob Waite
  • OSX 10.6.5
    Official Blender release 2.55 and recent build 33838 give the same results...

    The rig can be reduced to two bones to demonstrate - root and masterfloor. I'll attempt to attach a simplified file, simple.blend. As Ivo noted above, deleting and recreating the constraint makes things work (in my simple case at least).

    R.

  • Date: 2010-12-23 13:02
  • Sender: Thomas Larsson
  • The rig was created with a script; the mhx importer for MakeHuman. I have tried to reproduce it with a simpler script, but not succeeded. The script sets owner space and target space, which I noticed is not accessible from the viewport. However, the behaviour is apparently not affected by the choice of spaces.

    For the time being I have replaced all ChildOf constraints with proper parenting. The theoretical drawback is that one cannot change parents during an animation, but in practise I never managed to make this work smoothly anyway.
  • Date: 2010-12-23 14:16
  • Sender: Ton Roosendaal
  • Thanks for the example. I found a bug in the constraint-adding code, which forgot to set a flag in child-of constraints that were needed for bones.
    I've patched Blender to set this by default on loading now, so it will work on your saved files as well.
 

Attached Files:

Name Date Download
childof.blend 2010-12-22 12:36 Download
childof1.JPG 2010-12-22 12:36 Download
simple.blend 2010-12-22 21:54 Download

Changes:

Field Old Value Date By
status_idOpen2010-12-23 14:16ton
close_dateNone2010-12-23 14:16ton
assigned_tonone2010-12-23 14:16ton
CategoryNone2010-12-23 14:16ton
StatusNew2010-12-23 14:16ton
File Added14224: simple.blend2010-12-22 21:54vectorspace
File Added14210: childof1.JPG2010-12-22 12:36thomasl
File Added14211: childof.blend2010-12-22 12:36thomasl