我正在为 Oculus Rift 开发一种新的控制方案,该方案利用耳机的倾斜来移动播放器。意思是,你前后倾斜你的头来向前和向后,从一边到另一边扫射。相机被绑在一个滚动的球体上,因为这给了它一种很好的加速感,感觉有点像飞来飞去。到目前为止,它运行良好,但仅在全局轴上。所以如果你向左转头向前倾斜,你仍然按照起始位置向前走(如果你面向左边意味着你会向右走)。我正在尝试修复它,以便您可以相对于相机所面对的方向前进和扫射,但没有运气。我有一种强烈的感觉,这是一件简单得可笑的事情,但我似乎找不到它。
这是我现在在滚动球体上的内容:
public GameObject RightCamera;
void FixedUpdate(){
float angleX = RightCamera.transform.eulerAngles.x;
angleX = (angleX > 180) ? angleX - 360 : angleX;
float angleZ = RightCamera.transform.eulerAngles.z;
angleZ = (angleZ > 180) ? angleZ - 360 : angleZ;
Vector3 movement = new Vector3 (-angleZ, 0, angleX);
GetComponent<Rigidbody>().AddForce (movement);
}