次の方法で共有


WLT+ASA: サポートするソフトウェアの概要

IBinder - SpacePin の Azure Spatial Anchors へのバインド

IBinderインターフェイスが中央にあり、ここでは SpacePinBinder クラスよって実装されています。 SpacePinBinder は、Unity の Monobehaviourで、Unity の Inspector かスクリプトから構成できます。

IBinderという名前のであるため、1 つのIBindingOracleで複数のIBinderのバインドを管理できます。

IPublisher - 空間アンカーのクラウドへの読み取りと書き込み

IPublisherインターフェイスは、空間アンカーをクラウドに公開し、後のセッションまたは他のデバイスで取得します。 IPublisherは、ここでは PublisherASA クラスで実装されます。 現在の物理空間におけるポーズ データは、Azure Spatial Anchors を使用してキャプチャおよび取得されます。

空間アンカーが発行されると、クラウド アンカー ID が取得されます。 この ID は、クラウド アンカーのポーズを現在の座標系で取得するために、後のセッションまたは他のデバイスで使用され、その ID と共に保存されているプロパティを取得できます。 システムは、クラウド アンカーに関連付けられた SpacePin を識別するプロパティを常に追加します。

注意すべきは、IPublisherも、PublisherASAも、SpacePins ついて何も知られていないということです。 IPublisherでは、クラウドのアンカー データを使用して何が行われるかは認識されません。 クラウド アンカーの発行と取得を行うための、簡単な待機可能なインターフェイスを提供します。

読み取り対検索

クラウド アンカーの ID がわかっている場合、その ID によってクラウド アンカーが取得される可能性があります。 このメソッドは、クラウド アンカーを取得する最も信頼性の高いな方法です。 メソッドは Read です。

ただし、エリア内のクラウド アンカーの ID がデバイスで認識されないという興味深いシナリオがありますが、クラウド アンカーを取得できる場合、空間データとプロパティを組み合わせて、それらを役に立たせるだけの情報を提供します。

Find は、デバイスの周囲にあるクラウド アンカーを検索し、特定できたものを返します。 この処理は、粗い再局在化と呼ばれています。

IBindingOracle - クラウド アンカー ID の共有

IBindingOracle インターフェイスは、SpacePin と特定のクラウド アンカーとの間のバインドを保持して共有する手段を提供します。 具体的には、空間ピン ID/クラウド アンカー ID のペアをIBinderの名前とともに保持します。

オラクルのインターフェイスは非常に簡単です。 IBinderを指定すると、それは、IBinderのバインドをPutするか、Getします。 それらを格納し、Get はそれらを取得します。 ストレージと取得のメカニズムは、IBindingOracle インターフェイスを実装する具象クラスの実装に任されています。

このサンプルでは、可能性のある最も単純な IBindingOracleを SpacePinBinderFile クラス という形式で実装します。 Putt では、それは、IBinderのバインドをテキストファイルに書き込みます。 Get では、テキストファイル (使用可能な場合) からそれらを読み取り、IBinderにフィードします。

ILocalPeg - 物理的空間での位置を示すブロブ

ILocalPeg インターフェイスは、デバイスのローカル アンカーを抽象化したものです。 より完璧な世界では、必要とされる ILocalPeg が、IPublisherによって内部的に管理さます。 ただし、デバイスのローカル アンカーは、デバイスがアンカーのポーズの近くにあるときに作成すると、はるかに良くなります。 IPublisherは、デバイスのローカル アンカーを作成する最適なタイミングではなく、必要なときに配置する必要がある場所のみを認識します。

SpacePinASA は、ローカル アンカーを作成するのに最適なタイミングを認識します。 SpacePin の操作が終了し、そのポーズが設定されると、SpacePinASA IPublisherに希望のポーズで不透明なローカルペグを作成するよう要求します。 SpacePinBinder は、SpacePinASA から ILocalPeg を取り出し、IPublisherに渡してクラウドの空間アンカーの作成に使用します。

関連項目