我有两个独立的传感器,它们以四元数的形式向我的three.js webapp广播(每50ms)它们的旋转。传感器连接在一起,因此它们一起旋转,但是它们的内部(相对)坐标是不同的,所以我的两个三个物体不会同步并且#34;
我想要做的是将按钮的旋转差异存储在按钮上并使用它来“纠正”#34;在此之后,对象的旋转之一不断。
我试图做的事情:
按下按钮计算差异:
let q1 = object1.getWorldQuaternion();
let q2 = object2.getWorldQuaternion();
qDiff = q1.multiply(q2.inverse());
更新轮换时,将该差异添加到object1:
q = recieveQuaternionFromSensor();
object1.setRotationFromQuaternion(q.multiply(qDiff));
上述方法无效,我不确定应该采取哪些不同的方式。