首页 > 解决方案 > A-Frame:从控制器旋转更新实体旋转

问题描述

我正在从我的激光控制器的 y 旋转更新实体的 y 旋转。问题是控制器的 y 旋转没有添加到实体的现有 y 旋转中。例如:我通过单击控制器上的按钮来旋转实体。实体像我的控制器一样旋转。但是我想保持实体的旋转并在下次决定旋转实体时添加控制器的旋转。

当前的行为是这样实现的:

tick: function () {
  this.el.object3D.rotation.y = this.laser.object3D.rotation.y;
}

我想要的是

this.el.object3D.rotation.y = this.el.object3D.rotation.y + this.laser.object3D.rotation.y;

它也应该在另一个方向上工作

this.el.object3D.rotation.y = this.el.object3D.rotation.y - this.laser.object3D.rotation.y;

标签: aframe

解决方案


需要更多上下文,链接来说明。您必须跟踪实体的初始旋转,然后您可以执行以下操作:

this.el.object3D.rotation.y = initialRotation.y + this.laser.object3D.rotation.y;


推荐阅读