用 fragProxy.setMatrix 方法,不是直接设置 position 和 quaternion tree.enumNodeFragments(nodeId, (fragId) => { let fragProxy = viewer.impl.getFragmentProxy(viewer.model, fragId); let newMatrix = new THREE.Matrix4(); // 计算新的变换矩阵 // 这里你可以添加对newMatrix的操作,如平移、旋转等 // 应用新的变换矩阵 fragProxy.setMatrix(newMatrix.toArray()); fragProxy.updateAnimTransform(); }); 用 THREE.Matrix4 的 makeTranslation 方法来建一个平移矩阵: let moveMatrix = new THREE.Matrix4(); moveMatrix.makeTranslation(xOffsetAmount, 0, 0); newMatrix.multiplyMatrices(fragProxy.matrixWorld, moveMatrix);