Importing GLTF.... Why is the scale.z set to -1?

This is a very weird behavior and i was able to test it on other peoples playgrounds… example
https://www.babylonjs-playground.com/#MUCLVK#1

i also tried different loaders and they all basically are the same, either the scale.z is set to -1 while x and y are 1;
and/or the rotation.y gets set to 180

drag and dropping in the babylon editor of a gltf/glb does the same. I also tried different versions of babylon and the results were the same.

all of this is on the root node.

This does not happen in ThreeJS, the root node’s scale are all set to 1, and rotations are all set to 0.

I think that’s because GTLF coordinate system is right handed, whereas Babylon is left handed by default.

When working with GLTF, I think you should always add this line after scene creation and before doing anything else:

scene.useRightHandedSystem = true;

With this line, you should not have to multiply by -1 / rotate Y by 180°.

3 Likes

That was absolutely the issue. I don’t remember seeing this in any of the documentation i read. Thank you very much! Keep up the amazing work :smiley:

1 Like