ヘッドセットの傾きを利用してプレーヤーを動かす、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);
}