夜風のMixedReality

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

MixedReality WebRTCを理解する その① WebRTCとは

本日はHoloLens2 の調査枠です。

HoloLensやOculusQuestの開発でMRTKを用いる場合[MixedRealityFeatureTools]を使用すると便利です。

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

redhologerbera.hatenablog.com

[MixedRealityFeatureTools]ではUnityを用いたHoloLens開発におけるMixedReality開発に関連するパッケージを一括で管理することができます。

今回使っている中で[MixedReality-WebRTC]というものが気になりWebRTCとは何か疑問に感じたため今回は概要を学んで記事にします。

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

〇WebRTCとは?

WebRTCはウェブブラウザやアプリケーション上でリアルタイム通信を行うためのオープンソースプロジェクトです。

特徴としてピアツーピア(P2P)の通信でビデオ通話やチャットなどに特化した通信を行っているようです。

 WebRTC自体はUnityやC#ではなく別の言語、環境で動作していますが、[MixedReality-WebRTC]はこのWebRTCをHoloLensなどのMixedReality開発で使用できるようにしたUnityパッケージです。

 リポジトリは以下で公開されています。   github.com

〇MixedReality-WebRTCの目的、できること

リポジトリによるとできることとして次のようなものがあるようです。

・遠隔でのピアツーピアのリアルタイム音声、ビデオ、データ通信

・既存アプリに統合するためのC++およびC#のAPIの提供

・ユーザーの視点をストリーミングしてマルチデバイス体験

 サポートするデバイスとしてはHoloLens、HoloLens 2、UWPに加えAndroidもあるようなのでOculus Questでも使用できる可能性があります。(筆者自身はこれから試すため根拠はないですが)

 つまりこのプロジェクトを使用することでPhotonなどとは異なる技術での複数人でのコラボレーションやデータのやり取りができそうです。

〇Microsot Meshへのリソース

 [MixedReality-WebRTC]はMixed Reality Sharing teamというチームによって開発、提供されているようですがMicrosoft Meshへのリソースへ重きを置くためWebRTCプロジェクトの進行を緩めることが告知されています。

 Microsoft Meshは複数人でのコラボレーションツールとして今後SDKが提供されることが宣言されています。この技術にリソースを割いているようです。

 しかしながら22年中にも更新は行われているため最新の開発環境に適応はしているようです。

〇MixedReality WebRTCのドキュメント

microsoft.github.io

ドキュメントには導入ガイドがあります。ここではC、C++のネイティブ開発からUnityでの利用例がサンプルとして提供されています。

次回以降このドキュメントにのっとりサンプルを動かしていきます。