VRChat上に動画撮影、配信用のワールドを作っちゃいました
はじめに
こんなものを作りましたVRChatでDJプレイ撮影用のワールドを作ってみましたですワン❤️❤️❤️ pic.twitter.com/k29DiXMsqI
— ゆでうなぎ (@yudeunagi) March 9, 2019
なにこれ?
VRChatのワールド作成機能で作った撮影スタジオ、もしくは配信システム的なものです。
何故こんなものを?
少し前にDJコントローラーを購入し、ちょこちょこ練習風景をTwitterに上げたりしていたのですが。recordbox(DJソフト)の画面を録画しただけの動画を上げても味気ないのでいい感じに見栄えがするものを作ってみようと思いました。
全体図&機能
以前作成した「Show By Rock#」のEDを再現した ワールドを改造して動画配信であったら便利そうだなーと、 思うものを追加しました。
1.スクリーン
クラブやフェスでよくDJの後ろに設置してあるアレ。 ワールドに設置したカメラの映像、シェーダーで作成した画像、グリーンバックなどを切り替えられるようになっています。切り替え仕組みはごく簡単なもので、操作用のパネルにボタンを配置して、OnInterectでSetMaterialを呼び、スクリーンのマテリアルを変更しています。
このボタンを実際のワールド内で操作することでスクリーンの表示を切り替えます
メインスクリーンは備え付けのパネルorキーボードでカメラ映像や画像などの表示を切り替えることができるようになってます❤️❤️❤️ pic.twitter.com/XuBio11zCW
— ゆでうなぎ (@yudeunagi) March 9, 2019
2.確認用モニタ 3.撮影用モニタ
ステージの前方にはステージを撮影するためのcameraオブジェクトと、それに対応したRenderTextureをセットしたマテリアルのQuadオブジェクトを設置しています。撮影時はこのモニタでカメラ映りを確認します。
ワールドには撮影中にメインカメラの映像を確認するためのスクリーンとStreamCameraで撮影するためのスクリーンを配置しましたですわ❤️ pic.twitter.com/G91wr0qef8
— ゆでうなぎ (@yudeunagi) March 9, 2019
また、ステージ背面にも同じものを設置し、これをVRChatのStreamCameraで撮り、録画ソフトなどで取り込めるようにします (StreamCameraで直接ステージを撮らないのは、画角をいじりたいのと、このモニタに映す画面も切り替えられる用にするため)
4.パーティクル発生エリア
スクリーンの手前側にパーティクルを発生させるためのスペースを配置。このオブジェクトにVRC_OscButtonInコンポーネントをアタッチしてOSCメッセージを受信するとパーティクルが起動するようになっています。 そして別に用意したYoutubeコメントを取得するとOSCメッセージを送信するツール(これについては別記事で書く予定)を組み合わせることで、コメントを取得するとパーティクルが発生するようにしました。また、設定次第でパーティクル以外にもVRC_Triggerで起こせるイベントなら任意のイベントを発生させることができます。
Youtubeコメントを取得してVRChatのワールドにエフェクトを表示させることができるようになりましたにゃん❤️ pic.twitter.com/daYisw4m1w
— ゆでうなぎ (@yudeunagi) February 20, 2019
メリット・デメリット
メリット
各種機能の実際が容易にできる VRChatのワールドの制作ではSDKに用意されたコンポーネントをオブジェクトにアタッチし、各種パラメータを設定するだけで行えるのでコードを記述するようなことは一切せずに上記の各種機能を実装することができました。
そして一番実際が大変だと思われるキャラクター操作の部分は一切すべてをVRChat側でまかなえるのがでかかったです。
デメリット
メリットのほうでも書きましたが、VRChatではイベントの実装はSDKのコンポーネントを使う”事しかできない”仕様上、既存のUnityアセットを使用したり、自作のコードを動かしたりすることができないので、用意されているもの以外の機能を実装しようとすることが困難でだということ。
HMD+Touchコントローラーを装備する関係上DJプレイがやりづらい(HMDは完全に被らず、頭に乗せる感じで使用)
そして環境開発に注力しすぎて肝心のDJ練習がおざなりになった 本末転倒!!
参考URL
OSCメッセージでVRChatのアクションを実行する – じぇしかめもYoutube LiveStreaming APIで配信のコメントを取得する
PythonとAtomのインストールと環境構築メモ – WEB上手
unityでエディターでは正常でもビルドすると文字化けする不具合