1

我有一个对象,它的 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);

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

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

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

我该如何解决?

提前致谢。

4

1 回答 1

1

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

this.transform.rotation =  Quaternion.LookRotation(controller.transform.right, Vector3.up);
于 2019-08-23T15:20:58.673 回答