Home Website Youtube GitHub

Extra rotations on Elbow and knee joints

When I rotate/translate Arm_ctrl axis Z - I have extra rotations (x,y) on joint.
How to lock X,Y rotations?

#EpicMetahumanTemplate #EpicMannequinTemplate

When you place the guides for those limbs, make sure you only translate them along their local plane of movement.
You can reset them to the plane by Zeroing out their translates and then move them in local space along the X axis only and Z if needed.

1 Like

Good call that’s important! And probably a bad thing that the template example isn’t planar. But even doing that, there is still a bit of inaccuracy. Even setting a flat T-pose.

I can seem to trace it back to this node (for the arm example) arm_L0_tws1_loc

It is slightly skewed from the arm, even if I set the arm in a planar pose. It’s hard to say exactly why without digging deeper. But with the twist nodes and stuff, this is definitely not a straight-forward FK component.

(It would be nice if the components would solve that triangle without the user having to do it in the guides.)

Tested with Tpose hand, and with “Epic_arm_01” component - the same result :frowning:

mGear v 4.0.9

1 Like

we need this little value on Z, or else Mgear won’t build correctly FK and IK_elbow controls.
I think it works like “set preferred angle” in the joint to make a direction for an elbow.

mGear v 4.0.9

No, the point isn’t to make the arm straight. The point is to make it a perfect triangle with no translation or rotation that skews it off of the flat planar plane. You should still rotate your elbow to make a slight bend.

1 Like

I found the core of problem. Pivots of joint and control have different positions.
if you switch on LRA you will see.

+different angle :frowning:

1 Like

Sounds like you found the issue. GJ.
I was just browsing the videos and found Miguel talking about keeping the arm joints planar. Thought I’d share.

SO, I tried all options from Guide_Template_Samples, and all components from Component_list (amr, leg). and its always offset on joints elbow and knee (rotations, sometimes translate).
It makes mGear useless for robot-style character, especially for games. :frowning:

I wonder if this is planned to be fixed in the next update?

I guess it should be fixed. This does seem like a bug or definite room for improvement. But there is no guarantee when/if it will be fixed. You (or someone reading this) could consider fixing it in the component code, and making a pull request in Github.

My reply below doesn’t answer your question, but:

I am working on a robot right now (not with mGear though), and I have two portions of the rig.

  • One which is the hard-oriented mechanical joints. They are strictly oriented to the geometry.
  • Another which is a natural animator-friendly rig with typical IK/FK.
  • And now I’m working on bridging together the two, so that the robot joints follow the animator rig. For me it is more necessary to separate these structures, because my robot rig has several different joints/pistons/bends; not just a simple elbow like you illustrate.

SOLVED: 95% :slight_smile:
so if you keep the flatness :triangular_ruler: (include “arm_C0_eff” component)
I mean:
“arm_C0_eff” move only - tx, ty, rz
“arm_C0_wrist” only - tx, ty, rz
“arm_C0_elbow” only - tx, ty, rz
“arm_C0_root” - rx, ry, rz
!!! - and “wrist blade” switch off or put 0

:ok_hand: you will get ZERO joint_elbow rotations X,Y (if you rotate control by Z)
:pinching_hand: but still have some translationsY - its becouse different LRA in joints and controls (described up)


4 Likes

Thank you, RoMan You cracked the code!