PSMoveを傾けて仮想ジョイスティックを作る

ニコニコ超会議で出展した"Unbounded Space"にはPSMoveを使っていましたが、開発中、仮想のジョイスティックみたいにできたらいいなー、と思ってました。

ちょうどきっかけもあったので原理確認だけ試してみました。

こんな感じに動かすことができます。

使ったもの

・PSMove本体
[ソフト]
・UnityPro
[Asset]
・Unimove(http://www.copenhagengamecollective.org/projects/unimove/)

※UnimoveはMacでしか動きません(2014/3/31時点)。またアプリケーション化するには少し手間が要ります。下記を参照ください。

UnityでPSMoveを使うときの注意点 - Cross Road

手順

1. Unimoveを入手し、Unityプロジェクト内にインポートします。

2. cubeオブジェクトを配置し、scaleを例えば(100,400,100)とします。

3. UniMoveTest.csをcubeにアタッチします。

4. UniMoveTest.cs/Updete()内に以下の1行を追記します。

void Update() 
	{
		foreach (UniMoveController move in moves) 
		{
                //省略
                this.gameObject.transform.rotation = Quaternion.Slerp(this.gameObject.transform.rotation,Quaternion.Euler(move.Acceleration.x*-90.0f,move.Acceleration.y*90.0f,move.Acceleration.z*90.0f),0.5f );
                }
        //省略
      }


UnboundedSpace2の開発背景にも書きましたが、OculusRiftを使うと目の前が見えなくなるので従来コントローラが使いづらいという問題があります。

また、現実での距離感が掴めないので有線コントローラの線を長く取るか、線が危ないので極力無線化するなどの配慮が必要になる気がしています。

これだったら無線で使えるし、体験者とPCの距離もそこまで気にしなくてよいというのがよいですね。

広告を非表示にする