如何将对象的 X 旋转设置为与 VR 控制器的 X 旋转相同

How to set X rotation of object the same as X rotation of VR controller

我有一个对象,其 x 旋转与 vr 的控制器相同。

transform.rotation = Quaternion.Euler(controller.transform.rotation.eulerAngles.x, 0, 0);

但是我需要将它旋转 90 度,这样对象才会垂直而不是水平。

transform.rotation = Quaternion.Euler(controller.transform.rotation.eulerAngles.x + 90, 0, 0);

但这不能正常工作,因为您只能沿一个方向旋转对象。

如果你旋转控制器 -> 对象旋转 & 如果你旋转控制器 -> 对象旋转。 如果要向左旋转对象,则必须将控制器倒置旋转。

我也试过将对象设置为控制器的子对象,但在播放对象时 消失

我该如何解决?

提前致谢。

您可以指定您的旋转等于控制器的右向量。

this.transform.rotation =  Quaternion.LookRotation(controller.transform.right, Vector3.up);