Three.js如何让对象相对于另一个旋转?

问题描述 投票:1回答:1

我有一个相机和一个盒子。我想让相机的旋转就好像它是盒子的孩子一样,而不是实际为相机做父母。

THREE.js有object.worldToLocal(position),它可以正确地获取相机相对于盒子的位置,但是这个函数当然不适用于euler旋转,所以我正在寻找euler或四元数旋转的等价物。

Unity有transform.InverseTransformDirection(vector),我正在寻找类似的东西。

谢谢!

javascript three.js
1个回答
0
投票

好的,我想我明白了!

  var rot = camera.getWorldQuaternion();
  rot.multiply(box.getWorldQuaternion().inverse());
  var euler = new THREE.Euler().setFromQuaternion(rot);
© www.soinside.com 2019 - 2024. All rights reserved.