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

问题描述 投票:0回答:1

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

这是我的装载机Gltf模型代码👇(typescript)。

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)))
        }

    })
}

但是... 场景是这样的

sphereMesh的位置是(0,0,0)

我查了很久的文件,但是没有相关的说明,我该怎么解决这个问题呢,如果你了解,可以告诉我吗?

three.js model position gltf
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.