iPhoneのUnityRemote4でジャイロ
昨晩ハコスコをぽちったので昼にジャイロを触っていた所、
UnityRemote4でのジャイロ取得につまずきました。
実機ビルドであれば下記のコードで問題無いのですが、
UnityRemote4だとジャイロが取得できません。
void Update(){ transform.localRotation = Input.gyro.attitude; }
UnityRemote4でジャイロを取得する為には下記のコードを追加する必要がある様です。
void Awake(){ Input.gyro.enabled = true; }
これでUnityRemote4でもInput.gyroが取得出来るはずです。
実際にジャイロを使う為にはiPhoneの右手座標系を、
Unityの左手座標系に変更する必要があります。
諸々書いたのが下記のコードです。
public class DeviceGyro : MonoBehaviour { void Awake(){ Input.gyro.enabled = true; } void Update(){ Quaternion gyro = Input.gyro.attitude; float y = gyro.y; gyro.y = gyro.z; gyro.z = y; gyro.x *= -1.0f; gyro.y *= -1.0f; gyro.z *= -1.0f; transform.localRotation = gyro; } }
本来Quotanionのxyzをよくわからず直接変更するべきではありませんが、
正しい挙動をしている様なのでこんな感じに。
後は移動量さえ取れれば!という所で悩んでます。