Neos VRで360度動画を生配信・撮影する方法

<iframe width="560" height="315" src="https://www.youtube.com/embed/nsGYFsT_bm0" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
つい先日バーチャル美少女ねむさんの[新曲『ファントムセンス』のMV](https://youtu.be/nsGYFsT_bm0)が公開されました！
このMVの特徴は**360度好きな方向を見渡せる**こと。
いわゆる**360度全天球動画**というやつです。

現実ではRICOH THETAやGoPro MAXなどといったカメラを使って撮影することができますが、撮影後の処理に時間がかかったり、三脚やスタッフの映り込みに気を使ったりと結構取り扱いが面倒な機材です。
ところがバーチャル空間での360度撮影は面倒な部分がサクッと解決され、めちゃくちゃ気軽に使えるじゃん！と感じたのでノウハウを記事にまとめます。

#目次
[Neos VRで360度動画を撮影する設定](#neos-vrで360度動画を撮影する設定)
[OBSの設定](#obsの設定)
[YouTubeで生配信する場合](#youtubeで生配信する場合)
[録画した動画をYouTubeに投稿する場合](#録画した動画をyoutubeに投稿する場合)
[Neos VR内で撮影するときのTips](#neos-vr内で撮影するときのtips)

#Neos VRで360度動画を撮影する設定
![steam2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/919266/56761b42-5b2c-5d0f-0b85-6a9cee4d8d35.png)
SteamからNeos VRを起動するときに**Neos Launcherを起動**を選択します。

![screenshot.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/919266/026807de-fd56-4fe0-b82b-e476957b8cef.png)
次に出てくるこの画面でDeviceを**Screen 360**にします。
また**Use custom bootstrap class**にチェックをつけて下記のオプションでNeos VRの解像度を指定します。
`-screen-width 3840 -screen-height 1920`
大きいほうが綺麗ですがその分描画負荷も上がるのでPCの性能に応じて変更してください。
今回の撮影環境ではこのサイズが凝ったワールドでも30FPSを維持できるギリギリのところでした。
またモニターのサイズより大きいとうまくキャプチャーできない場合があるので注意してください。
（実際のモニターサイズより大きくする裏技は後述）

![360_small.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/919266/e48a4b00-e7f9-1602-59a4-c49777c29790.png)
起動するとNeos VRのウィンドウに歪んだ画像が表示されていますが、これが正距円筒図法という方式の全天球映像です。

少々操作しづらくなりますが、通常のScreenモードと同じ操作で移動できます。
Neos VRでは空を飛べるおかげで、**現実の360度撮影では大変気を使うカメラの設置と移動が超楽チン**です。

あとはこれをOBS等のソフトで録画/生配信するだけです。

#OBSの設定
![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/919266/d22d2508-6312-c834-6811-2014aca584da.png)
**基本解像度**、**出力解像度**ともにNeos VRの解像度に合わせましょう。
ビットレートは生配信の場合、[YouTubeの推奨設定](https://support.google.com/youtube/answer/2853702?hl=ja#zippy=%2Cpkfps%2Cpk-fps)によると、この解像度では13,000～34,000 Kbpsが良さそうです。
録画の場合は容量と相談してもっと上げていいと思います。
今回の撮影では35,000Kbpsに設定しました。

#YouTubeで生配信する場合
![YoutubeLive.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/919266/69cf9e9b-5651-4d7e-a4d3-7af8bce3da6d.png)
配信の管理画面から**360°動画**を有効にします。
この状態で配信を始めるとグルグル回せる360度全天球動画として視聴できます。

#録画した動画をYouTubeに投稿する場合
360度全天球動画の編集ソフトはPremiere ProとAfter Effectsがオススメです。

書き出し時にMedia Encoderで形式を**H.264**にします。
![AME.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/919266/eb9271e5-2764-92b2-6bb4-77908e0d321e.png)
**ビデオ**タブの中にある**VRビデオとして処理**をオンにして、画像の通り設定します。
この設定で書き出した映像をYouTubeにアップロードすると、360度動画として認識されグルグル回して視聴できるようになります。

#Neos VR内で撮影するときのTips
###カメラのユーザーのアバターが邪魔
![360_small.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/919266/e48a4b00-e7f9-1602-59a4-c49777c29790.png)
Screen 360モードは視点が360度になる以外は普通のScreenモードと同じなので、そのままだと自分のアバターが映ってしまいます。
![360Toumei_small.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/919266/6483cf5d-6cf5-0fd9-7df0-cd1f76586a9e.png)
MeshRendererを非表示にして**アバターを透明にする**ことでクリーンな映像が撮影できます。Toolshelfも忘れずに非表示にしましょう。
###カメラのユーザーの操作が難しい
カメラのユーザーは常に正距円筒図法の画面になっているので操作が難しくなります。
PCが2台必要になりますが、カメラのユーザーは撮影専用にして基本的に操作をせず、2台目のPCで操作用にVRや通常のScreenモードでログインするのがオススメです。
###演者以外を映したくない
現実の360度動画撮影では、本番時はスタッフが映らないように物陰に隠れる必要があります。
Neos VRではその必要はありません。
HiddenLayerをつけたSlotを用意し、その子に映したくないものやユーザーを入れます。
HiddenLayerのEnabledをValueUserOverrideでカメラのユーザーにだけTrueにすることで、**スタッフがお互いは見えているがカメラのユーザーにだけ見えない状態**にすることができます。
(aescさんのアイデアです。すごい！)
###モニターサイズ以上の画面サイズを指定する
例えばFHDのモニターを使っているけど4Kで撮影したい場合。
ものによっては表示はFHDでも入力は4Kに対応している可能性があります。
![screenshot.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/919266/33d7180c-67ec-1101-1d01-de3a505b89e2.png)
NVIDIAのグラフィックボードを使っている場合は、**NVIDIAコントロールパネル**の**解像度の設定**から**カスタマイズ**をクリック。
![screenshot.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/919266/5d180bbc-b4f6-864b-767f-173f146b9413.png)
**カスタム解像度の作成**から3840ｘ2160のサイズを作成してOK。
![キャプチャ2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/919266/54bd7eef-be9b-8c42-6fe4-99249ce6188a.png)
先程の画面に戻ると選択肢が増えているので、選択して適用。
これで4Kが表示できれば、その状態で撮影することができます。

#問題点
いい事尽くめのようですが問題点もありました。
###カメラのつなぎ目でブルームが綺麗に繋がらない
360度映像は中心からカメラを6方向に向けて撮影し、それぞれの映像をつなぎ合わせるという仕組みで実現されています。
そのため平面の映像を想定して作られたポストプロセスの一部はうまく繋がらずに切れ目が見えてしまいます。
ブルームはこの問題が非常に目立つポスプロですが、Neos VRは現状ポスプロを調整できないので、解決が難しいです。
###カメラ間でレンダリングに差が出る場合がある
Neos VRに限らず、通常3Dゲームのカメラは軽量化のために視野の外にあるものを表示しないようになっています。
その表示・非表示の切り替わりが各カメラ間で若干ずれてしまい、切れ目が出てしまうという問題がありました。
極端にオブジェクトに近い場合に発生するので、カメラ位置を工夫すればある程度対処可能でした。

#バーチャル空間での360度撮影は超お手軽！
特殊な機材が必要なく、ちょっと設定を変えるだけですぐに360度撮影が始められるのはとても手軽でいいですね。
現実の360度撮影で悩まされるポイントもVRなら簡単に解決でき、超スピーディに撮影を進められたことに大きな可能性を感じました。

お手軽に一味変わった撮影ができるバーチャル撮影にぜひ挑戦してみてください！