ARPin は、Unreal Engine 内で仮想コンテンツをアタッチすることができる拡張現実 (AR) 内の固定された実世界の場所です。ARPin API はすべてのプラットフォームで共通ですが、ARPin データの実装は各プラットフォームごとに異なります。基盤となるプラットフォームが実世界の位置または実世界のジオメトリの追跡をサポートしている場合、この機能により ARPin の位置の安定性が向上し、それらが対応する実世界の位置またはジオメトリにロックされたままになります。
ARPin のデータを保存する
一部のプラットフォームでは、仮想コンテンツを特定の位置またはジオメトリにロックできるだけでなく、位置データをローカルまたはクラウドに保存することも可能です。位置データを保存することで、仮想コンテンツをアプリセッション間で一貫して表示できるようになります。また、一部の実装ではマルチユーザー エクスペリエンスも表示可能となります。
次の表は、どの AR プラットフォームが ARPin データをローカルまたは Microsoft Azure クラウド サービスに保存できるのかを示しています。
| プラットフォーム | ARPin プラットフォームの実装 | ARPin 持続性のあるプラットフォームの実装 | ARPin のローカルストレージ機能のサポート | Azure Spatial Anchors のサポート |
|---|---|---|---|---|
| ARCore | アンカー | クラウド アンカー | なし | あり |
| ARKit | ARAnchor | ARGeoAnchor | なし | あり |
| Magic Leap | PersistentCoordinateFrame (PCF) | PersistentCoordinateFrame (PCF) | あり。Magic Leap ARPin 機能を使用します。 | なし |
ARPin をローカルに保存する
データを AR デバイスにローカルに保存すると、コンテンツをアプリのセッション間で保持できます。プロジェクトに ARPin 機能を追加する方法の詳細については、「ARPin クイックスタート」を参照してください。
ARPin をクラウドに保存する
ARPin は、Azure Spatial Anchors、ARCore を使用した Cloud Anchors、および ARKit を使用した Geo Anchors を介してクラウドに保存できます。
Azure Spatial Anchors
クラウドにデータを保存すると、仮想コンテンツと実世界の位置を複数のデバイスとプラットフォーム間でいつでも共有できます。Azure Spatial Anchors はクラウド実装で、これは Microsoft Azure を使用して ARPin データを保存および取得するためのプラグインとして Unreal Engine に含まれています。Azure Spatial Anchors は、次のような複数の AR プラットフォームでサポートされています。
-
ARCore をサポートする Android デバイス
-
ARKit をサポートする iOS デバイス
Azure Spatial Anchors を使用するには、Azure アカウントが必要です。
プロジェクトで Azure Spatial Anchors を使用するには、Azure Spatial Anchors プラグインとプラットフォーム固有の Azure Spatial Anchors プラグインを有効にします。
画像をクリックすると拡大表示されます。
プロジェクトで Azure Spatial Anchors を使用する方法の詳細については、Unreal Engine における Microsoft の Azure Spatial Anchors に関するドキュメント を参照してください。
ARCore を使用した Cloud Anchors
ARCore がサポートしているデバイスでは Azure Spatial Anchors を使用できますが、それに加えて、クラウド上にある ARPin 向けの Google のプラットフォーム実装である Cloud Anchors は、UGoogleARCoreServicesFunctionLibrary を介して Unreal Engine で公開されます。
API を使うには、次の手順を実行します。
-
UGoogleARCoreServicesFunctionLibrary::CreateAndHostCloudARPin()を呼び出して、既存の ARPin からクラウド ARPin を作成します。 -
クラウド ARPin が作成されたら、
UCloudARPin::GetCloudID()を呼び出して、そのクラウド ID (ピンに固有の uuid) にアクセスします。 -
この際、いつでも、
UGoogleARCoreServicesFunctionLibrary::CreateAndResolveCloudARPin()を使用して以前に作成したクラウド ARPin を解決できます。解決すると、クラウド ARPin からピンのワールド トランスフォームが提供され、それが物理的な世界のどこでピンが作成されたのかを示します。
ARKit を使用した Geo Anchors
ARKit がサポートしているデバイスでは Azure Spatial Anchors を使用できますが、それに加えて、クラウド上にある ARPin 向けの Apple のプラットフォーム実装である ARGeoAnchor は、UARTrackedGeometry のサブクラスとして Unreal Engine で公開されます。
API を使うには、次の手順を実行します。
-
可能な場合、返されたオブジェクトの関数を呼び出します。たとえば、新しい Geo Anchor を作成するには、関数
UARGeoTrackingSupport::AddGeoAnchorAtLocation()を使用します。