我有一个对象,其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);
但这不能正常工作,因为您只能沿一个方向旋转对象。
如果旋转控制器向右->对象旋转向右,并且如果旋转控制器向左->对象旋转向右。 如果要向左旋转对象,则必须上下颠倒旋转控制器。
我还尝试将对象设置为控制器的子对象,但在播放时消失了。
我该如何解决?
谢谢。
答案 0 :(得分:1)
您可以将旋转角度设置为等于控制器的右向量。
this.transform.rotation = Quaternion.LookRotation(controller.transform.right, Vector3.up);