UnityMarsとは
ARコンテンツを表示する際に、現実世界にうまくシンクロすることで、様々な視覚効果を生み出すことができます。
かつてはARマーカーなどをきっかけとして、3Dコンテンツを表示させていたものを、VPSでは風景などの特徴点を活用することで現実世界にオブジェクトを重ねて、MixedRealityという世界観を生み出すことが可能となります。
こうした手法について、例えば、8thwallでは、下記のようにWayfairと呼ばれるアプリから吸い取った情報を位置情報に紐付けて3Dオブジェクトを生み出すきっかけにしています。
様々な手法がある中で、Unity Marsでは、少し特徴的なオブジェクトの呼び出しを行っています。
上記のドキュメントを参照するとProxyGroupと呼ばれる概念が書かれていますが、これがMarsの非常に特徴的な機能で、複数の平面をグループ化させることで、建物の中などで、自己位置を推定して正確にARコンテンツを表示することが可能となります。8thwallでは、風景そのものを吸い取っていたことに対して、Marsではオブジェクトの位置情報の組み合わせによって表現しています。
UnityMarsのインストールと実機ビルドまで
0.UnityMarsの購入
無料トライアルを選択
https://store.unity.com/configure-plan/unity-mars?free_trial_product=true
https://store.unity.com/ja/configure-plan/unity-mars?free_trial_product=true
メールが送られてくるので、MARS_Installer.unitypackageをダウンロードする
Unityで購入したアカウントでログインしておく
1.Unityのプロジェクトを作成する
ARMobileのプロジェクトを作成する
プロジェクトが出来上がる
2.UnityMarsのインストール
アセット > パッケージをインポート > カスタムパッケージでMarsInstallerを選ぶ
### MarsInstallerをインポートする
ウィンドウ > MARS が表示されていることを確認
ウィンドウ > MARS > ChooseTemplate
templateに何も入っていないので、AddTemplatesから必要なものをinstallする
Importする
3.サンプルプロジェクトの作成
table topをダブルクリック
4.実機でビルド
simulation viewと mars panelをセット
APIレベルの設定
Simulation Environment (仮想空間でのシミュレーション設定)
Marsの中では、様々なシミュレーション環境を設定することができます。
あらかじめ、用意されたキッチンやリビングなどのサンプルを変更させて作ったり、既存の空間をスキャンして平面を自動生成することなども可能です。
あらかじめ用意されたサンプルの環境を読み込む
Simulated Environment Prefab
scaniverseで撮影したobjを読み込む
コンポーネントを追加 -> Plane Extraction Settingsを追加
Extract Plancesを押下する
自動的に平面が検知されている状態になる
リンクの方法
AR コンパニオンアプリ