VRC_WebPanelのようなものを作る
VRC_WebPanel の死
2018/8/18のVRChatの更新で、セキュリティ上の理由によりVRC_WebPanelが無効化されてしまった。
WebPanelは、VRC内で使えるブラウザインスタンスで、外部のサーバやDBが不要な同期する情報表示器で、ワールド内から手続き的にインタラクションできるjavascriptのインタプリタだったのだよね。セキュリティ上仕方ないとはいえ無くなって惜しまれるのはわかる気がする。
— suna (@suna_vrc) August 22, 2018
嘆いてばかりもいられないので、類似の機能を(多少無理矢理にでも)実現してみることにする。
偽の VRC_WebPanel を作る
偽のVRC_WebPanelできた。やってることはお粗末だけど、VRChat外部から情報を取り入れることができて、ワールド内のフレンド以外の人でも見られて、そこそこ同期するスクリーンが必要な場合はあると思う。 pic.twitter.com/kNm0QJk0br
— suna (@suna_vrc) August 27, 2018
やっていることは簡単で、ローカルPCのブラウザ画面を、OBSを使ってYouTubeやTwitch経由でライブ配信して、ワールドに置いたVRC_SyncVideoStreamで受信しているだけ。
ライブ配信を使うならSyncVideoPlayerではなくSyncVideoStreamを使う。
こちらの手順の通りにすればできた。
StreamScreenのマテリアルのシェーダは「Video/EmissiveGamma」ではなく「Video/RealtimeEmissiveGamma」を使う。
あとVRC_Video SpeakerのChannel TypeにStereo_MixではなくMono_LeftとMono_Rightを指定すると、左と右のステレオスピーカーが作れる。
URLをVRC内で追加するuGUIのインタフェースはこちらの末尾にある 堕電 (@dadenCKEP) | Twitter さんのサンプルが参考になった。
uGUIのInputFieldのInspectorで、OnEndEditの対象オブジェクトをStreamParentにして、AddURLメソッドを指定すると動いた。
VRCでのライブ配信の可能性
VRC内で勉強会・授業・共同作業・ライブコーディング・ペアプロをしたり、ゲームやスポーツの観戦会をしたり、テレビや映画の鑑賞会をしたら面白いよね。操作に困った人が居たらストリームキーを渡して、画面を皆で確認してアドバイスし合ったら、VRC外で一人で悶々と悩む時間も減るかもしれない。 2018/8/28 5:36
モデリングやUnity操作が上手な人の作業画面を見られるワールドに居たらきっと楽しいし、とても勉強になるよね。多人数になってきたらインスタンスを分けて、同じチャンネルをワールドで流せば良いし、音声交流はDiscordも使えそうだね。神回になったらあとで録画を見るために集まっても良いよね。 2018/8/28 5:38
よく考えたらこれこそ来てほしかった未来で、とてもわくわくする。誰でもどこからでも、興味関心に合った世界にJoinして相互に交流できることが日常になる。ときには国境や時間さえ超えて、かつては個人の中に埋没していくしかなかった高度な才能にリアルに触れることができる。VRCの未来で、会おう。2018/8/28 5:39
OBS配信のノウハウ
VRChatとOBSを使ったライブ配信について少し具体的な話もしておこう。画面を操作する人が1人で良くて、見る人の回線速度や通信量に問題がなくて、みなWin10を使うかブラウザを見れて、多少の遅延が問題にならない用途なら、ライブ配信は有効に使えるのではと思う。因みにOBSはVRCの録画にも使えて便利 2018/8/28 5:41
ただVRCライブ配信はWin8以下だと安定して再生できない、回線や通信量に制限がある人にはつらい、環境によっては30秒とか遅延する、ワールド内から直接画面を操作したりトリガを受け取ったりできない、ワールドインスタンスのオーナー以外はURL追加等ができない、といった面もあるので注意は必要。 2018/8/28 5:42
ライブ配信にはSyncVideoPlayerではなくSyncVideoStreamに対応したワールドが必要。私が好きなのはCinema Home in Spaceで、大画面を囲んで鑑賞できる過ごしやすい空間になっている。ワールドに入ったときに音が鳴るので、後で誰かが合流したときに映像が見えているかどうか確認を取りやすい所も良い。 2018/8/28 5:45
Twitchのステレオ配信は映像は見えるけれど音が出ないのでモノラルで聞くか、音はブラウザを別に立ち上げて聞くと良い。Twitchは限定公開はできないので、仲間うちで配信したい場合はYouTubeの限定公開を使うと良さそう。ただしYouTubeのライブ配信用のストリームキーは申請後24時間後に有効になる。 2018/8/28 5:46
YouTubeのストリーミングで画面共有する場合、ストリームオプションで「超低遅延」に設定すると良さそう。「OBS 遅延」とかでググればゲーム実況などの先人達が知恵を公開してくださっているので参考になる。自分の知識やスキルに需要があるかもと思ったことがある人、気軽に配信やっていこう。 2018/8/28 5:48