夜風のMixedReality

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

UnityRenderStreamingでスマホARを実装する 背景の透過 その② ドキュメント

本日はUnity枠です。

UnityRenderStreamingを使用することでHDRPなどのハイクオリティなレンダリング結果をスマートフォンなどで見ることができます。

ただし、現状スカイボックスがそのまま表示され、ARというよりVR的表現になっています。

今回はドキュメントを調べながら調査をしていきます。

〇RenderStreamingのリポジトリ

RenderStreamingリポジトリは以下になります。

github.com

先日はPackageManaerからAssetsに移行して編集しようとしていましたが、無難にこちらをCloneした方がよさそうです。

redhologerbera.hatenablog.com

〇背景の透過についてのissue

背景の透過についていくつかのディスカッションがありました。

github.com

こちらのissueではスカイボックスを透明にする方法を訪ねていますがこれによるとRenderStreamingはalphaを含むビデオコーデックをサポートしていないようです。

Unity Render Streaming doesn't support the video codec which has an alpha channel. You need to add an alpha mask into each render texture.

これはWebRTC側の問題であり、イシューによると以下のUnityフォーラムの情報が役に立つとあります。

forum.unity.com

上記フォーラムでは同様にRenderStreamingで透過を扱う方法についての議論でWebRTC側の問題について触れられており、これによると現在、アルファエンコーディングをサポートしていないと思われるNVIDIAコーデックv.9.1をWebRCTのパッケージで使用しているためであるとあり、代替としてクロマキーによって実現しようとしています。

www.youtube.com

ここではUnity側の回答として上記高橋啓次郎さんの取り組みがアイデアとして共有されていました。

このデモはBibcamとして以下のリポジトリから入手できるようです。

github.com

このBibcamはカメラのトラッキングデータをビデオストリームに埋め込んだデータとして扱うというアイデアを実現したものです。

次回こちらを触っていきます。

本日はドキュメントの調査でした。