想将子物体的世界坐标输出出来网上大多能搜到:
var pos = new THREE.Vector3();
object.getWorldPosition( pos );
但是有时候又会出现输出的是物体的相对坐标的问题,查了一下是因为场景的矩阵没有更新,需要在调用getWorldPosition之前先更新一下场景矩阵,代码如下:
scene.updateMatrixWorld();
var pos = new THREE.Vector3();
object.getWorldPosition( pos );
还有一些直接从矩阵中直接取数据的方法可以参考这篇。
在Three.js中,正确获取子物体世界坐标的关键在于更新场景矩阵。当遇到物体坐标输出错误时,可能是因为未及时更新场景矩阵。解决这个问题的代码是在调用`getWorldPosition`之前使用`scene.updateMatrixWorld()`。此外,也可以直接从矩阵中提取数据,但确保矩阵是最新的至关重要。
1208

被折叠的 条评论
为什么被折叠?



