おもちゃラボ

Unityで遊びを作ってます

UnityでWiiリモコンの加速度センサ値を取得する

UnityでWiiリモコンの加速度センサの値を取得する方法を紹介します。
とりあえずMac環境ですが・・・・

まずはシステム環境設定のBluetoothの項目を開きます。

f:id:nn_hokuson:20160928201032p:plain

この状態でWiiリモコンのペアリングボタンを押すと
画面にNintendo RVL-CNT-01が表示されます。
「ペアリング」を押して接続を完了して下さい。

f:id:nn_hokuson:20160928202823p:plain

続けて、Wiiリモコンを扱うためのライブラリを入手します。
下記のページからWiiリモコン用のUnityプロジェクトをダウンロードしてください。
ページ右上の「Clone or Download」ボタンをクリックして、「Download ZIP」を選択します。

github.com

ダウンロードしたフォルダのAssets/Scene.unityを開いて、
実行すると次のような画面が表示されるので、
「Find Wiimote」ボタンをクリックして下さい。

f:id:nn_hokuson:20160928203614p:plain

次のような画面が表示されたら成功です!
この段階でWiiリモコンのボタンを押すと画面上のWiiリモコンが反応します。

f:id:nn_hokuson:20160928204723p:plain

ただ、加速度センサの値を表示するためにはもう一手間必要になります。
まず、Assets/ScriptsのなかのWiimoteDemo.csを開き、
Update関数の最後にGetAccelVector関数を追加して下さい。

	void Update () {
		・
		・
		ir_pointer.anchorMax = new Vector2(pointer[0], pointer[1]);
		Debug.Log(GetAccelVector ());
	}

	void OnGUI()
	{
		GUI.Box(new Rect(0,0,320,Screen.height), "");

もう一度実行ボタンを押し、「Find Wiimote」ボタンをクリックします。
接続後に「But/Acc」ボタンをクリックすると、加速度センサの値の取得を開始し、
コンソールに加速度センサの値が表示されます。

f:id:nn_hokuson:20160928204918p:plain


Unity5の教科書もよろしくお願い致します!