Threejs模型将位置设置为(0,0,0),但场景显示不是(0,0,0)

时间:2020-05-29 09:00:11

标签: three.js model position gltf

今天用Threejs开发时,我在模型设置位置遇到了问题

这是我的装载机Gltf模型代码?(打字稿)

const loadGltf = (url: string, name: string) => {
    loader.load(url, (gltf) => {

        const object = gltf.scene.children[0]
        object.name = name
        object.position.set(0, 0, 0)

        if (scene) {
            scene.add(object)
            scene.add(new THREE.BoxHelper(object, new THREE.Color(0xffff00)))
        }

    })
}

但是..这样的场景秀

The position of sphereMesh is (0, 0, 0)

我检查了很长时间的文档,但是没有相关描述。 我怎么解决这个问题? 如果您了解,您能告诉我吗?这可以帮我一个大忙!??

1 个答案:

答案 0 :(得分:0)

我认为您正在加载的gltf模型的原点设置为远离对象本身。如果这是您创建的模型,请尝试在Blender或类似程序中打开它,并确保其原点位于模型本身上。

当您在threejs中调用yourObject.position.set()时,它将相对于3D形状的原点,而不是您在视觉上看到的物理对象。