Deleting unneeded constraint connections...
Hi all,
I was wondering which connections of a constraint can be deleten safely, in order to kill the circularity but still have everything work!
talk.bindpose.com has been shut down on the 6th of March 2021. You can read a bit more about it here.
You are currently reading an archived copy of the latest content, with all the usernames deleted.
Hi all,
I was wondering which connections of a constraint can be deleten safely, in order to kill the circularity but still have everything work!
I am no expert on evaluation and I definitely suggest carrying on with Cult of Rig as that's a big portion of what Raffaele talks about, but the way I understand it is that you can safely break everything that goes from the constrained object to the constraint, once your rig is locked in place.
If you need to support multiple rotation orders you would need to leave the the
rotateOrder
toconstraintRotateOrder
connection. Similar for the pivots, though, I doubt you would need to support that.The only connection left is the
parentInverseMatrix
toconstraintParentInverseMatrix
, which cannot be just deleted, but it can be safely replaced without the cycle, by just grabbing theworldInverseMatrix
of the parent of the constrained object instead of theparentInverseMatrix
.The downside with this, as the others pointed out, is that you can't reparent without having to change some connections, but again, if your rig is signed off you wouldn't need to change parents.
Hope that helps, and again, definitely keep up with the cult.
EDIT: It would be great if you could do a performance check and share the difference in the results, so we can keep them in mind. I wouldn't expect to get too much out of it, though.
The circularity of maya constraints isn't that bad because we need the parent inverse matrix to determine the offset. This is because we want to shift the space.
Having this circularity gives us the convenient to freely parent our constrained nodes in the hierarchy.
I understand and it's great! That said, once my Rig is done I can't think of a situation where I ever wanted to reparent parts of it! So if it improves performance, why not clean it up?
I do use a lot of constraints and reparenting in my workflow and i wouldn't want to get rid of constraints... just trying to improve the ones that won't get changed! ;)
They are though considered a cluster in the evaluation graph as theres a feedback loop.
That being said, when we truly avoid constraints to get the benefits. Does it mean we should not change the rotate order in DAG node? Because decomposeMatrix node only works for 'xyz'. I know that it has input rotate order, but it's a bug according to what I read from internet.
Do i miss something here?
Hi, this was mentioned in the last episode of Cult of Rig. Here's the part where he talks about it: https://youtu.be/Bm7vtxdJJBQ?t=1h8m59s
Links to particularly good bits from Cult of Rig would actually make a good thread discussion. There's lots of useful info in there, but it's so long and unorganized that it's hard to get through it all without missing things.
Awesome, thanks! Haven't progressed that far, yet. Currently sitting at Season 0 Day 8. But I'll hava alook right away!