Makehuman Scaling not working properly

Hi,

I’m trying to scale a makehuman character and it’s work perfectly FINE. but when I’m trying to scale it in specific parts sometime it works sometime it’s not. Why I’m having this issue. here is a code snippet:

 Bone thighRight = control.getSkeleton().getBone("thigh.R");
 thighRight.setUserControl(true);
 thighRight.setUserTransforms(Vector3f.ZERO, Quaternion.IDENTITY, new Vector3f(1f,2f,1f));

It’s working fine with lower leg part but the upper is not working properly. The character become distorted.

Thanks in advance !

A picture is worth a thousand "distorted"s but without knowing anything about what your ‘distorted’ looks like, maybe it’s that you are assuming that non-uniform y scaling will work in the direction you want and it isn’t. Maybe you need to scale a different axis for different parts.

The thigh part should be scale horizontally but it bends.

What does it look like if you change the 2 to a different place?

At the risk of repeating myself, I think you are assuming axes are oriented a particular way but that’s a perhaps poor assumption. Blender hides this nastiness from you because it lets you manipulate joints in world space.

Due to how jME combines transforms, non-uniform scaling will always be broken. At the very least, you should avoid scaling bones which have parent bones with rotations applied to them (like in this case).