Azure Spatial Anchors を使用して効果的なアンカー エクスペリエンスを作成する

この記事では、Azure Spatial Anchors を使用してアンカーを効果的に作成して配置するためのガイドラインと考慮事項について説明します。

適切なアンカー

ユーザー エクスペリエンス (UX) で適切なアンカーを作成するためのユーザーの教育と案内に時間をかけることが重要です。 前もって適切なアンカーの作成に時間をかけることで、エンド ユーザーは次のような条件でアンカーを確実に見つけることができます。

  • 異なるデバイス。
  • さまざまな時刻。
  • 異なる照明条件。
  • 空間内の目的の分析観点から。

静的な場所と動的な場所

アンカー エクスペリエンスの設計の一部は、場所を選択することです。 場所は静的であり、スペースの管理者によって定義されていますか。 または、動的であり、ユーザーが定義しますか。

小売店舗のマネージャーは、アクセスするユーザーの気を引くために静的なストア内エクスペリエンスを望むことがあります。 一方、複合現実ボード ゲームの開発者は、ユーザーにプレイ場所を選択させるのを好みます。

静的な場所では、適切なアンカーのスペースの選択について時間をかけて管理者に教えることができます。

動的な場所では、UX 内のユーザーに適切なアンカーの作成について教えたり案内したりする方法を考える必要があります。

安定した視覚的特徴

複合現実や拡張現実デバイスで使用される視覚追跡システムは、環境の視覚的特徴に依存します。 最も信頼性の高いエクスペリエンスを実現するには、次のようにします。

  • 安定した視覚的特徴 (つまり、頻繁に変化しない特徴) を持つ場所にアンカーを作成 "する" ようにします。

  • 際立った特徴のない大きな空いている面にはアンカーを作成 "しない" ようにします。

  • 高い反射率の素材にはアンカーを作成 "しない" ようにします。

  • カーペットや壁紙のようにパターンが繰り返される表面にはアンカーを作成 "しない" ようにします。

Examples of a good environment for anchors and a bad environment for anchors

さまざまな視点

アンカーを作成するときは、後でユーザーがアンカーを探そうとするときのことについて考えます。

たとえば、ドアが 2 つある部屋の中央にアンカーを配置します。 ユーザーがどちらのドアから部屋に入ってきてもかまわないようにします。 アンカーを作成するときは、両方の出入り口から位置をスキャンする必要があります。 ユーザーがどちらのドアからでもアンカーを特定できるように、視点を変更してアンカーの周囲の環境データをキャプチャします。

一般に、アンカーを作成するときは、それを特定しようとするユーザーの視点からスキャンします。 したがって、屋外の彫刻に仮想コンテンツを配置する場合は、アンカーを作成するときにスキャンしながら彫刻の周りを歩くのが理にかなっています。 アンカーが部屋の隅にあると、1 つの方向からしかそれにアプローチできません。 このようなアンカーを作成すると、この視点からだけスキャンできます。

複数のアンカー

照明により、アプリで検出される視覚的特徴が異なる場合があります。 強力な自然光で作成したアンカーが人工光では見つけにくい場合や、その逆の場合があります。

このような問題がある場合は、アンカーを 2 つ作成すると役に立つことがあります。 同じ場所に、日光と人工光でそれぞれ別のアンカーを作成します。 その後、アプリでは両方のアンカーをクエリできます。 いずれかのアンカーが特定されると、アプリはそのアンカーに対するポーズを作成します。

同様に、ほとんどのオブジェクトが移動するために視覚的特徴が変化する環境では、複数のアンカーが役立ちます。 環境が大きく変化したためにアンカーの検出が難しくなったら、アンカーを新しいものに置き換えることができます。 たとえば、レイアウトが数か月ごとに変わる小売店などでは、これを行う可能性があります。

ターゲットと部屋

多くの場合、アンカーはアプリのエクスペリエンスへのエントリ ポイントです。 ユーザーがエクスペリエンスに入ることができるように、このステップはすばやく確実に行われることが望まれます。 ユーザーがアンカーを検索する方法に時間をかけることは、重要な設計上の手順です。 "ターゲット" と "部屋" という 2 つの広範なシナリオの観点から、アンカーの検索について考えると役に立ちます。

目標値

