ドキュメント読むシリーズ
空間アンカーを共有して複数台のHoloでホログラムを共有したり、Androidやiosデバイスでも見えるようにする。
シナリオ定義
シナリオを定義するために、以下の6つの質問に答える。
<6つの質問>
- シナリオ:プレゼンテーション 、 コラボレーション 、ガイダンス
- 人数:1対1、6人以下、7人以上
- 同じ場所にいるのか:みんなが物理的に同じ空間にいる、みんな違う空間 、同じ場所にいる人もいるし、違う場所にいる人もいる
- 同期・非同期:同期 or 非同期 or 両方
- お互いの物理環境が似ているか:類似 or 相違
- デバイス:2Dデバイス(iPad,スマホ,PC)、 3Dデバイス( Holo,VR)
1.シナリオ
何故空間を共有するのか。
- プレゼンテーション:同じコンテンツが複数ユーザーに提示されて、教師が生徒に教えるなど。(ただし教師にだけカンペが見えていてもいい)
- コラボレーション:共同作業!
- ガイダンス:1対1で教える
2.人数
1対1がいい?
6人以上のグループだと技術面(データとネットワーキング)と社会面(人がたくさんいる影響)で問題が起こる可能性がある。
人数で3つのカテゴリに分類できる
- 1:1
- 小さいグループ(6名以下)
- 大きいグループ(7名以上)
以下に影響を与える。
- ホログラフィック空間における人々の表現
- オブジェクトのスケール
- 環境の規模
3.人がいる物理的な場所
3パターンある。
- みんなが物理的に同じ空間にいる
- 全員別の場所にいる
- 同じ場所にいる人もいるし、違う場所にいる人もいる
以下の選択に影響を与える
- 人々のコミュニケーション方法(例:アバターが必要かどうか。)
- 彼らが見るオブジェクト。(現実空間のオブジェクトも共有すべきか)
- 彼らの環境に適応する必要があるかどうか?(現実空間を反映すべきか
4.同期・非同期
すべての仮想物体を同期させるべきなのか
- 同期
- 非同期
- 両方(教授が学生によって実行された課題を後日採点し、翌日のために学生にメモを残す)
以下に影響を与える
- オブジェクトと環境の永続化。(状態を保存して検索できるようにする)
- ユーザーの視点(例:メモを残すときにユーザーが何を見ていたかを記憶する)
5.(人々が別の場所にいる場合)どれくらい物理環境が似ているか
例えばお互い別の会社の会議室にいるなら、机といすがあるという前提で配置をできるが、片方が自宅にいるならテーブルがないかもしれない。
- 類似:類似した家具、周囲の光と音、物理的な部屋のサイズ
- 相違:家具の設定、部屋の大きさ、光、音などの考慮事項が全く異なる
以下に影響青与える
- どのようにオブジェクトを体験するか(床に置くスペースがあるか)
- オブジェクトの大きさ
6.どのデバイスを使用するか
iPadやスマホ、PCなどの2Dデバイスなのか、HoloやVRなどの3Dデバイスなのか
シチュエーション例
シチュエーション例で上の6つの質問に答えてみる
例1
Skype経由で、離れた場所にいる専門家の助けを借りて、壊れたライトスイッチを修理する
- ガイダンス
- 1:1
- 全員別の場所にいる
- 同期
- 物理的な環境は似てない
- 専門家は2DのPCで、ユーザーはHolo
例2
架空の火星での探索作業を各地からする。
- コラボレーション
- 小さなグループ
- 全員別の場所にいる?
- 基本同期だが、非同期で再訪もできる
- 物理的な環境は似てる
- PCでも操作できるしHoloでもできる。
空間共有の技術要素
- マッチメイキング:セッションを作成し、セッションを宣伝し、特定の人々を発見して招待し、ローカルおよびリモートでセッションに参加してもらう
- アンカーの共有:共通のローカル空間で複数のデバイス間の座標を合わせる機能により、ホログラムがすべての人に同じ場所に表示される
- ネットワーキング:人とホログラムの位置、相互作用、動きをすべての参加者間でリアルタイムに同期させる
- 状態の保存:ホログラムの特性と位置を空間に保存して、セッションの途中で参加したり、後で思い出したり、ネットワークの問題にも対応できるようにする
アンカーの共有
Azure Spatial Anchorsを使う
- 最初にユーザーはホログラムを配置
- アプリは空間アンカーを作成し、そのホログラムを世界に正確に固定
- アンカーは、Azure Spatial Anchorsを介してHoloLens、iOS、Androidデバイスと共有
アンカーはオフラインで共有することもできるけど、Azure Spatial Anchorsよりもアンカーの再現率が低く、iOSおよびAndroidデバイスはこのアプローチではサポートされない
1人称視点を共有
映像共有
Miracastを使える環境ならMiracastを使えばいい。特にアプリ側で何もする必要はない
リモートユーザーやMiracastが使えない場合はWebRTCを使う
1:1のオーディオ/ビデオストリーム、、デバイス間でのメッセージング用のデータチャネルが可能になる。
ビデオストリーミングを複数のリモートクライアントに共有する場合は、
SignalWire(有料サービス)などのMCUサービスプロバイダー(Multipoint Conferencing Unit)が使用されます。
AzureへのワンクリックSignalWireデプロイメントは、Freeswitch経由で利用できます。
SpectatorView
Holoユーザーが見ているホログラムを別のデバイスで見れる。
上の映像共有とは違い、ホログラムの状態だけを共有しているのでデータが軽い。
こちらが詳しそうだった
akihiro-document.azurewebsites.net
マルチユーザーのコラボ
PhotonとAzure Spatial Anchorsを使ってコンテンツを同期するチュートリアルがある。
映像の共有や、ホログラムの状態の共有ではなく、各自がホログラムに対して作用できる。
共同作業とか?