depgraph failure (and success) examples per ton's request #24012

Closed
opened 2010-09-27 03:19:29 +02:00 by Ursula kurdali · 7 comments
Member

%%%From the meeting notes:

  • Animation system: the dependency graph still fails in cases where
    2.4x did work. Bassam Kurdali will provide simple .blend cases for bug
    tracker. Ton proposed to at least hardcode fix the current C code for
    all transformation related properties. Dependencies involving custom
    properties or other non-transform topics (like colors) will be moved
    to the todo as a 2.6 topic.

  • in an attempt to document this topic , I've made an example .blend file that has a different driving relationship in each layer. To test, grab the driving object (or drag the driving property) and move / change it with the mouse. hit esc to cancel: if the depgraph functions, the driven thing should jump back to the original position, if not, it will 'stick' to the new position, but grabing it an wiggling it forces it to jump back)

  • Please not that there are some working things that did not work in 2.4! for instance, custom properties driving bones. Please do not 'fix' this to not-work, as it was added most likely to make Sintel rigs work, and many riggers are now depending on this! so please, if it works, don't fix it ;)

  • second note: I didn't so far make a 2.4 blend file, it is quite possible that what this .blend shows is one to one compatibility with 2.4. (this is actually what I would expect, given that the depgraph code is mostly unchanged). I'll test in 2.4 and verbally post, though I will probably not provide a 2.4 blend file , since fixing 2.4 is not the target here :)

  • third note: I will add more simple .blend files to this bug, with simple setups like this one.%%%

%%%From the meeting notes: - Animation system: the dependency graph still fails in cases where 2.4x did work. Bassam Kurdali will provide simple .blend cases for bug tracker. Ton proposed to at least hardcode fix the current C code for all transformation related properties. Dependencies involving custom properties or other non-transform topics (like colors) will be moved to the todo as a 2.6 topic. - in an attempt to document this topic , I've made an example .blend file that has a different driving relationship in each layer. To test, grab the driving object (or drag the driving property) and move / change it with the mouse. hit esc to cancel: if the depgraph functions, the driven thing should jump back to the original position, if not, it will 'stick' to the new position, but grabing it an wiggling it forces it to jump back) - Please not that there are some working things that did not work in 2.4! for instance, custom properties driving bones. Please do not 'fix' this to not-work, as it was added most likely to make Sintel rigs work, and many riggers are now depending on this! so please, if it works, don't fix it ;) - second note: I didn't so far make a 2.4 blend file, it is quite possible that what this .blend shows is one to one compatibility with 2.4. (this is actually what I would expect, given that the depgraph code is mostly unchanged). I'll test in 2.4 and verbally post, though I will probably not provide a 2.4 blend file , since fixing 2.4 is not the target here :) - third note: I will add more simple .blend files to this bug, with simple setups like this one.%%%
Author
Member

Changed status to: 'Open'

Changed status to: 'Open'
Member

%%%Ok, I've checked the file, and I guess I should make some comments about some of these:

  • Layer 1: Due to evaluation order, it cannot work "as-is". However, it you change the bone to be in "local space" using animation-only result (not + constraints), it should work fine.
  • Layer 5: Same as above. Turn on "local space" and it should work.
  • Layer 6: Once again, due to evaluation order, it cannot work "as-is". However, in this case there is not workaround.

The problem with the evaluation order is as follows:

  • Animation data is evaluated on frame change once.
  • Per object (as sorted by depsgraph)
    • Drivers are then evaluated based on animation data results (or "final" transforms if they can be obtained, but that only applies to objects already evaluated, not dependent objects or the subdata in current object)
    • Animation+Driver stuff for object is then evaluated

This means that trying to use "final transforms" for the local object goes wrong.


PS. that test file would be great to have in our test-suite ;)%%%

%%%Ok, I've checked the file, and I guess I should make some comments about some of these: - Layer 1: Due to evaluation order, it cannot work "as-is". However, it you change the bone to be in "local space" using animation-only result (not + constraints), it should work fine. - Layer 5: Same as above. Turn on "local space" and it should work. - Layer 6: Once again, due to evaluation order, it cannot work "as-is". However, in this case there is not workaround. The problem with the evaluation order is as follows: - Animation data is evaluated on frame change once. - Per object (as sorted by depsgraph) - Drivers are then evaluated based on animation data results (or "final" transforms if they can be obtained, but that only applies to objects already evaluated, not dependent objects or the subdata in current object) - Animation+Driver stuff for object is then evaluated This means that trying to use "final transforms" for the local object goes wrong. --- PS. that test file would be great to have in our test-suite ;)%%%
Author
Member

%%% Thanks Joshua! confirmed, setting to local space makes layer 1 and 5 work.

I'm also pretty sure that this is *not* something that was possible in 2.49 that is now not possible in 2.5, hence not on ton's list to fix. I'm actually not sure that we're going to find bona-fide cases where depgraph success in 2.49 have turned to failure in 2.5, but I'll do some more tests.
I hope doing this is at all useful, in the very least, it provides some written documentation for those who do 'setup X' and wonder why it doesn't work.

Cheers
Bassam%%%

%%% Thanks Joshua! confirmed, setting to local space makes layer 1 and 5 work. ``` I'm also pretty sure that this is *not* something that was possible in 2.49 that is now not possible in 2.5, hence not on ton's list to fix. I'm actually not sure that we're going to find bona-fide cases where depgraph success in 2.49 have turned to failure in 2.5, but I'll do some more tests. I hope doing this is at all useful, in the very least, it provides some written documentation for those who do 'setup X' and wonder why it doesn't work. ``` Cheers Bassam%%%
Author
Member

%%% Thanks Joshua! confirmed, setting to local space makes layer 1 and 5 work.

I'm also pretty sure that this is *not* something that was possible in 2.49 that is now not possible in 2.5, hence not on ton's list to fix. I'm actually not sure that we're going to find bona-fide cases where depgraph success in 2.49 have turned to failure in 2.5, but I'll do some more tests.
I hope doing this is at all useful, in the very least, it provides some written documentation for those who do 'setup X' and wonder why it doesn't work.

Cheers
Bassam%%%

%%% Thanks Joshua! confirmed, setting to local space makes layer 1 and 5 work. ``` I'm also pretty sure that this is *not* something that was possible in 2.49 that is now not possible in 2.5, hence not on ton's list to fix. I'm actually not sure that we're going to find bona-fide cases where depgraph success in 2.49 have turned to failure in 2.5, but I'll do some more tests. I hope doing this is at all useful, in the very least, it provides some written documentation for those who do 'setup X' and wonder why it doesn't work. ``` Cheers Bassam%%%
Member

%%%Marked this in our todo wiki + added comment about depsgraph project.
http://wiki.blender.org/index.php/Dev:2.5/Source/Development/Todo/Tools#Animation

(close report :)%%%

%%%Marked this in our todo wiki + added comment about depsgraph project. http://wiki.blender.org/index.php/Dev:2.5/Source/Development/Todo/Tools#Animation (close report :)%%%
Member

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Author
Member

%%%Thanks Ton.
At some point I'll post further examples here, that can help testing when the todo is revisited.%%%

%%%Thanks Ton. At some point I'll post further examples here, that can help testing when the todo is revisited.%%%
Sign in to join this conversation.
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: blender/blender#24012
No description provided.