Location ARを使用してコンテンツを現実世界に配置する
AR Locationは、仮想オブジェクトを現実世界に「アンカー(固定)」するために最も高度に抽象化したものです。
この入門ガイドでは、以下の内容について説明します。
- Geosptial Browser(GSB)からUnityに現実世界の場所をインポートする;
- 現実世界の場所にコンテンツを配置する;
- モックアップを使って、あるいは現地で、配置されたコンテンツをテストする。
前提条件
- ARDKがインストールされたUnityプロジェクトと、セットアップされた基本的なARシーンが必要です。 詳細については、ARDK 3のセットアップおよびARシーンのセットアップを参照してください。
- 有効なAPIキーが必要です。
現実世界の場所を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
GameObjectの名前が更新され、トラッキングのためのフィールドが設定されます。
- これにより、マニフェストに合わせて
現実世界のARコンテンツを追加する
ARコンテンツを追加する際には、次のことを忘れないでください:
- マニフェストの子として AR コンテンツを追加します (
ARLocation
)。 例えば、 Cube 以下のロケーションに追加します:- Hierarchyで、
ARLocation
を右クリックし、 3D Object にマウスオーバーして、 Cubeを選択する。 - **インスペクタ]**で、キューブの[**スケール]**を
0.
5に設定します。 テスト場所で見えるように位置を設定する。
- Hierarchyで、
- 自動トラッキングを有効にする:
- Hierarchyで、 XROriginを選択し、 Inspector ウィンドウで、 ARLocationManager Component の Auto-Track ボックスをチェックします。
- 自動トラッキングが有効な場合、コンポーネントが有効になると
ARLocationManager
は現在アクティブなARLocation の
トラッキングを開始します。 その他のオプションや情報については、コードによる位置情報ARの使用方法を参照してください。
ARLocation
がランタイム中にトラッキングされると、それは関連付けられた ARPersistentAnchor
の ARTrackable
フィールドに配置されます。 これにより、シーン内の ARLocation
のすべての子オブジェクトの相対位置が維持されます。 ARLocation
の子コンテンツを配置または更新する際は、シーンの一貫性を保つためにローカルトランスフォーム空間で変更を行ってください。
リアルワールドAR コンテントを検証する
現実世界のARコンテンツをテストする最も正確な方法は、Unityアプリをデバイスにビルドし、物理的にその場所を訪れてテストすることです。 ただし、この方法が常に可能とは限らないため、Lightshipは、Location AR向けにシミュレーションサブシステムも提供しています。 シミュレーションを有効にするには、 シミュレーションのドキュメント を参照してください。
シミュレーションされた永続アンカーには、一貫した trackableId が割り当てられていますが、これらの trackableId は実際のアンカー(プレイバックまたはリアルタイムのVPS)を正確に解決するためのものとは一致しません。
ヒント
Playbackを使ってローカライズをテストすることもできます。 プレイバック設定方法(How to Setup Playback)を参照してください。