本日はUnity枠です。
UnityRenderStreamingを使用することでHDRPなどのハイクオリティなレンダリング結果をスマートフォンなどで見ることができます。
ただし、現状スカイボックスがそのまま表示され、ARというよりVR的表現になっています。
今回はドキュメントを調べながら調査をしていきます。
〇RenderStreamingのリポジトリ
RenderStreamingのリポジトリは以下になります。
先日はPackageManaerからAssetsに移行して編集しようとしていましたが、無難にこちらをCloneした方がよさそうです。
〇背景の透過についてのissue
背景の透過についていくつかのディスカッションがありました。
こちらの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フォーラムの情報が役に立つとあります。
上記フォーラムでは同様にRenderStreamingで透過を扱う方法についての議論でWebRTC側の問題について触れられており、これによると現在、アルファエンコーディングをサポートしていないと思われるNVIDIAコーデックv.9.1をWebRCTのパッケージで使用しているためであるとあり、代替としてクロマキーによって実現しようとしています。
ここではUnity側の回答として上記高橋啓次郎さんの取り組みがアイデアとして共有されていました。
このデモはBibcamとして以下のリポジトリから入手できるようです。
このBibcamはカメラのトラッキングデータをビデオストリームに埋め込んだデータとして扱うというアイデアを実現したものです。
次回こちらを触っていきます。
本日はドキュメントの調査でした。