Three.js如何让对象相对于另一个旋转?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Three.js如何让对象相对于另一个旋转?相关的知识,希望对你有一定的参考价值。
我有一个相机和一个盒子。我想让相机的旋转就好像它是盒子的孩子一样,而不是实际为相机做父母。
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);
以上是关于Three.js如何让对象相对于另一个旋转?的主要内容,如果未能解决你的问题,请参考以下文章