前回コントローラのタッチパッドを中心にコントローラからの入力について記載しましたが、今回は、コントローラの傾きや動きを知るための角度・加速度・回転角速度(Gyro)について記載したいと思います。

加速度

コントローラに対する加速度のXYZ方向は以下のようになります。また得られる数値の単位はm/s^2(メートル毎秒毎秒)です。

角度

APIからはQuaternionが得られますが、それをオイラー角度に変換できる(※)ので、今回はオイラー角でどこが軸になるのかを記載します。
また回転は基本となる状態があって、その状態からどれだけデバイスが傾いているかになります。その基本となる状態は、コントローラのホームキーを長押下することにより、リセットされます。ただし、リセットされるのはY軸方向の回転角度のみのようです。
※ Quaternion.eulerAngles

以下のXYZ軸を中心、且つその方向に上にした状態で、右回転したときの角度となります。

具体的には以下のようになります。
※ 各0度の状態はコントローラのホームキーを長押下した直後と考えてください。
X軸による回転Y軸による回転Z軸による回転
0度(360度)
90度
180度
270度

Y軸回転が結構曲者で、どのタイミングをベースにしているかによって、角度が変わってしまいます。なので、あまりY軸回転をトリガーに何かをするのは難しいかもしれないです。

回転角速度(Gyro)

回転角速度(Gyro)は回転する速さになります。なので、回転軸と回転の方向は角度と一緒になります。

コメントの投稿