Page MenuHome

Keyframed node properties stay linked after shading network duplication
Closed, ResolvedPublic

Description

System Information
Operating system: windows 10
Graphics card: gtx 760

Blender Version
Broken: 2.8 beta
Worked: 2.79

Short description of error
Keyframed node properties stay linked after shading network duplication

Exact steps for others to reproduce the error
If I duplicate from the properties panel a shader that as animated nodes, those animated nodes are linked in some way by their keyframes : if I move or delete a keyframe on the base shader, it moves or delete it also on the duplicated shader, althought I can change node properties that are not keyed. You'll find a test file showing the bug, the animation is on the color mix node. Just move or delete a keyframe on the animation.

Event Timeline

Philipp Oeser (lichtwerk) triaged this task as Confirmed, Medium priority.Dec 13 2018, 1:35 PM

Confirmed.
Seems another issue with data path resolution on nodes [I dont remember the details, but I do recall there were issues relating to this (nodes and drivers e.g.)]

Also note that renaming a node will break the animation actually (was not the case in 2.79)

T59256 is related

@Joshua Leung (aligorith): mind sharing your wisdom?
or maybe @Jacques Lucke (JacquesLucke) has an idea?

Interstingly, though T59390 is resolved, this is still happening.
So making a single material user from the row.template_ID(ob, "active_material", new="material.new") doesnt seem to do the same thing as Object > Relations > Make Single User > Materials

So making a single material user from the row.template_ID(ob, "active_material", new="material.new") doesnt seem to do the same thing as Object > Relations > Make Single User > Materials

@Bastien Montagne (mont29): can you confirm the above? (difference between Object > Relations > Make Single User > Materials and using the template_ID from the Properties Editor [doesnt matter if you make single user or add new from there])

Properties Editor doesnt seem to make animation unique, whereas Object > Relations > Make Single User > Materials seems to do so...
Should this be consistent (just asking...)?

Those are two different operators/operatioons, but do not see why copying material from IDTemplate widget should not also duplicate its actions. Fix incoming.

Looks like this popped up again (T62393).
@Bastien Montagne (mont29): I can confirm that making a new material from the template IDTemplate widget duplicates the action, whereas making it a single user still doesnt.

Hm, BKE_animdata_from_id() returns NULL in BKE_animdata_copy_id_action() when doing this?
Gotta go now, but will have another look later...

Bastien Montagne (mont29) closed this task as Resolved.Sat, Mar 9, 8:12 PM

Please do not merge just because issues are similar, those remain two different things.

So we have id_single_user() vs. single_mat_users()

id_single_user() doesnt traverse down the nodetree and doesnt copy nodetrees action, whereas single_mat_users() does.
Same thing is happening in 2.79

I am not exactly sure if we would always want the behavior of copying actions here, but if in doubt, my vote would go for it, patch incoming...