こんにちわ。ゆきぽんずです。
今日はUnityでAndroidの加速度センサの値を取得したいと思います。
使用した機器
UnityのVersion : 2018.3.8f1
Android端末 : XperiaCompact
*今回の記事ではUnityとAndroidの連携についてはできているものとしています。
出来てない人は以下のサイトがオススメです。
(オススメのサイト : https://qiita.com/taroyan/items/2ff7f6aadd640221bde5)
記事の目的
Androidで加速度センサの値を取得する方法の学習
アプリを作成するための手順
1. 新しいプロジェクトを立ち上げます(名前は個人で決めてください)。
2. File => Build Settingsをクリック、細かい設定をする
2.1 platformをAndroidに変更
2.2 Sceneに何もなければAdd Open Scenesをクリックして既存のSceneを追加
2.3 Player Settings => Others Settings => Package Nameを変更(変更しないとエラーが出ます)
2.4 Player Settings => Others Settings => MinimumAPIを変更(自分のAndroid端末のAPIを満たしているかを確認してください)
3. GameObject => UI => Textをクリックし、Duplicateを2回行い、それぞれにAccelerationX, ...等の名前を付ける(Canvasは自動生成される)
*今回は見やすいように他の部分もいじっていますが、絶対に必要な部分ではないので割愛しています(そこを含めると複雑になるので)。
3.1 Create => C# Scriptをクリックし、accelerationという名前を付ける
以下のサイトのコードをコピぺする
https://github.com/yukiyukiponsu/AccelerationMeasure
4. Canvasにacceleration.csをAddComponentし、UnityEditorを実行すると...
加速度が永遠に0と表示されます。
これをAndroidにBulid & Runすれば、最初に見せた動画のようにAndroidで動くようになります。
ただ問題なのは加速度の周波数が変更できないこと(Androidの場合周波数が60Hzで固定になっているそう)。
しかも重力加速度が入ってるので、純粋な加速度ではなさそう。
まだまだ改良の余地ありです。
今日は以上です。
今日もブログを読んでくださりありがとうございます。
それでは失礼します。