我有一个相机和一个盒子。我想让相机的旋转就好像它是盒子的孩子一样,而不是实际为相机做父母。
THREE.js有object.worldToLocal(position),它可以正确地获取相机相对于盒子的位置,但是这个函数当然不适用于euler旋转,所以我正在寻找euler或四元数旋转的等价物。
Unity有transform.InverseTransformDirection(vector),我正在寻找类似的东西。
谢谢!
好的,我想我明白了!
var rot = camera.getWorldQuaternion();
rot.multiply(box.getWorldQuaternion().inverse());
var euler = new THREE.Euler().setFromQuaternion(rot);