# After gltf coordinate conversion, the model is not displayed

**URL:** <https://forum.babylonjs.com/t/after-gltf-coordinate-conversion-the-model-is-not-displayed/27817>\
**Category:** Questions\
**Created:** [February 20, 2022, 3:46am UTC](https://forum.babylonjs.com/t/after-gltf-coordinate-conversion-the-model-is-not-displayed/27817 "2022-02-20T03:46:17Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![qqqzhch](https://avatars.discourse-cdn.com/v4/letter/q/e19adc/32.png) [@qqqzhch](https://forum.babylonjs.com/u/qqqzhch)\
**Post date:** [February 20, 2022, 3:46am UTC](https://forum.babylonjs.com/t/after-gltf-coordinate-conversion-the-model-is-not-displayed/27817/1 "2022-02-20T03:46:17Z")

</div>

Refer to this post

> [@How to (correctly) import gltf and add physics](https://forum.babylonjs.com/t/how-to-correctly-import-gltf-and-add-physics/20234/2):
>
> Hey @wilcoschoneveld Welcome to the Babylon Family! So great to have you here!!! Good questions. I’m bringing in @bghgary to correct me if I’m wrong about some of this. Blender is a z-up right handed world. Babylon is a y-up left handed world. To complicate things, .gltf is also a right handed coordinate system. Because the coordinate systems are different, there has to be conversion that happens between them. This happens on the Babylon gltf importer. Whenever you import a .gltf object, …

The parent level of the imported model is removed, but the model is not displayed

This is my example

> **[Babylon.js Playground](https://playground.babylonjs.com/#WGZLGJ%234449)**
>
> Babylon.js playground is a live editor for Babylon.js WebGL 3D scenes

```auto
 let snowBall = await BABYLON.SceneLoader.ImportMeshAsync("","scenes/BoomBox/", "BoomBox.gltf", scene);
     console.log('async',snowBall);
     const snowBallParent = snowBall.meshes[0];
      snowBall = snowBallParent.getChildMeshes().slice(1);
     
     snowBall.forEach((son)=>{
        son.setParent(null);
     });
     snowBallParent.dispose();

```

---

<div class="post-metadata">

**Author:** ![Blake](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/blake/32/21509_2.png) [@Blake](https://forum.babylonjs.com/u/Blake)\
**Post date:** [February 20, 2022, 4:20am UTC](https://forum.babylonjs.com/t/after-gltf-coordinate-conversion-the-model-is-not-displayed/27817/2 "2022-02-20T04:20:50Z")

</div>

Heya, the root mesh only had one child mesh so slice(1) was returning an empty array. So I just changed it to slice(0) and it’s working. 🙂  
[PG]([https://playground.babylonjs.com/#WGZLGJ#4450](https://playground.babylonjs.com/#WGZLGJ#4450)

---

<div class="post-metadata">

**Author:** ![qqqzhch](https://avatars.discourse-cdn.com/v4/letter/q/e19adc/32.png) [@qqqzhch](https://forum.babylonjs.com/u/qqqzhch)\
**Post date:** [February 20, 2022, 12:12pm UTC](https://forum.babylonjs.com/t/after-gltf-coordinate-conversion-the-model-is-not-displayed/27817/3 "2022-02-20T12:12:41Z")

</div>

After I removed the parent node and changed the texture in gltf, the texture map was still wrong. Is there any step I missed

```auto
function fixImg(scene){
    const id ='Rectangle2059392382';
    const imgmesh = scene.getMeshByID(id);
    imgmesh.material.emissiveColor=Color3.White();
    //mesh.material, "emissiveColor", Color3.White()
    imgmesh.material.emissiveTexture=new Texture('/img/13470259.jpg');
    console.log(imgmesh);
}

```

---

<div class="post-metadata">

**Author:** ![Blake](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/blake/32/21509_2.png) [@Blake](https://forum.babylonjs.com/u/Blake)\
**Post date:** [February 20, 2022, 3:02pm UTC](https://forum.babylonjs.com/t/after-gltf-coordinate-conversion-the-model-is-not-displayed/27817/4 "2022-02-20T15:02:18Z")

</div>

Trying passing false to not invert the texture (for the fourth param). Otherwise will prob need a PG for it.

```auto
new Texture('/img/13470259.jpg', scene, true, false)

```

---

<div class="post-metadata">

**Author:** ![qqqzhch](https://avatars.discourse-cdn.com/v4/letter/q/e19adc/32.png) [@qqqzhch](https://forum.babylonjs.com/u/qqqzhch)\
**Post date:** [February 23, 2022, 7:07am UTC](https://forum.babylonjs.com/t/after-gltf-coordinate-conversion-the-model-is-not-displayed/27817/5 "2022-02-23T07:07:48Z")

</div>

I found that after the root of transformnodes is removed, the child node mapping of transformnodes is still wrong

---

<div class="post-metadata">

**Author:** ![sebavan](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/sebavan/32/57_2.png) [@sebavan](https://forum.babylonjs.com/u/sebavan)\
**Post date:** [February 23, 2022, 2:50pm UTC](https://forum.babylonjs.com/t/after-gltf-coordinate-conversion-the-model-is-not-displayed/27817/6 "2022-02-23T14:50:04Z")

</div>

not sure what you mean @qqqzhch could you share a playground highlighting your issue ?

---

<div class="post-metadata">

**Author:** ![Blake](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/blake/32/21509_2.png) [@Blake](https://forum.babylonjs.com/u/Blake)\
**Post date:** [February 23, 2022, 4:34pm UTC](https://forum.babylonjs.com/t/after-gltf-coordinate-conversion-the-model-is-not-displayed/27817/7 "2022-02-23T16:34:15Z")

</div>

I think the problem is that your’e removing the parent from all descendants of the root mesh, not just its direct descendants. If you pass true to getChildMeshes() then you can remove the parent for just the meshes that have the root mesh as their parent. Otherwise if there’s still an issue a new PG will help us get to the bottom of it. 🙂

```auto
snowBall = snowBallParent.getChildMeshes(true).slice(0);

```
