This episode we conclude the presentation of Maya’s evaluation models by going over parallel evaluation.
We explain how it works, what nodes operate in which way, and the fundamentals to make the best of your graph’s layout to ensure you keep all cores of your CPU busy.
I haven’t seen this discussed extensively anywhere else, so there are good chances you’ll find it useful.
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.
Not much more than that to be said.
It’s the periodic clean up work before sharing a large scene I would normally do off stream, but decided to share this time.
I intentionally refrained from modifying or adding behavior to the components, that’s something I would do in an official stream, but you might still like it for a light listening/watching.
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!