With the scripting saga finally over we take a good look at how Maya’s DG (Dependency Graph) evaluation model works.
We introduce evaluation graphs in general, the concepts of push and pull, data vs evaluation, and then we move into more Maya specific territory.
Maya’s MDataBlock, compute(), Plugs and dirty state and all that goodness.
I do wish I had switched up to our own rig to show a more complex graph somewhere in the last third, but hopefully the simplicity of the example and the discussion will still get the point across even for the more complex scenarios. We will, no doubt, have a chance to revisit the subject again soon enough when we’ll be discussing profiling and performance.
Don’t be afraid if you’re not interested in programming. Or maybe not up to scratch on your scripting to follow the details. This will NOT be necessary to follow the stream once we’ll resume non programming work.
You will be able to copy and paste what I wrote and use it if your rig conventions are close enough to the ones we use on stream.
This episode we finish covering all cases in the first two thirds, more or less, of the video. Once you’ll get to me meandering about the rig, somewhere around the 40th minute, you will have seen all the goodness, the rest is just entertainment.
Also worth noting that at the very end of the stream I was surprised that our cleaned up Leg Component Guide wouldn’t respond as expected, so I announced I would have left it for another day. Of course the moment I stopped recording I realized I had left some prototype casing where I forced the swap case in, and therefore the script would run the wrong case.
The code available on the repository does not have the issue. If you watch the video it will become pretty obvious then what I’m talking about.
We now seem to have everything working and we successfully addressed our first of four cases for DeGuiding any component. Success and the end of the scripting saga for this season seems now within reach!