【发布时间】:2019-10-25 11:39:01
【问题描述】:
我在一个组中有三个立方体网格(A、B、C)。然后我将这些组作为一个层次结构。
A 组 -> B 组 -> C 组
我需要围绕世界轴旋转 B 组并找到网格 C 的位置。
为了绕世界轴旋转,我使用了here给出的代码
我有一个小的rotate_cubes 函数来执行旋转。旋转后,它会记录getWorldPosition() 的结果。但我没有得到更新的位置。我得到了立方体 C 的旧位置。
function rotate_cubes(group) {
group.rotateAroundWorldAxis(make_vector3(), make_vector3(1, 0, 0), 15 * THREE.Math.DEG2RAD)
let pos = make_vector3()
cube3.getWorldPosition(pos)
console.log(pos)
}
如何计算旋转后的位置?
感谢您的帮助。
【问题讨论】:
-
您能否在应用旋转后尝试通过
updateMatrixWorld()更新B 组的世界矩阵?在下一步中,尝试检索网格 C 的世界位置。 -
非常感谢@Mugen87!现在可以了。我错误地假设矩阵会自动更新。
-
另外请将此添加为答案,以便我将其标记为答案。其他人会更容易找到。
标签: three.js