Page MenuHome

Duplicating armature and then changing the duplicate's bone names causes drivers to break in the ORIGINAL armature
Closed, ResolvedPublic

Description

The blend file contains "Armature A" with two bones, "bone A" and "squisher A" The squisher bone scales the vertical bone with a driver.

Steps for repro:

1. Duplicate the armature object and move it along the x axis by a few units.
2. Rename the duplicate armature's squisher bone to "squisher B"
3. The duplicate armature works properly, but the driver in the original armature has broken; it's now referencing "squisher B."

Tested on official 2.62 as well as 2.62.3 r45246

Windows 7

Details

Type
Bug

Event Timeline

Bastien, i remember you've been working on armatures, maybe this one is simple for you? :)

In fact, the problems occurs with any driver, being an armature (bone) one, or a standard object one, or anything – Duplication has nothing to see here… Seems like the update process of drivers’ bone names is broken, not taking into account the "parent" object at al.

Investigating further!

This indeed a problem in updating of stuff using a given bone, when it is renamed (BKE_all_animdata_fix_paths_rename() & co, in anim_sys.c).

Attached a patch, but I’m not sure this is the right way to fix it, seems rather hackish to me… :/

Fixed in svn45291.

Thanks for reporting! :)

Bastien Montagne (mont29) closed this task as Resolved.Mar 30 2012, 3:06 PM