今天用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)
我检查了很长时间的文档,但是没有相关描述。 我怎么解决这个问题? 如果您了解,您能告诉我吗?这可以帮我一个大忙!??
答案 0 :(得分:0)
我认为您正在加载的gltf模型的原点设置为远离对象本身。如果这是您创建的模型,请尝试在Blender或类似程序中打开它,并确保其原点位于模型本身上。
当您在threejs中调用yourObject.position.set()时,它将相对于3D形状的原点,而不是您在视觉上看到的物理对象。