Page MenuHome

migrating mesh level animation_data to object level and updating corresponding data_path fails to apply separately to linked duplicates
Closed, InvalidPublic

Description

The attached file contains two linked duplicate mushroom objects which share the same mesh data. The object datablocks have unique (not shared) animation_data which has been converted to nla strips (for ease of demonstration of the bug) attached to them which refers to the data_path 'data.shape_keys.keys["s1"].value'.

As I understand from Aligorith this should allow the shape key values (which are stored inside the mesh datablock rather than the object datablock) to be animated separately on a per object basis without the need to duplicate the mesh.

It seems what is actually happening is that blender is evaluating each object in turn, evaluating the animation_data but applying its effect to the mesh datablock so the two mushrooms in the file both show the same state (ie the last evaluated) rather than different states.

To see the bug in action:

1. scrub the timeline in the attached blend and note that the two mushrooms animate in the same way.

2. delete the larger of the two NLA strips and scrub the timeline - note that both mushrooms still animate identically but no with a different action (that of the remaining NLA strip)

Event Timeline

sorry try this attachment...

in my attempt to make the bug easier to understand I managed to break the setup in the file, ironically because of another bug which I've just reported!

This is not going to work, if the data paths refer to the same mesh, only the last evaluated animation will be applied. This can't be expected to work at the moment.

Brecht Van Lommel (brecht) changed the task status from Unknown Status to Invalid.Sep 15 2010, 9:27 PM