Upgrade to Pro — share decks privately, control downloads, hide ads and more …

UnityRenderStreamingを使って サーバー側でQuilt映像をレンダリングする

UnityRenderStreamingを使って サーバー側でQuilt映像をレンダリングする

LookingGlass向けにクラウドレンダリングのシステムを構築できるか、UnityRenderStreamingの仕組みを使って簡単にサーバー側レンダリングが行えないかを検証しました

Avatar for blkcatman

blkcatman

June 11, 2021

Other Decks in Programming

Transcript

  1. UnityRenderStreamingのメリット クラウドレンダリングを行うための仕組みが大体そろっている
 • ゲーム画面はライブラリが自動的にエンコードされる
 • 映像の送受信にWebRTCクライアントが使える
 ◦ MediaChannel
 ◦ DataChannel


    ◦ 伝送経路上の問題は大体ICE(STUN/TURN)サーバーの仕組みで解決できる
 • 公式がサンプルでWebブラウザアプリを用意されている
 ◦ ブラウザアプリは開発しやすく、手間が減る
 映像・音声の送受信
 コントローラー入力
 Webカメラ入力に近い
 イメージで扱える

  2. Web App LookingGlassのリモートレンダリング概要図 Holoplay Capture (Holoplay SDK) quiltRT (RenderTexture) Camera

    Camera Camera レンダリングサーバー(Unity)
 Unity RenderStreaming WebRTC Client Signaling Server Web Server クライアント
 (Webブラウザ)
 WebRTC Client 描画エンジン (WebGL) Camera
  3. 変更したインスペクタの設定など(RenderStreaming) Web Browser Input Channel Receiverと Camera Streamerのコンポーネントの みをアタッチ
 Signaling

    Typeを HttpSignaling に変更
 URLを http://localhost に変更
 ※サーバー仕様によって変更する
 実際はWebSocketを使うケースのほうが多い
 ※映像を送るだけだったらCamera Streamerのみで良い
 将来的にブラウザ側の入力を受けたいのでこの2種を設定
  4. 変更したインスペクタの設定など(Render Streaming Camera) Culling Maskを Nothingに変更
 カスタムスクリプト(※後述)をアタッチ Holoplay CaptureのGameObjectをアタッチ
 Streaming

    Sizeを
 任意のサイズに変更
 ※このカメラの映像はQuilt映像で上書きされるので
 オブジェクトの描画そのものを切っている