複合現実での共有エクスペリエンス
ホログラムを 1 人のユーザーだけのものにしておく必要はありません。 ホログラフィック アプリを使用して HoloLens、iOS、Android デバイスの間で空間アンカーを共有し、ユーザーが複数のデバイスで現実世界の同じ場所にホログラムをレンダリングできるようにすることができます。
共有シナリオを定義するための 6 つの質問
共有エクスペリエンスの設計を始める前に、目標とするシナリオを定義しておくことが重要です。 これらのシナリオは、設計しているものを明確にし、エクスペリエンスに必要な機能を比較および対比できるようにする共通のボキャブラリを確立するのに役立ちます。 この新しいメディアに固有の機会を明らかにするには、中心となる問題と、解決するためのさまざまな方法を理解することが重要です。
HoloLens のパートナー機関からの内部プロトタイプと調査により、共有シナリオの定義に役立つ 6 つの質問を作成しました。 これらの質問は、網羅的なものではなく、シナリオの重要な属性を抽出するのに役立つフレームワークを形成します。
1. どのような方法で共有するか?
1 人の仮想ユーザーが実施するプレゼンテーションであっても複数のユーザーが共同作業できる場合や、教師が仮想資料を使用して仮想学生にガイダンスを提供する場合があります。エクスペリエンスの複雑さは、ユーザーがシナリオで使用する、または使用できる機能のレベルに基づいて増加します。
共有方法は多数ありますが、そのほとんどが次の 3 つのカテゴリに分類されることがわかっています。
- プレゼンテーション: 同じコンテンツが複数のユーザーに表示されている場合。 例: 教授は、同じホログラフィック資料を使用して、複数の学生に講義を提供しています。 しかし、教授は、他の人には見えないようにできる自分だけのヒントやノートを使用できます。
- コラボレーション: 共通の目標を達成するために複数の人が共同で作業を行っている場合。 例: 教授は、心臓手術について学習するプロジェクトを実施しました。 学生は、ペアになって共有スキル ラボ エクスペリエンスを作成します。医学生は、心臓モデルについて共同で作業を行い、学習することができます。
- ガイダンス: ある人が別の人を手助けして、1 対 1 のスタイルの対話で問題を解決する場合。 例: 教授は、共有エクスペリエンスの心臓手術スキル ラボを行っている学生にガイダンスを提供します。
2. グループ のサイズはどれくらいか?
1 対 1 の共有エクスペリエンスは強力なベースラインを提供でき、概念実証をこのレベルで理想的に作成できます。 ただし、大規模なグループ (6 人を超える) での共有は、技術的にも (データとネットワーク) と社会的にも (複数のアバターが 1 つの部屋にいることの影響) の両方に関して困難になる可能性がある点に注意してください。 グループが小規模から大規模になると複雑さは指数関数的に増加します。
グループの必要性は、3 つのサイズ カテゴリに分類できることがわかっています。
- 1:1
- 小 < 7
- 大 >= 7
グループのサイズは、次のような影響があるので、重要な質問になります。
- ホログラフィック空間内での人の表現
- オブジェクトのスケール
- 環境のスケール
3. 参加者はどこにいるのか?
Mixed Reality の長所は、共有エクスペリエンスを同じ場所に作成できる場合に発揮されます。 これは、コロケーションと呼ばれます。 逆に、グループが分散していて、少なくとも 1 人の参加者が同じ物理空間にいない場合は (VR ではよくあります)、リモート エクスペリエンスと呼ばれます。 多くの場合、グループにはコロケーション参加者とリモート参加者の両方がいます (たとえば、会議室の 2 つのグループ)。
次のカテゴリは、参加者がいる場所を示すのに役立ちます。
- コロケーション: すべてのユーザーが同じ物理空間にいます。
- リモート: すべてのユーザーが別の物理空間にいます。
- 両方: ユーザーは、コロケーション空間とリモート空間の組み合わせです。
この質問は、次のような影響があるので非常に重要です。
- 参加者のコミュニケーション方法。
- たとえば、アバターを使用する必要があるかどうか。
- どのようなオブジェクトが表示されるか。 すべてのオブジェクトが共有されるか。
- 環境に適応する必要があるかどうか。
4. どのようなときに共有するか?
通常、共有エクスペリエンスと言われれば同期エクスペリエンスのことを考えます。全員が一緒にそれを行っています。 しかし、誰かによって追加された単一の仮想要素が含まれる場合、それは非同期シナリオになります。 仮想環境に残されたメモや音声メモを考えてください。 100 個の仮想メモを設計でどのように処理しますか。 プライバシーのレベルが異なる数十人のユーザーからのものである場合はどうしますか。
エクスペリエンスを次の時間のカテゴリの 1 つとして検討します。
- 同期: ホログラフィック エクスペリエンスを同時に共有します。 例: スキル ラボを同時に行う 2 人の学生。
- 非同期: ホログラフィック エクスペリエンスを異なる時間に共有します。 例: スキル ラボを異なる時間に別々に行っている 2 人の学生。
- 両方: ユーザーは、同期的に共有する場合もあれば、非同期的に共有する場合もあります。 例: 学生が行った課題を後で評価し、次の日に学生へのメモを残す教授。
この質問は、次のような影響があるので重要です。
- オブジェクトと環境の永続性。 例: 状態を取得できるよう格納する。
- ユーザー パースペクティブ。 例: メモを離れるときにユーザーが見ていたものを記憶する。
5. 物理環境はどのくらい似ているか?
コロケーション エクスペリエンスの外部で、現実の 2 つの環境が同じになる可能性は、それらの環境が同一のものとして設計されているのでない限り、ほとんどありません。 似た環境であれば可能性は高くなります。 たとえば、会議室は似ています。通常は、中央にテーブルがあり、周りに椅子が置かれています。 一方、リビング ルームは異なっており**、任意の数の家具を無限のレイアウトで配置できます。
共有エクスペリエンスは次の 2 つのカテゴリの 1 つに適合します。
- 似ている: 似た調度、周囲の光と音、物理的な部屋のサイズを持つ傾向がある環境。 例: 教授は教室 A にいて、学生は教室 B にいます。教室 A の方が B より椅子の数が少ないかもしれませんが、どちらにもホログラムが置かれた物理的な机があります。
- 似ていない: 調度の設定、部屋のサイズ、照明、音に関する考慮事項が異なる環境。 例: 教授はフォーカス ルームにいますが、学生は学生と教師で埋まった大きな講堂にいます。
次の影響があるので、環境について考えることが重要です。
- これらのオブジェクトをユーザーがどのように体験するか。 例: エクスペリエンスはテーブル上にあるのが最善だが、ユーザーにはテーブルがないか。 または、フラットな床面が最善だが、ユーザーの空間は散らかっているか。
- オブジェクトのスケール。 例 : 6 フィートの人間モデルをテーブルに配置するのは困難な場合がありますが、心臓モデルはうまく機能します。
6. どのデバイスを使用しているか?
現在、2 つのイマーシブ デバイス (それらのデバイスは、ボタンや相対的機能が若干異なる場合がありますが、大きくは異なりません) または 2 つのホログラフィック デバイスの間での共有エクスペリエンスを目にすることがよくあります (ソリューションのターゲットがこれらのデバイスの場合)。 しかし、2D デバイス (モバイルやデスクトップの参加者またはオブザーバー) を検討する必要がある場合を考えてください (特に 2D デバイスと 3D デバイスが混在する状況)。 参加者が使用するデバイスの種類を把握することが重要なのは、忠実性やデータの制約と機会が異なるためだけでなく、ユーザーがプラットフォームに対して期待することが異なるためでもあります。
共有エクスペリエンスの可能性の調査
上記の質問に対する回答を組み合わせて、共有シナリオをよりよく理解し、エクスペリエンスを拡大するときの課題を具体化します。 Microsoft のチームの場合、これは、現在使用しているエクスペリエンスを改善し、これらの複雑な問題の微妙な違いや、Mixed Reality で共有エクスペリエンスを利用する方法を理解するための、ロード マップを確立するのに役立ちました。
たとえば、ユーザーが遠くにいる専門家の助けを借りて壊れた照明スイッチを修理したときのことを紹介する HoloLens の起動にからの Skype のシナリオについて考えてください。
専門家は、自分の 2D のデスクトップ コンピューターからユーザーの 3D の Mixed Reality デバイスに対し、1 対 1 のガイダンスを提供します。 ガイダンスは同期的であり、物理環境は異なります。
このようなエクスペリエンスは、ビデオと音声のパラダイムを新しいメディアに適用する、現在のエクスペリエンスからの変革です。 しかし、将来的には、シナリオの機会をよりよく定義し、Mixed Reality の長所を反映したエクスペリエンスを構築する必要があります。
NASA のジェット推進研究所によって開発された OnSight コラボレーション ツールについて考えます。 火星ローバーのミッションからのデータに取り組む科学者たちは、火星の地形からのデータ内で同僚とリアルタイムで共同作業を行えます。
ある科学者は、3D Mixed Reality デバイスを使って、3D および 2D のデバイスを使用する離れた場所の同僚の小さなグループと環境を探索します。 共同作業は同期的であり (ただし、非同期的に再検討できます)、物理環境は (仮想的に) 似ています。
OnSight のようなエクスペリエンスによって、共同作業を行う新しい機会が提供されます。 仮想環境内の要素を物理的に指し示すことから、同僚の隣に立って、結果を説明しながら光景を共有することまでできます。 OnSight では、没入とプレゼンスのレンズを使用して、Mixed Reality での共有エクスペリエンスが再考されます。
直感的なコラボレーションは会話の基盤であり、共同作業して、この直感を Mixed Reality の複雑さに適用する方法を理解することが重要です。 Mixed Reality で共有エクスペリエンスを作り直すだけでなく、向上させることができた場合は、作業の将来のためのパラダイム シフトになります。 Mixed Reality での共有エクスペリエンスの設計は、新しく刺激的な分野であり、まだ手を付けたばかりです。
概要エクスペリエンスの構築の開始
アプリケーションとシナリオに応じて、目的のエクスペリエンスを実現するにはさまざまな要件があります。 たとえば、次のようなシナリオがあります。
- マッチメイキング: セッションを作成し、セッションをアドバタイズし、特定のユーザーを検出して、ローカルとリモートの両方でセッションへの参加を招待する機能。
- アンカー共有: 複数のデバイス間で共通のローカル空間内の座標を揃えて、ホログラムがすべてのユーザーに対して同じ場所に表示されるようにする機能。
- ネットワーク: すべての参加者間で人とホログラムの位置、相互作用、移動をリアルタイムで同期する機能。
- 状態ストレージ: セッションの途中での参加、後での呼び出し、ネットワークの問題に対する堅牢性のために、空間内でのホログラムの特性と場所を格納する機能。
共有エクスペリエンスの鍵となるのは、複数のユーザーのデバイスに同じホログラムが表示されるようにすることであり、多くの場合、アンカーを共有してデバイス間で座標を調整することによって実現されます。
アンカーを共有するには、Azure Spatial Anchors を使います。
- まず、ユーザーがホログラムを配置します。
- アンカーを共有するには、Azure Spatial Anchors を使います。
- アンカーは、Azure Spatial Anchors によって HoloLens、iOS、Android デバイスと共有できます。
共有空間アンカーにより、各デバイス上のアプリに共通の座標系が用意され、そこにコンテンツを配置できます。 アプリでホログラムを同じ場所に配置して、向きを設定できます。
HoloLens デバイスでは、あるデバイスから別のデバイスにオフラインでアンカーを共有することもできます。 自分のアプリケーションに最適なものを決めるには、以下のリンクを使用してください。
技術オプションの評価
マルチユーザーの Mixed Reality エクスペリエンスの構築に役立つさまざまなサービスとテクノロジのオプションがあります。 パスを選ぶのは難しい場合があるので、以下ではシナリオに注目した観点からいくつかのオプションについて詳しく説明します。
共有静的ホログラム (対話式操作なし)
アプリで Azure Spatial Anchors を利用します。 空間アンカーを有効にしてデバイス間で共有することにより、複数のユーザーに対して同時に同じ場所にホログラムを表示するアプリケーションを作成できます。 ユーザーがホログラムを対話式に操作し、ホログラムの動きや状態の更新を見ることができるようにするには、デバイス間でさらに同期を行う必要があります。
一人称の視点を共有する
PC やテレビなどの Miracast レシーバーがサポートされている場合は、組み込みの Miracast サポートをローカル ユーザーに活用します。 追加のアプリ コードは必要ありません。
マルチユーザー コラボレーション エクスペリエンス
最初に、マルチユーザーの学習チュートリアルをご覧ください。そこでは、ローカル ユーザーのための Azure Spatial Anchors と、シーン内のコンテンツと状態を同期するための Photon SDK が使われています。 各ユーザーがシーン内のホログラムに対して独自の視点を持ち、ホログラムと完全に対話できる、ローカル コラボレーション アプリケーションを作成します。 すべてのデバイスに更新が提供され、相互作用の競合管理は Photon によって処理されます。
Note
Photon は Microsoft の製品ではないため、製品化したり使用量をふやすためにスケーリングしたりするときは、Photon との課金関係が必要になる場合があることに注意してください。
今後の作業
コンポーネントの機能とインターフェイスは、さまざまなシナリオと基になるテクノロジ全体で、共通の一貫性と堅牢なサポートを提供するのに役立ちます。 それまでは、アプリケーションで実現しようとしているシナリオに合わせて最適なパスを選んでください。
別のシナリオや技術またはサービスを使いたいですか。 このページの下部にある対応するリポジトリで GitHub のイシューとしてフィードバックを提供するか、HoloDevelopers の Slack にアクセスしてください。