1. Qiita
  2. 投稿
  3. Unity

Unity Editor上で加速度センサーを使う

  • 7
    いいね
  • 0
    コメント

開催まで1ヶ月となったGlobalGameJamに向けて、ネタ作りの1つとして加速度センサーを使ってみました。
今まではAndroid実機に転送し確認という方法でやっていて転送に時間がかかるという感じでした。
外部から加速度を入力する方法としてArduinoからシリアル通信で受信する方法を検討していた時があり、その調査段階でUnity Remoteでできるということがわかったので紹介したいと思います。

開発環境

  • OS X El Capitan 10.11.6
  • 実機Android 6.0

加速度センサーから取得した加速度を角度に変換する

using UnityEngine;
using System.Collections;

public class AccelerationController : MonoBehaviour {

    void Start () {

    }

    void Update () {
        float eulerAngleX = Mathf.Atan2 (Input.acceleration.z, Input.acceleration.x) * Mathf.Rad2Deg;
        float eulerAngleZ = Mathf.Atan2 (Input.acceleration.z, Input.acceleration.y) * Mathf.Rad2Deg;

        Vector3 eulerAngles = transform.eulerAngles;
        eulerAngles.y = 0;
        eulerAngles.x = eulerAngleX;
        eulerAngles.z = eulerAngleZ;
        transform.eulerAngles = eulerAngles;

    }
}

作成したAccelerationControllerをCubeへ追加する
スクリーンショット 2016-12-19 18.21.29.png

Android端末へUnity Remoteをインストール後にEditor上から実行すると加速度センサーから計測値が取得できます。

ケーブル接続なしで実行する方法

ケーブルを接続した状態でターミナルを開き下記のコマンドを実行します。

$ adb tcpip 5555
$ adb connect 192.168.1.3:5555 # Android端末のIPアドレスを指定してください

あとはケーブルを抜いてUnity Editor上で再生すると確認できます

参考

Unity Remote公式

今年はGlobalGameJam岡山会場へ参加する予定で、とても楽しみです。

この投稿は Unity Advent Calendar 201619日目の記事です。
Comments Loading...