02 February 2004, 07:00 PM
Hey there Pickman,
While expressions will slow you down, it's really only if you're using A LOT, or you're running maya on an ancient machine ;) I tend to avoid using them in single rigs when I can, but if I can make it even a little bit easier for the animator, I'll tweak it with an expression.
An example of this...
Say you've set up a toe pivot so you can tap your toe. You have an attribute on a foot controller called toeTap and you want this to control toeTapRIG.rotateX
To avoid an expression, choose Window > General Editors > Connection Editor
Here you'll see two sides, by default your driver (master, parent) will be on the left, while the driven (slave, child) will be on the right. Select the foot controller and click "Reload Left", then select toeTapRIG and click "Reload Right." Scroll down on the left side to find toeTap and select it. Then scroll down the right side to find rotateX (will need to open up Rotate) and select that.
Now by adjusting toeTap you're rotating toeTapRIG in X.
This is one of those times I'd usually write an expression though. If you need to "tap" from -60 to 80, that's a bit of middle-mouse dragging unless you actually type the number into the channel box.
So I'll write an expression to tweak that a bit.
toeTapRIG.rotateX = footControl.toeTap * 5;
Same thing, just reducing my amount of middle-mouse drag by a factor of 5. This won't slow down the processor much at all, so if I have to write a few of those I usually don't worry.
Now I *think* but I'm not sure because I've never really tried it, but I think you can make the direct connection with the Connection Editor and then open up Hypergraph and fit in some Multiply / Divide nodes to get the same effect. To me though, that seems like a whole lot more work, so I stick to the simple expression :D
One more way, just for fun is to use a bit of MEL to make the direct connection.
connectAttr footControl.toeTap toeTapRIG.rotateX;
But that'll just save you a few seconds most likely and have the same result as the first example I showed you.
And on to part 2....
To me it seems like you've already set up IK handles before duplicating your bones? If that's the case, the effectors will stick around, but all you need to do is delete them. You're getting them just due to the hierarchy is all.
Hope that helps you out and good luck! :thumbsup:
02 February 2004, 07:38 PM
Hi there and thx for taking the time to answer such a detailed note, vey kind of you :-)
About point 1, true, I've checked the framerate to control the feedback and it seems ok to add a few expression. though I called a friend today who told me about a cache node stuff in the hypergraph, I don't have enough knowledge to dig into that so far, but apparently it really speed things up.
About point 2, indeed I quickly duplicated the iks...I won't do it twice!!
THX a lot.
01 January 2006, 01:00 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.