iPhone をモーションコントローラとして使えるパッケージを作った【AR/VR向け】
はじめに
HoloQuestでも使用している、iPhoneの動きを別のアプリで取得してiPhoneと同じ位置に何かを表示するパッケージを作りました。
OculusやViveは専用モーションコントローラが存在しますが、HoloLensやGearVRには3次元位置が取得可能な専用モーションコントローラが存在しません。
そこで、こういったデバイスに対して汎用的に3次元位置や傾きを送信するアプリをiPhoneにインストールすることで、iPhoneを疑似モーションコントローラとして使うことが出来ます。
デモ
応用例
配布先
- ARMotionController
- https://github.com/korechika/ARMotionController
- AppStoreに"AR Controller"が配布済みなのでそちらをiPhoneにインストールするだけでもOK(日本のみ)
- ARMotionReceiver
使用するアプリ
スマートフォン上で動作し、スマートフォンの動きを送信するARMotionControllerと、それを受信するARMotionReceiverを使用します。
ARMotionControllerは多くのアプリに簡単に組み込めるため、お好きなデバイス向けにビルドして使用して下さい。
前提
スマートフォンとスマートフォンの位置を送信する相手(PC等)は同じネットワーク環境に繋がっている必要があります!
同じwifiを使うなり、テザリングなどを使用して下さい!
使い方
現在ARMotionControllerはまだiPhoneにしか対応していないため、以降はiPhoneを使って説明します。
簡単のため、iPhoneの位置送信相手もPCとします。
手順
- iPhoneとPCを同じネットワークに接続
- iPhoneにARMotionControllerをインストールし、アプリ起動(Unityを使っても、AppStoreからインストールしてもどちらでも可)
- PCのIPアドレスを調べてアプリ内入力欄に記入して待機(まだStartボタンは押さない)
- ARMotionReceiver.unitypackageをここからDLし、自分のUnityアプリケーションにインポート
Assets->Prefabs->HandTracker.prefab
とAssets->Prefabs->RightHandSample.prefab
をHierarchyに配置- Run
- iPhone側のアプリでStartボタンを押す
- 通信開始
今後
ARMotionControllerをARCore向けにも対応