Tutti Lab

元シリコンバレー在住のおっさん技術者、モバイルVRアプリ開発に挑戦中

Google Cardboard的AR端末 Seebright Rippleが来ました(2)

前回組立のみ完了したSeebright Rippleですが、たまたまSeebright社のJohnさんとお会いする機会があり、SDKへアクセスする方法を教えていただきました(公式のHPではまだ公開はされていないようです)。
早速このSDKを利用して、簡単なテストアプリを作成してみました。
f:id:tuti107:20160712041651p:plain
なお、SDKのダウンロード等の手順は、公式HPからアクセスが可能になりましたら、順次公開していこうと思います。

Seebright SDK

Seebright SDKはUnity用Assetとして提供されています。SDKは非常にシンプルで、ヘッドトラッキングや左右立体視制御を行うSBCamera、及びボタンなどのUIを表示するためのSeebright UIがPrefabとして利用可能であり、基本これらをシーンに設置するだけでオッケーです。
f:id:tuti107:20160712035401p:plain
ボタンが左右眼の位置ではなく、真ん中に表示されてしまっておりますが、実行すると以下のとおり、左右眼の位置に表示されます。
f:id:tuti107:20160712035611p:plain
SBCameraの設定項目は以下のとおりです。
f:id:tuti107:20160712035758p:plain
デフォルトからの要変更箇所は、

  • Copy CameraをチェックをOnとし、CameraのField Of Viewを36.75とする
  • Current HMDをRippleとする
  • Current ModeをVRとする→ヘッドトラッキングが可能となる。ARとすると、読み取ったARマーカに基づいてカメラ姿勢が計算されるようになる

次にSeebrightUIについて、
f:id:tuti107:20160712040309p:plain
デフォルトからの要変更箇所は、

  • Current HMDをRippleとする

だけです。

Androidデバイスでテスト

  • File→Build SettingsにてPlatformをAndroidとし、
  • Player Settingsボタンを押下して、Bundle Identifierに任意の文字列を設定、Minimum API Levelを21とし、
  • Build And Runボタンを押下すれば、

ビルド→Androidデバイスにアプリがインストールされ、冒頭のイメージのような感じで実行されます(端末の傾きに応じて地平線が動く)。
ただし、以下の点に注意が必要です。

  • SeebrightInput.dllのコンフリクトを解消する→同名のファイルが、Assets/、Assets/iOS、Assets/Android、それぞれに存在し、デフォルトではそれらのplatformがAny Platformとなっている。このままビルドするとコンフリクトによるエラーが発生するため、それぞれAny Platform→それぞれのPlatformに変更する

f:id:tuti107:20160712041431p:plain

  • Android M以降のデバイスを利用する際は、Android SDK Managerより、API Level 23のインストールを忘れずに。インストールされているSDKのバージョンがAPI Level 22以下の場合は、以下のようなエラーが発生します

f:id:tuti107:20160712041611p:plain

なお、本件とは関係ありませんが、Mac+Android Mで、Android File Transferがうまく動かない(Can’t access device storage)問題が発生します。こちらに本問題の対処方法が記載されています。

本領発揮はAR

今回は、テストということでまずはVRモードで動かしました。ほぼGoogle Cardboardと一緒という感じです。
Seebright SDKは上記の通り非常にシンプルな作りであり、ARマーカ認識やARマーカ認識に基づくカメラ姿勢制御等は含まれておりません。しかし、Vuforia等のサードパーティ製ARエンジンと組み合わせることで、ARアプリを開発可能です。
次回は、Vuforiaを組み込み、簡単なARアプリを作成してみたいと思います。