ターゲットのシナリオでは、アンカーの場所はよく知られています。 たとえば、架空の複合現実絵画アプリでは、1 人のユーザーが壁に仮想キャンバスを配置します。 そのユーザーは、室内の他のユーザーに、壁の同じ場所にデバイスを向けてアンカーを特定し、エクスペリエンスを開始するよう指示します。

ターゲット シナリオの別の例は、"スキャンして注文" と表示されているコーヒー ショップのサインのような場合です。 コーヒー ショップはここにアンカーを配置しています。 ユーザーはサインをスキャンし、アンカーを見つけて拡張現実エクスペリエンスに入り、コーヒーの注文を検索します。

ターゲットのシナリオでは、写真が役に立つことがあります。 ユーザーのデバイスでターゲットの写真をユーザーに見せると、現実の世界で何をスキャンすればよいかすぐにわかります。 たとえば、GPS を使用して目的のターゲットの一般的な領域内にユーザーが到着するのを手助けします。 ユーザーが到着したら、アプリでターゲットの写真を示します。 ユーザーは、周囲を見回し、ターゲットを見つけて、アンカーをスキャンします。

Illustration of an anchor, showing a photo of the target on a user's mobile device

部屋

部屋のシナリオでは、ユーザーはどこかにアンカーがあることを知った状態でスペースに入ります。 ユーザーは自分のデバイスでスペースをスキャンして、アンカーをすばやく見つけます。

通常、このエクスペリエンスでは、「さまざまな視点」で説明したように、適切に選択されたアンカーを作成する必要があります。 アンカーを作成するときに多くの視点から部屋をスキャンしておけば、ユーザーはアンカーを探すときにほとんどどこからでもスキャンできます。

Illustration of how a user can scan a room to find an anchor

基本的に、アンカーを作成するときにスペースのスキャンに時間をかけるほど、後でユーザーがアンカーをスキャンして発見するまでの時間が短くなります。 エクスペリエンスを作成するときは、この重要なトレードオフを考慮する必要があります。

前に説明した複合現実の絵画アプリの例は、部屋のシナリオではうまく機能しません。 この例では、アンカーを配置するユーザーは、他のユーザーがエクスペリエンスに迅速に参加することを望んでいます。 部屋がよくスキャンされるまで、エクスペリエンスの開始を待ちたくはありません。 すべてのユーザーはアンカーを見つけるためにデバイスをどこに向ければよいのか正確にわかっているので、この例はターゲットのシナリオとしてはうまく機能します。

アンカーの場所

視覚追跡システムは、環境での視覚的特徴に依存します。 スキャンに含まれる視覚的特徴が多いほど、アンカーが見つかる可能性は高くなります。

このセクションの一般的なガイドラインに従って、環境の便利なスキャンを促進する UX を構築してください。

最初に、ユーザーが数秒以内にアンカーを見つけられない場合は、アプリでユーザーにデバイスを動かしてもっと多くの視点をキャプチャするよう促す必要があります。 アプリでは、ユーザーに自分で環境内を動き回ってもっと多くの視点からアンカーをスキャンするよう促すこともできます。 デバイスに表示される特徴視点は多ければ多いほど良いとされます。アンカーが見つかる可能性が増えるためです。

ターゲットのシナリオでは、ターゲットの周囲を移動して異なる視点からそれを見るよう、ユーザーに促します。 つまり、アンカーが見つかるまで、新たな視点からターゲットをキャプチャするようユーザーに求めます。

部屋のシナリオでは、部屋をゆっくりスキャンするようユーザーに求めます。 たとえば、180 度または 360 度向きを変えて部屋をキャプチャするようユーザーに促します。 または、新しい視点から部屋を見てみるようユーザーに求めます。

最も有効な方法は、部屋を横断しながらスキャンすることです。 部屋を横断してスキャンすると、たとえば壁の近くでスキャンするより、環境内の多くの視覚的特徴をキャプチャできます。 壁の近くでスキャンしたのでは、環境の多くの役に立つ視覚的特徴をキャプチャできません。

アンカーを探すとき、デバイスを左右に繰り返し動かしたのでは役に立ちません。 これでは単に、同じ視点から同じポイントをキャプチャするだけです。

エクスペリエンスのテスト

この記事では、一般的なガイドラインを説明しました。 Spatial Anchors では、現実の世界と対話するアプリを作成します。 そのため、アプリのアンカーのシナリオを実際の環境でテストすることに時間を費やす必要があります。 これは、ユーザーがアプリを使用することが予想される場所を表す環境に特に当てはまります。