Location ARを使用してコンテンツを現実世界に配置する
この入門ガイドでは、以下の内容について説明します。
- Geosptial Browser(GSB)からUnityに現実世界の場所をインポートする;
- 現実世界の場所にコンテンツを配置する;
- モックアップを使って、あるいは現地で、配置されたコンテンツをテストする。
前提条件
- ARDK がインストールされたUnityプロジェクトと、セットアップされた基本的な AR シーンが必要です。 詳細は Setup ARDK 3 および Setup AR Sceneを参照。
- 有効な API Keyが必要です。
現実世界の場所をUnityに追加する
UnityにARロケーションを追加するには、次のように行います。
- Geospatial Browser にアクセスし、コンテンツを作成したい場所を探します。 データは.zipファイルとしてダウンロードされます。 解凍しないでください。。 位置データのダウンロードの詳細については、 メッシュのダウンロードを参照してください。
- ダウンロードしたzipファイルを Project ウィンドウの Assets ディレクトリにドラッグ&ドロップします。 インポート処理が完了すると、 Mesh
.prefab
ファイルと、 Manifest.asset
ファイルの2つのアセットが作成されます。 - Lightship Settingsの Persistent Anchors をオンにする:
- Lightship トップメニューをクリックし、 Settingsを選択します。
- Inspector ウィンドウで、 Persistent Anchorsの隣にある Enabled ボックスにチェックを入れます。
XROrigin
に AR Location Manager コンポーネントを追加する:- Hierarchyで
XROrigin
を選択し、 Inspector ウィンドウで、 Add Component をクリックし、 ARLocationManagerを検索します。 - ARLocationManager Componentで、 Add AR Location をクリックし、新しい
ARLocation
を作成します。
- Hierarchyで
- Hierarchyで、
ARLocation
を選択して、 Inspectorにそのコンポーネントを表示します。 Assets ディレクトリの Manifest を、Component の AR Location Manifest フィールドにドラッグ&ドロップします。- これはマニフェストの名前を変更します。名前を
ARLocation
に戻します。
- これはマニフェストの名前を変更します。名前を
現実世界のARコンテンツを追加する
ARコンテンツを追加する際には、次のことを忘れないでください:
- マニフェストの子として AR コンテンツを追加します (
ARLocation
)。 例えば、 Cube:- Hierarchyで、
ARLocation
を右クリックし、 3D Object にマウスオーバーして、 Cubeを選択する。 - Inspectorで、キューブの Scale を
0.5
に設定し、その位置を0,0,2
に設定します。
- Hierarchyで、
- 自動トラッキングを有効にしてください:
- Hierarchyで、 XROriginを選択し、 Inspector ウィンドウで、 ARLocationManager Component の Auto-Track ボックスをチェックします。
リアルワールドAR コンテントを検証する
現実世界のARコンテンツをテストする最も正確な方法は、Unityアプリをデバイスにビルドし、物理的にその場所を訪れてテストすることです。 これは常に可能というわけではないので、Lightshipはモックモードも提供しており、開発者はシーンのモックローカリゼーションを作成し、非AR GameObjectのビヘイビアを実行することができます。
備考
その他のARサブシステム(ARSession、Camera、Meshingなどを含む)はモックモードでは動作しません。 これは、ローカライゼーションをテストするためのものです。 ::注
モックモードを使用して、ARコンテンツをテストするには、次のように行います。
- プレイバックモードが有効になっている場合は、無効にします。
- プレイモードに入ります。 Lightship は、 Mock Camera アセットをシーンに追加します( Main Cameraの子として)。このアセットでは、WASD キーで移動したり、スクロールホイールでズームしたりできます。 また、GameObjectのビヘイビアを実行するためのモックのローカライゼーションも作成されます。
Playbackを使ってローカライズをテストすることもできます。 プレイバック設定方法(How to Setup Playback)を参照してください。 :::
コードを使用してロケーションを切り替える
Auto-Track 機能の代わりにスクリプトを使用してコンテンツのローカライズを制御することで、アプリケーションで使用中のロケーションを動的に入れ替えることができます。
スクリプトを使用して動的にローカライズするには、次のように行います。
- ARLocationManager と、使用する予定の各 ARLocation への参照を取得します。
- ARLocationManager のSetARLocations(currentLocation) を呼び出して、ターゲットとなるその場所のローカライズを選択します。
- ARLocationManager からStartTracking() を呼び出し、選択された場所をローカライズして追跡します。
- ロケーションを切り替えるには、次のように行います。
- ARLocationManagerからStopTrackingを呼び出します。
- 新しい場所のARLocationManager からSetARLocations(newLocation)を呼び出します。
- ARLocationManagerからStartTracking()を再度呼び出し、トラッキングを再開します。