ウィンナスのプログラミング忘備録

アプリケーション制作をしている最中に発見したテクニックを忘備録としてまとめていきます。

【Unity】加速度センサーを使ってみた

今回は加速度センサーについて書いていきます。

加速度センサーはスマホタブレットの傾きを検知するセンサーです。

以前にAndroid Studio(java)でやったことあるんですが、Unityははるかに簡単でした(笑)

では、実際にやっていきます!

まずは分かりやすいように加速度センサーで動かすオブジェクトを置いておきます。

f:id:win-friendof:20160621234946p:plain

図にある黒丸を動かしていきます。

まずはこいつにScriptを追加します。

私の場合は「accSensor」と付けました。

次にaccSensorの中身を作っていきます。

今回はC#で実装しました。↓↓

using UnityEngine;
using System.Collections;

public class accSensor : MonoBehaviour {

	//加速度センサーの傾きを入れるやつ
	private Vector2 acc_vec;

	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
		//加速度を取得
		//※加算しないとちょっとしか移動しませんよ!
		acc_vec.x += Input.acceleration.x;
		acc_vec.y += Input.acceleration.y;
		if (acc_vec != null) {
			transform.position = acc_vec;
		}
		/**
		//ちなみに一気に取得もできる
		acc_vec = Input.acceleration;
		**/
	}
}

Input.accelerationで傾きを取得します。

傾きの取りうる範囲は[-1~1]なので加算しないと[-1~1]の間でしか動きません><;

これをスマホで起動すると傾きで黒い玉が動くようになります♪

f:id:win-friendof:20160622000943g:plain