Tutti Lab

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

KUDAN SDKを使って、Gear VRでどこでもドア(1)

前回は、Unity Native VRでどこでもドア(ポータル)を実装しました。前回の予想どおり、前回開発したものをそのままGear VR向けにビルドしたところ、問題なく動作しました。
ただし、Gear VRにはポジショントラッキングがないため、どこでもドアに近づくことができず、どこでもドアの楽しさが半減してしまいます。
そこで今回は、前にVuforiaで実装したポジショントラッキングを応用し、Gear VRでもどこでもドアに近づく体験ができるようにしてみます。
tuti107.hatenablog.com

KUDAN

今回は、Vuforiaではなく、日本が誇るモバイルARエンジンである「KUDAN」を利用します。KUDANは、

  • マーカレスARが可能!つまり、マーカをプリントして貼り付ける等の面倒な手続きなしで、ARが可能!
  • 収入が100万ポンド(=1.4億円)以下の個人開発者は、なんとアプリ配布用のライセンスが無料!!(Vuforiaは有料)

ということで、今の私の中ではモバイルARは、KUDAN一択です。

KUDAN SDK Unity Pluginのダウンロード

ダウンロードページより、Free-Downloadをクリックして、Unity Pllugin "KudanARUnity.unitypackage"をダウンロードします。
購入画面が表示されますが、0ポンドなのでご安心を。メールアドレス等の情報を入力し、画面一番下のDownloadボタンを押下すれば、ダウンロードがはじまります。

KUDAN SDK Unity Pluginのインストール

ダウンロードしたKudanARUnity.unitypackageを、Assets->Import Package->Custom Packageよりインポートします。

サンプルを実行してみる

まずは、SDKに同梱のサンプルを実行してみます。

  • Assets/KudanAR/Samples/AngelScene をダブルクリックして、サンプルシーンをロードします。

f:id:tuti107:20170320130414p:plain

  • Android向けにビルドをするための設定を行います。File->Build Settings..より、Build Settingsを表示し、PlatformをAndroidへスイッチします。次に、Player Settingsを押下し、インスペクタのOther Settingsー>Identifierより、以下の通りに設定します。
    • Bundle Identifier = "eu.kudan.ar"
    • Minimum API Level = 15

f:id:tuti107:20170320131705p:plain

  • 次に、シーン内のAngel Bundle/Kudan Cameraを選択し、インスペクタのKudan Trackerコンポーネントの一番下にある「Get Editor API Key」を押下します。すると以下のページが表示されるので、"click here"を書かれている箇所をクリックします。

f:id:tuti107:20170320131922p:plain
ここで、開発用のバンドルID"eu.kudan.ar"に対応するLicense Keyが取得できます。このLicense Keyをコピーし、インスペクタのKudan Trackerコンポーネント内のAPI Keyにペーストします。なお、Editor API Keyは、上記MY ACCOUNTのページより、ログインすることで取得可能です。
f:id:tuti107:20170320132242p:plain
f:id:tuti107:20170320132346p:plain

  • 次に実行してみます。適当なAndroid端末をPCと接続し、File->Build & Runを選択します。画面右下の"Place Markerless Object"ボタンを押下すると、3Dオブジェクトが設置されます。このオブジェクトは、その設置位置に貼り付けたように、スマホを傾けたり・近づけたりすると、その通りに表示がされます。

f:id:tuti107:20170320133542p:plain

次回は、KUDANでポジショントラッキングを実装

今回は、Gear VRで「どこでもドアに近づく」体験を実現すべく、まずはマーカレスARが可能なKUDANをインストールしました。
次回は、KUDANを利用したポジショントラッキングの実装に挑戦します。