Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 同步Object3d旋转(选项卡级别)_Javascript_Three.js_Rotation - Fatal编程技术网

Javascript 同步Object3d旋转(选项卡级别)

Javascript 同步Object3d旋转(选项卡级别),javascript,three.js,rotation,Javascript,Three.js,Rotation,需要帮助 我正在尝试将“活动浏览器”选项卡中加载的一个对象的旋转与第二个选项卡中加载的另一个对象的旋转同步。旋转在活动浏览器选项卡中加载的对象时,将向另一个浏览器发送消息。在第二个选项卡中,将侦听从第一个选项卡发送的消息,并使用旋转值相应地旋转对象。我的代码如下所示(我参考了示例) 侦听器代码 hermes.on('rotation', (rotationObj) => { // rotationObj structure: {rotation: { _x: 0, _y: 0: _

需要帮助

我正在尝试将“活动浏览器”选项卡中加载的一个对象的旋转与第二个选项卡中加载的另一个对象的旋转同步。旋转在活动浏览器选项卡中加载的对象时,将向另一个浏览器发送消息。在第二个选项卡中,将侦听从第一个选项卡发送的消息,并使用旋转值相应地旋转对象。我的代码如下所示(我参考了示例)

侦听器代码

  hermes.on('rotation', (rotationObj) => {
  // rotationObj structure: {rotation: { _x: 0, _y: 0: _z: 0}, quaternion: { _x: 0, _y: 0: _z: 0, _w: 0}}
      const target = JSON.parse(rotationObj);
      SecondObject.rotateX(target.rotation._x);
      SecondObject.rotateY(target.rotation._y);
      SecondObject.rotateZ(target.rotation._z);
 })
这里的问题是第二个对象没有与第一个对象正确同步。有人知道我做错了什么吗


谢谢,

在一个选项卡中,您可以请求当前(绝对)旋转。在另一种情况下,除了当前旋转之外,还可以通过这些值进行旋转。这将在第一次设置非零旋转后立即中断

您需要的是指定旋转,方法是

SecondObject.rotation.copy(target.rotation);

非常感谢你。你救了我一天。同步问题仍然存在。如果我以不同的角度旋转两次以上,第二个物体就会失去同步。这是gif演示——事实上,我做错了。我正在将轨道控制与控件一起使用。enableRotate=true;这应该是假的。
SecondObject.rotation.copy(target.rotation);