ぬるぽだって色々 (ログに)咲き乱れるの
という訳でAdvent Calendarもなんだかんだで3回目、専門学校界の旅キチ(自称)です。
今回はUnityを利用してスマホアプリを制作する際に役に立つ、ジャイロセンサーについてお話ししたいと思います。
#そもそもジャイロセンサーとはなんぞや
ジャイロセンサーとは、一言で言うとスマホの傾き等の状態を検知するためのセンサーです。
これを利用することにより、スマホを傾けたり、降ったり、といった情報を取得することができます。
#ジャイロいろいろ
ジャイロとひとくちに言っても、一般的には3つの項目に分かれます。
- 現在どのような傾きになっているか
- XYZ軸でどれほどの力で回転しているか
- XYZ方向にどれほどの力が加わっているか
一つずつ説明していきましょう。
###現在どのような傾きになっているか
Input.gyro.attitude
によって、Quaternion
型で取得できます。
例えば、スマホを傾けた方向にボールを転がしたい、等といった場面で使用できます。
###XYZ軸でどれほどの力で回転しているか
Input.gyro.rotationRateUnbiased
によって、Vector3
型で取得できます。
例えば、スマホを現在の傾きより手前に傾けることで何か動作をしたい、という場面等で役立ちます。
最近のiPhoneに搭載されている、スリープ状態から手前に倒すと画面が点灯する、というのを想像してもらえると分かりやすいかと。
###XYZ方向にどれほどの力が加わっているか
Input.acceleration
によって、Vector3
型で取得できます。
例えば、スマホを振ることによって何か動作させたい、といった場面で役立つでしょう。
#実機確認の壁
さて、ここまで紹介したジャイロセンサーですが、利用にあたって一つ問題があります。
それは、そもそも実機で確認するにはスマホからUnityに情報を渡せるようにしないといけない、という点です。
Androidであれば誰でも自作したアプリを手持ちのデバイスにインストールできるのですが、iPhoneだとそうはいきません。(有料のデベロッパ登録が必要)
そもそもAndroidにしたってちょっとジャイロセンサーを確認するためにいちいちインストールするのはかなりの手間となるでしょう。
そこでUnityにはとても便利なツールが用意されています。
それがこちら、アプリのダウンロードも以下にリンクがあります。
Unity Remote(公式マニュアル)
こちらのUnity Remoteのアプリをスマホにインストールすることで、実機ビルドすることなくジャイロセンサー情報をはじめとした様々な情報をUnityに送ることができるようになります。
こちらとても便利なのですが、動作としてはUnityエディタで実行している映像をスマホに転送する形になるので、実フレームレートはかなり低下するのでご注意を。(音楽ゲームなどリアルタイム性が要求されるものはきついかも?)
ジャイロセンサーもいろいろ、人生も台風で沖縄から帰れなくなったりいろいろ。
ぬるぽにはくれぐれもお気をつけて、快適な開発ライフを。