Hi!
So, I was planning on creating a rig with stretchy limbs. Problem is, every tutorial I can find online are demonstrating how to create stretchy limbs by scaling joints or using BlendShapes. But I want to stretch the limbs on my character by translating the joints, instead of scaling them.
Do you guys have any tips on how I should approach this? The first thought that popped into my head was to simply parentConstraint the joint to the controller (Maybe this could work on the spine?) and maybe I can translate the base joints with help of driven keys on the IK/FK limbs?
Any tips or advice would be really helpful. Thanks!
Replies
I have this as a feature in my rigs but its a pain to setup.. worth it though!
I've been told that most game engines don't support joint scaling. Maybe I am misinformed?
No not really. I just want to be able to stretch out the limbs, cartoon-style!
"Yeah, for most cases of doing simple quick stretch, we just use translateX of child joints (or Y in your case if you choose that as your down axis) and then if there's a character that needs to have scaling for puff up kind of things, to avoid the segment scale compensate and compression issues, we just make sure in the export skeleton, those joints don't have children. We use constraints, so that makes it nice and easy. One trade-off with that though is that interpolation between animations and poses will happen linearly so that can cause issues."
Source: http://tech-artists.org/forum/showthread.php?5124-Maya-rigging-setup-for-Unity
It seem like Unity don't have support for scale compensation though. So maybe I can create stretchy limbs by scaling joints after all?
Well, like I said I'm no expert
Maybe ask in the animation section how folks would go about doing stretchy limbs for real time.
Yeah, you're right I should probably try posting the question there. Thanks!
I recommend some tests with joint scaling vs translation. The quality also depends on the skinning, since scaling affects the skin around a joint, while translation affects the skin between joints. I dont know unity, but in the past engines had troubles with joint scaling, especially non uniform scaling, or it would affect performance.
Scale compensate is a pure Maya thing. Disable it, and you get the behavior of a game engine (and correct scaling values in the scale attributes)