夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

複数のHoloLens 2でホログラムを共有する その④ AzureSpatialAnchorsのリソース作成とUnity内の対応

本日はSharing勉強枠です。

HoloLens 2ではデバイスをかけている人のみがホログラムを見ることができますが、HoloLens 2が複数台ある場合は一つのホログラムを複数人で操作することができます。

前回は[Photon]を使用してオブジェクトの動きをPCとHoloLens 2で同期させることができました。

redhologerbera.hatenablog.com

今回はAzureのサービスを使用して複数のHoloLensでの空間を共有します。

 空間を共有する必要としては、HoloLensはアプリ起動時に起動点が原点になります。 そのため複数台のHoloLensでアプリ起動位置が異なるとオブジェクトの動きはそれぞれ同期されていますが、原点が異なるためオブジェクトがずれることがあります。

今回はそのため原点を空間に対して合わせることで一致させます。

〇Azure SpatialAnchorsとは

AzureSpatialAnchor(ASA)はMicrosoftによって提供されているクラウドサービスであるAzureで提供されているサービスの一つです。

HoloLensだけではなくiOS,AndroidOSにも対応しており、クロスプラットフォームでの空間情報共有を実現します。

現在AzureSpatialAnchorsの料金は10000アンカー検索要求/月までは無料で使用することができます。

それ以降はアンカー検索要求ごとに0.02$の料金となっています。

 このアンカー検索要求とはアプリ側でAPI呼び出しによって空間アンカーを検索するのに使用される処理を指します。

〇AzureSpatialAnchorsの使用

 Azure SpatialAnchorを使用するためにはAzureのアカウントが必要です。

 Azureのアカウントを作成するためには基本的にクレジットカードの登録が必要です。(Azureのクーポンなどを持っている場合は別)

①Azureポータルへログインします。

portal.azure.com

②[リソースの作成]から検索欄に[SpatialAnchors]を検索します。

f:id:Holomoto-Sumire:20220123155236j:plain

③[+作成]を選択し新規のリソースを作成します。

f:id:Holomoto-Sumire:20220123184639p:plain

④必要な情報を入力します。

・サブスクリプションは自分自身の課金形態です。

・リソースグループはUnityでいうところのプロジェクトのようなもので、リソースグループ内でAzureの各サービスごとの管理を行います。

・リージョンはAzureSpatialAnchorsの処理を行うコンピュータがある地域です。ユーザーの位置に近いリージョンを選ぶことでより高速な処理が可能になります。

f:id:Holomoto-Sumire:20220123185200p:plain

すべての情報を入力後、[確認と作成]を選択し次に進みます。

作成後は次のような画面になります。

f:id:Holomoto-Sumire:20220123190059p:plain

以上でAzureSpatialAnchorの作成が完了しました。

〇UnityでAzureSpatialAnchorsを連携させる。

①Unityの画面に戻りhierarchyウィンドウから[TableAnchor]オブジェクトを選択し、インスペクターウィンドウから[AzureSpatialAnchor Manager]コンポーネントを開きます。

f:id:Holomoto-Sumire:20220123190633p:plain

以下の情報を入力します。

・Spatial Anchors Account ID

・Spatial Anchors Account Key

・Spatial Anchors Account Domain

これはAzureSpatialAnchorsのAzureポータル画面に表示さえています。

f:id:Holomoto-Sumire:20220123190059p:plain

以上でAzureSpatialAnchorsのリソースの作成とUnityでの連携が完了しました。

次回複数台のHoloLens 2でAzureSpatialAnchorsを用いてホログラムの位置合わせと共有を行います。