CC4 Character Bone Stretching Issue in Three.js

Hello Reallusion Team,

I’m currently working with a Character Creator 4 (CC4) model exported for use in Three.js, and I’ve encountered an issue related to bone transformations.

When rotating certain bones in Three.js (for example during animation or procedural control), the mesh appears to stretch or deform incorrectly, as if the bone scaling or skinning is not behaving as expected. This results in unnatural elongation of limbs or distorted geometry.

Here are some additional details:
The character is exported from CC4 (FBX/GLB format)

Imported into Three.js using standard loaders (e.g., GLTFLoader)

The issue occurs specifically during bone rotation (not translation)

No intentional scaling is applied in my code
I suspect this might be related to how CC4 handles bone scaling, skin weights, or possibly non-uniform scaling baked into the rig.

Could you please advise:
Is this a known issue when using CC4 characters outside of Reallusion tools?

Are there recommended export settings to avoid bone stretching in external engines like Three.js?

Should bone scaling be reset or removed before export?

Is there a preferred workflow (e.g., via iClone, Blender cleanup, etc.) to ensure correct deformation?

Any guidance or best practices would be greatly appreciated.

Thank you in advance for your help!

Best regards,
Leslie

Hi Leslie

To get this looked into by the CC team, please can you report it in the Feedback Tracker. The FT is the best way to get issues logged and corrected in future updates. You will also get a status update there once the issue has been checked. Thanks.

Hi Leslie,

I’ve run into a very similar issue when using Character Creator 4 characters in Three.js, so you’re definitely not alone. What you’re seeing is often related to how CC4 rigs handle bone scaling and how that data gets interpreted outside the Reallusion ecosystem.

In many cases, CC4 characters include subtle non-uniform bone scaling or pre-baked transforms that work perfectly in tools like iClone, but can cause deformation issues in Three.js during rotation.

A few things that helped me:

  • Exporting as GLB with “Reset Scale” and ensuring no non-uniform scaling is present
  • Running the model through Blender to apply all transforms (Apply → All Transforms) before re-export
  • Verifying skin weights and checking for any bone scale inheritance issues
  • Avoiding any runtime scaling on parent bones in Three.js

Also, sometimes using Blender as a cleanup bridge fixes hidden rig inconsistencies before bringing it into Three.js.

Hope this helps point you in the right direction—curious to see if the Reallusion team has an official recommendation as well!