当一个object3D对象的position或者rotation发生变化时,使用object3D对象的getWorldPosition()返回的世界坐标可能不正确。因为three.js的相对坐标改变后世界坐标默认不会自动更新,而是到了渲染时才更新。
解决办法:在更改相对坐标后,如果要马上获取其世界坐标或者子对象的世界坐标,首先要调用object3D对象的updateMatrixWorld()强制更新世界坐标。然后获取的世界坐标才是正确的。
当一个object3D对象的position或者rotation发生变化时,使用object3D对象的getWorldPosition()返回的世界坐标可能不正确。因为three.js的相对坐标改变后世界坐标默认不会自动更新,而是到了渲染时才更新。
解决办法:在更改相对坐标后,如果要马上获取其世界坐标或者子对象的世界坐标,首先要调用object3D对象的updateMatrixWorld()强制更新世界坐标。然后获取的世界坐标才是正确的。