Home Technical Talk

Rigging stretchy limbs in Maya

polycounter lvl 5
Offline / Send Message
joarwho polycounter lvl 5
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

  • m4dcow
    Options
    Offline / Send Message
    m4dcow interpolator
    I'm no expert at rigging, but maybe there's a reason people don't do stretchy rigs using translation. Could it be that using scaling allows you to scale the rig up or down, and still have the stretchy limbs work?
  • Boozebeard
    Options
    Offline / Send Message
    Boozebeard polycounter lvl 11
    I'm not much of a rigger either I'm just curious why you want to translate instead of scale? Like M4DCOW said that sounds like it could cause head-aches.
  • Flynny
    Options
    Offline / Send Message
    Flynny polycounter lvl 9
    Maybe your after breakable limbs?
    I have this as a feature in my rigs but its a pain to setup.. worth it though!
  • joarwho
    Options
    Offline / Send Message
    joarwho polycounter lvl 5
    m4dcow said:
    I'm no expert at rigging, but maybe there's a reason people don't do stretchy rigs using translation. Could it be that using scaling allows you to scale the rig up or down, and still have the stretchy limbs work?
    I'm not much of a rigger either I'm just curious why you want to translate instead of scale? Like M4DCOW said that sounds like it could cause head-aches.


    I've been told that most game engines don't support joint scaling. Maybe I am misinformed?

    Flynny said:
    Maybe your after breakable limbs?
    I have this as a feature in my rigs but its a pain to setup.. worth it though!
    No not really. I just want to be able to stretch out the limbs, cartoon-style! :)
  • joarwho
    Options
    Offline / Send Message
    joarwho polycounter lvl 5
    I did some googling and found this post made by Noah Alzayer, TD at Insomniac Games: 

    "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?
  • m4dcow
    Options
    Offline / Send Message
    m4dcow interpolator

     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.

  • joarwho
    Options
    Offline / Send Message
    joarwho polycounter lvl 5
    m4dcow said:

     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.

    Haha, np man! I'm just glad someone replied :)

    Yeah, you're right I should probably try posting the question there. Thanks!
  • antweiler
    Options
    Offline / Send Message
    antweiler polycounter lvl 8

    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)

Sign In or Register to comment.