Website Youtube GitHub

Extra joints in Ankle and Wrist (game skeleton)


#1

Hi,

I’m trying to build a Game ready rig, more specially a rig with a skeleton for unreal engine. I want to try and reduce the number of bones to the min possible without getting bad deformation.

It’s really nice that I can reduce the roll bones in both arms and legs (thanks for this update :D) but shifter still adds a “leg_R0_end_jnt”, “arm_R0_end_jnt” to the end of the Legs and Arms.

As a workaround I parented the foot joint to the leg and removed the *_end_jnt, and it works…I haven’t done much testing yet but looks like it works. Is this the correct way to do it? :thinking:

But this made me wonder (fyi, I’m a animation with basic rigging skill).
Why are these extra joints there?
…only to help skinning deformation?
…for FK/IK switching?

It would be nice if there was a option on the settings of the component to remove it (like there is for roll joints) :slight_smile:


#2

Hi there @Gui
Yes, those extra joints are there to help with the deformation.
In my experience I have constrained my own custom skeleton to the mGear result skeleton with a post script. This way I had the control over the number and names of the joints. Just make sure your custom skeleton has zeroed out rotations, it can cause problems in your game engine if the bind post has rotations on the joints.
Hope that helps you :slight_smile:


#3

Thanks @Lucas_Brown ! that was my plan B if I didn’t manage to get the mgear working directly.
I’m not very good at scripting, is there a possibility you can share with me the script you use to bind the custom skeleton to the mGear result skeleton? then I can make changes to your script to work with mine


#4

You’ll have to make your own skeleton and line it up yourself since every rig is a little different. Once you have that its a matter of a little script with a line like this for every normal joint in your skeleton.
cmds.parentConstraint("MySkeleton_jnt_name", "mGearSkeleton_jnt_name")
For twist joints you just want to constrain the rotation.
cmds.orientConstraint("MySkeleton_jnt_name", "mGearSkeleton_jnt_name")

You probably don’t want to use scale on your bones depending on the game engine.

My actual script is built into a pipeline so I unfortunately can’t share it, but I hope this gets you started at least.


#5

this already helps my noob brain alot! ahah
thanks! :smiley: