見出し画像

れくとろの配信画面のカメラとかの忘備録

準備編

今回はソフトを複数活用しました。
メインで使用しているのはUnity、VRChat民おなじみの2018.4.20f1です。
次に使っているのはバーチャルモーションキャプチャー(先行試験版)です。pixivFUNBOXなどの支援サイトにて先行配信されているものでなければVMCProcotolの送信機能がないので、ほしい人は作者さんを支援しよう!
最後にSketch Up Make 2017、これは主にステージやDJブースの作成に使用しました。ここは各々好みの3Dモデリングソフトで代用できるはずです。

ソフトウェア編

まずはUnityの設定からです。今回はUnityのプラグインをいくつか使っています。
・Cinemachine
・CineSwitcher
・EVMC4U
以上の三プラグインで簡単にカメラが動いてアバターが飛び回る配信画面を作ることができます。
EVMC4UにはUniVRMが同梱されているので、追加導入は不要です。

ひとつづつ簡単に説明していきます。

Cinemachine
 
Cinemachineは複数カメラをセットすることができるUnity公式のプラグインです。導入は簡単だし、探せばいくらでも解説記事があると思います。
 導入は公式のものをそのまま見るのが楽かも。


CineSwitcher
 
CineSwitcherはCinemachineで設定した複数カメラをキーボードやゲームパッドを使用して切り替えるソフトです。こいつも非常に便利。
 ついでに複数個所を指定してあげて設定してあげれば、今回みたいにぬるぬる動くカメラワークも簡単にできるぞ!

EVMC4U(EasyVirtualMotionCaptureForUnity)
 
EVMC4UはVMCと連携してVMCでのトラッキングをしてるモデルをそのままUnityのシーンに乗せるソフトです。とても便利。こいつのおかげで今回の配信が成り立ったといっても過言ではないソフト。ありがとう。


続いてVMC。

バーチャルモーションキャプチャー(VMC/ばもきゃ)
 
言わずも知れたVRMファイルを読み込んでトラッキングできるソフト。今回はもともとFBXのモデルをVRMに変換して使用。

使用方法は非常に簡単なのでこれといって追加で書きません。とりあえずキャリブレーションがわかれば大丈夫。
そして今回使用したアバターはこれ。

髪色変更など一部改変してあります。

最後です。

Sketch Up Make 2017
 
本来は建築用3DCADになるのでしょうか。無料版でFBX出力できる最後のバージョン。今回はDJブースとステージの制作に使用。特にこれに関しては詳しい説明をしません。各々使いやすい3Dモデリングソフトを使ってください。

実装編

実装は思った以上に簡単です。
まずは何も見ずこちらをどうぞ

画像1

さて、私もすでに何が何だか分からなくなりつつありますが一個一個説明していきます。

まずはEVMC4Uを導入します。
こちらはunitypackage形式なのでいつものunitypackage導入のやり方で大丈夫です。導入するとチュートリアルが表示されます。

画像2

基本的にこのセットアップ通りにやってあげれば問題ありません。

次にばもきゃの設定。

画像3

モーション送信(VMCProtocol)にチェックを入れるだけで大丈夫です。
ばもきゃ自体の設定はそこまで触れません。

これでUnity自体にばもきゃで読み取られているモデルが表示されます。
こんな感じに。

画像4

あとはキャリブレーションしてあげればそのままあなたのUnityシーンで飛び跳ねるあなたのアバターの姿が!
非常に簡単に行えます。

次にカメラ関連。
まずは公式のやり方通りにCinemachineを導入します。
次にCineSwitcher。こちらもunitypackage形式なので導入はらくちんです。

さて、基本的な利用方法ですが、まずはCinemachineタブからCreate Blend List Cameraを選択します。

画像5

画像6

CM BlendListCmaera(追加した数)が追加されますが、その中に二個表示されますが一個消します。
そしてInspectorのStatus:Liveをsoloに設定してメイン画面のGameを開くと先ほど作成したカメラ画面を確認することができます。あとはそれを確認しながらカメラ位置をいじります。

画像7

ぬるぬるカメラ位置が動くものを作成したいならCM BlendListCamera中にあるCM Vcamを増やして、CM BlendListCameraのInspector内にあるCinemachine Blend List Cam内のLoopにチェックを入れ、その下の枠に増やした分のCM Vcamを設定します。
Blend inの後の数字は移動時間、Hold下の時間はその位置で止まる時間です。

これでCinemachine側の設定は大体完了です。

続いてCineSwitcher側。
こちらはAssetsからCineSwitcher本体(ゲームパッドで操作したいならXinputgamePadListener)をHierarchyにD&D。

そしてHierarchy内のCineSwitcherを選択してInspector内のCine Switcher(Script)の内容を操作していきます。

まず最初に操作しなければならない部分はCam List。
これが設定したカメラアングル分なければスイッチできません。
まずはSizeを設定した分のカメラの数に合わせて入力します。今回は8アングル用意したので、8と入力。
そしてそれぞれのElementにCM BlendListCamera 1から8をD&Dで設定します。

次にCam Key Config。これはキーボードでカメラアングルを変更するときに設定します。今回は1~8にそれぞれ数字キー(Numパッドではない)1~8を設定。押すことで操作することができます。

これで大体の設定は完了!あとは細かい小物類を設定して配置すれば完璧です!

今回はこのDJブース部分とフレームステージはSketchUpにて制作しました。モデルとのサイズ調節がかなり大変でしたが何とかなりました。

今回背景部分をBBにしてありますが、これはVJのためにBBにしました。この辺は自身の配信環境やイベントに合わせて変更することをおすすめします。

細かな注意点

まずばもちゃ側のキャリブレート方法によってはUnity上で表示されるモデルの大きさに差異が発生します。
標準キャリブレーションとMRキャリブレーションではMRキャリブレーションのほうが大きく投影されます。(私の環境では)

次にEVMC4UのExternalReceiver、この中のU Osc Serverのポートを変更することで別ポートにすることもできますが、基本設定のままでいいでしょう。

最後に

この環境を前日11時ぐらいから翌朝5時頃まで夜なべ仕事して実装しました。この短期間でUnity配信の技術はすごくついたのではないのでしょうか。ちなみにUnity自体は先週あたりにVRChatのTrust Levelが上がったのでアバターをアップロードするために初めて触りました。

突貫工事もいいところだったので若干の破綻が見えないわけではありませんでしたが、概ね悪くない出来にはなったのではないのでしょうか。
トラッキングについてはOculus Rift(初代)を使用しているため頭の上にHMDを付けてコントローラを手に持ってやっていました。

DJ部分については特に記述しません。あれはもっと情報いっぱいあるからね……。

以上自分がわかればいいやの簡単な忘備録でした。もし何か聞きたいことがあれば

こんなことを抜かしているTwitterとかまで聞きに来てくれれば答えられる範囲であれば答えます。

最後の最後に!

今回のイベントの運営サイドの方々と出演者、そして視聴してくれた皆さんに最大限の敬意と𝓑𝓲𝓰 𝓛𝓸𝓿𝓮……を送らせていただき、
終わりとさせていただきたいと思います。

(もう夜なべして準備はしたくない、みんなは計画的に準備しよう!)


この記事が気に入ったらサポートをしてみませんか?