これちのPost-it

技術ネタをペラペラ貼っていくぞ!

iPhone をモーションコントローラとして使えるパッケージを作った【AR/VR向け】

はじめに

HoloQuestでも使用している、iPhoneの動きを別のアプリで取得してiPhoneと同じ位置に何かを表示するパッケージを作りました。
OculusやViveは専用モーションコントローラが存在しますが、HoloLensやGearVRには3次元位置が取得可能な専用モーションコントローラが存在しません。
そこで、こういったデバイスに対して汎用的に3次元位置や傾きを送信するアプリをiPhoneにインストールすることで、iPhoneを疑似モーションコントローラとして使うことが出来ます。

デモ

www.youtube.com

応用例

www.youtube.com

配布先

使用するアプリ

スマートフォン上で動作し、スマートフォンの動きを送信するARMotionControllerと、それを受信するARMotionReceiverを使用します。
ARMotionControllerは多くのアプリに簡単に組み込めるため、お好きなデバイス向けにビルドして使用して下さい。

前提

スマートフォンスマートフォンの位置を送信する相手(PC等)は同じネットワーク環境に繋がっている必要があります
同じwifiを使うなり、テザリングなどを使用して下さい!

使い方

現在ARMotionControllerはまだiPhoneにしか対応していないため、以降はiPhoneを使って説明します。
簡単のため、iPhoneの位置送信相手もPCとします。

手順

  1. iPhoneとPCを同じネットワークに接続
  2. iPhoneにARMotionControllerをインストールし、アプリ起動(Unityを使っても、AppStoreからインストールしてもどちらでも可)
  3. PCのIPアドレスを調べてアプリ内入力欄に記入して待機(まだStartボタンは押さない)
  4. ARMotionReceiver.unitypackageをここからDLし、自分のUnityアプリケーションにインポート
  5. Assets->Prefabs->HandTracker.prefabAssets->Prefabs->RightHandSample.prefabをHierarchyに配置
  6. Run
  7. iPhone側のアプリでStartボタンを押す
  8. 通信開始

今後

ARMotionControllerをARCore向けにも対応