Home Technical Talk

3dsmax - Skinning/Rigging a character for dynamic height (5'5 to 6'2) (CAT Rig) (UE4)

sr3d
polycounter lvl 2
Offline / Send Message
sr3d polycounter lvl 2
I have a humanoid model that is 6 ft tall (182cm).  I'm using a CAT skeleton rig and the skinning is done.

I want the character's height to be dynamic, meaning making the height of the human model be anywhere from 5'5 to 6'2.  How do I go about doing this?

(This character will be used in Unreal Engine 4. I'm familiar with blend shapes, morphs and similar concepts in both UE4 and 3DSMAX).

NOTE: I do not want to scale the entire model smaller or bigger to achieve a difference in height.

I wonder if I just change the length of the knee, thigh, abdomen, chest, hip, neck, upper arm, forearm bones in UE4, but would that break the animation in anyway?

Replies

  • Mark Dygert
    Short Answer: The joints don't need to be in the same physical location but they need to rotate the same.

    Longer Answer: You'll want to make sure your bone hierarchy, joint orientation and rotation order matches the unreal mannequin, IF you want to use the animations that are in the marketplace. If you don't care about using the canned animations, you're hierarchy, orientation and rotation order can be whatever you want. BUT they won't accept it as a submission because it won't work with any other animations in the marketplace.

    You can use retargeting either in MotionBuilder, Maya/HumanIK or inside of Unreal to remap animation from a wonky rig to the unreal skeleton but that's a lot of work, it's probably better to just start with the standard unreal mannequin as a base. I'm pretty sure you can extract it from unreal or it's available for download in a few places, probably in the animation starter pack, or on the submission guidelines page

    I've used max, biped and CAT with unreal but personally I use Maya for animation now. Epic's ART toolkit is basically CAT for Maya but it only makes bipedal skeletons at the moment. It's great because it creates the skeleton and systems that you need to work within unreal's requirements.  Not that you can't go it alone with your own rig or use 3dsmax, but it's the easiest way to get something into unreal and have it work with everything.


  • sr3d
    Offline / Send Message
    sr3d polycounter lvl 2
    Short Answer: The joints don't need to be in the same physical location but they need to rotate the same.

    Longer Answer: You'll want to make sure your bone hierarchy, joint orientation and rotation order matches the unreal mannequin, IF you want to use the animations that are in the marketplace. If you don't care about using the canned animations, you're hierarchy, orientation and rotation order can be whatever you want. BUT they won't accept it as a submission because it won't work with any other animations in the marketplace.

    You can use retargeting either in MotionBuilder, Maya/HumanIK or inside of Unreal to remap animation from a wonky rig to the unreal skeleton but that's a lot of work, it's probably better to just start with the standard unreal mannequin as a base. I'm pretty sure you can extract it from unreal or it's available for download in a few places, probably in the animation starter pack, or on the submission guidelines page

    I've used max, biped and CAT with unreal but personally I use Maya for animation now. Epic's ART toolkit is basically CAT for Maya but it only makes bipedal skeletons at the moment. It's great because it creates the skeleton and systems that you need to work within unreal's requirements.  Not that you can't go it alone with your own rig or use 3dsmax, but it's the easiest way to get something into unreal and have it work with everything.


    I appreciate your response, sadly it has nothing to do with the OP.   I'm researching various ways to change a characters height.  Imagine a character customization menu in an RPG game. Now imagine a slider that changes the height of the character without resorting to re-scaling the entire figure. I'm talking about a natural height change.  You drag the slider from a height of 5'5 to say 6'4. 

    The only solution I can think of right now is to create 12 different skeleton rigs and 12 different humanoid meshes for each height, but there has to be a better way.

    1. mesh_skeletalRig_male_human_5'5.fbx
    2. mesh_skeletalRig_male_human_5'6.fbx
    3. mesh_skeletalRig_male_human_5'7.fbx
    4. mesh_skeletalRig_male_human_5'8.fbx
    5. mesh_skeletalRig_male_human_5'9.fbx
    6. mesh_skeletalRig_male_human_5'10.fbx
    7. mesh_skeletalRig_male_human_5'11.fbx
    8. mesh_skeletalRig_male_human_6.fbx
    9. mesh_skeletalRig_male_human_6'1.fbx
    10. mesh_skeletalRig_male_human_6'2.fbx
    11. mesh_skeletalRig_male_human_6'3.fbx
    12. mesh_skeletalRig_male_human_6'4.fbx
    Short Answer: The joints don't need to be in the same physical location but they need to rotate the same.

    I'm re-visiting what you said here.  Are you saying I can change the length of a bone and as long as I don't change it's rotation the animation I create for that skeleton rig will animate properly without anomalies?  Let's say I have a custom mesh, custom skeleton rig and I create a walking animation.  Now I change the length of the knee & thigh bones.  Do you think the animation will still play properly?

  • Mark Dygert
    You can make changes to the skeleton and import it as a new skeletal mesh into unreal and as long as the bone hierarchy, joint rotation order and orientation matches the original the animations will work. 

    How well they work depends on how much you changed. Obviously if you make a really tall, thin character into a dwarf, the anims will play but probably won't that good, there might be some clipping issues or other things that pop up because of he proportional differences.

    Even if the skeletons are different you can use re-targeting inside of Unreal: 
    https://docs.unrealengine.com/latest/INT/Engine/Animation/RetargetingDifferentSkeletons/
Sign In or Register to comment.