【发布时间】:2020-08-04 04:08:07
【问题描述】:
我正在使用 three.js 库来处理 3d 模型(主要是 .glb,但没关系)
这个想法是导入一个包含组和网格的 3d 模型。我希望能够在模型中已存在的组之间移动网格,而无需更改模型的视觉表示。 我的一段代码如下。移动内部是
movedMesh.matrixWorldNeedsUpdate = true; // not sure if it's needed
let meshPosition = new THREE.Vector3();
movedMesh.getWorldPosition(meshPosition);
oldParent.remove(movedMesh);
newParent.add(movedMesh);
movedMesh.worldToLocal(meshPosition);
movedMesh.position.set(meshPosition.x, meshPosition.y, meshPosition.z);
这是行不通的。 Mesh 改变了它的全局位置,因为新父级的位置与以前的父级位置不同,但我希望它保持在原来的位置,但考虑到新父级的位置改变它的本地位置。
我做错了什么?
【问题讨论】:
标签: three.js 3d positioning