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

Blender 2.6 Bug Tracker: Browse

[#25937] Problem with childof constraint ?

Date:
2011-02-04 14:20
Priority:
3
State:
Closed
Submitted by:
Bastien Montagne (mont29)
Assigned to:
Ton Roosendaal (ton)
Category:
Animation system
Status:
Fixed / Closed
Relates to:
Duplicates:
Patches:
 
Summary:
Problem with childof constraint ?
Detailed description
I think I just run into a bug of the ChildOf constraint. Well, I’m not really sure it is a bug, since it seems to be its behavior since the beginning (which makes several years back, now), but…

When I do axis-constrained scaling (e.g. only along local X, or Y, etc.) on the parent, children are not “mirrored” as expected – they seem to have an additional transform… The same goes if I do a “mirror” operation (ctrl-M, and then X, Y, etc.).

If I use the old parenting system, however (ctrl-P), everything goes well…

I join a small blend file with a demo setup, so you can easily see what I mean. Red cube is the parent, Blue cube is the constrained-child, and Green cube is the old-fashioned-child. So by scaling Red cube (or mirroring it), you can quickly see the differences between both blue and green cubes.

Once again, sorry if this is a « normal » behavior…

Note: I did a check with Blender 2.49, and got the same results.

svn: 34527

Followup

Message
  • Date: 2011-02-04 17:39
  • Sender: Ton Roosendaal
  • I can't redo this... I load your file and constraint-scale the parent to negative size, and the offset is similarly transformed as the other child.
    I also put the cubes exactly with corners together to check, don't see what you mean?

    I've attached a negative scaled parent .blend here.
  • Date: 2011-02-04 19:43
  • Sender: Ton Roosendaal
  • OK reproduced, it's in top view on scaling X negative!
  • Date: 2011-02-04 19:56
  • Sender: Ton Roosendaal
  • Analyzing further: the issue is that the child-of constraint has options to control rotation/location/size individually.
    However, the constraint only gets a matrix transformation as info. It tries to decompose the matrix in these components, but to do this reliably with negative scaling is mathematically impossible.

    Best idea would be to not use a decomposing when all options are set (default). That's a nice one for a quiet morning for me :)
 

Attached Files:

Name Date Download
childof_bug.blend 2011-02-04 14:20 Download
childof_bug.blend 2011-02-04 17:39 Download

Changes:

Field Old Value Date By
status_idOpen2011-02-05 18:12ton
close_dateNone2011-02-05 18:12ton
StatusInvestigate2011-02-05 18:12ton
assigned_tonone2011-02-04 19:56ton
File Added14879: childof_bug.blend2011-02-04 17:39ton
StatusNew2011-02-04 17:39ton
File Added14876: childof_bug.blend2011-02-04 14:20mont29