Unityで360 stereoなVR動画をキャプチャしてYouTubeにアップロードする
検証環境
Unity 2019.3.5f1
Windows 10
Unity Recorder のインストール
Unity RecorderはUnity社製のキャプチャアセットです。もともとはアセットストアで配布されていたのですが現在はなくなっていてPackage Manager経由でpreview版が入手できるようになっています(2020年4月現在)
UnityEditor上から
Window → Package Manager で All Packages を選択
Advanced → Show preivew pakcges を選択
Unity Recorder を Install
Unity Recorder で動画ファイルを作成
Unityエディタ上から次のメニューでウィンドウを開きます
Window → General → Recorder → Recorder Window
Add New Recorders → Movie を選択
Captureで360 Viewを選択
Sourceを選ぶ(MainCamera or TargetCamera)
Stereoにチェック
ファイル名や解像度など他の項目も必要に応じて設定してください。
これで準備は完了です。
エディタをPlayして、キャプチャを始めたいタイミングでSTART RECORDINGボタンを押し、終わるときは同じボタン(STOP RECORDINGという表示になります)を再度押します。
Path欄で指定したファイルが生成されます。
正距円筒図法で左右の眼に対応した2つの絵が上下に並んだ動画になっています。
メタデータを埋め込む
このままではただの縦長動画なので「立体視の動画ですよ」というメタデータを埋め込みます。
ここではGoogleが公開しているSpatial Media Metadata Injector使います。
インストール方法は上記リリースページのとおりでPython2が必要になります(自分の環境ではすでに入っていたので詳細が追えず割愛します)。
ダウンロードしたSpatial Media Metadata Injector.exeを実行し、Openボタンから先程の動画を開きます。
My video is stereoscopic 3D(top/bottom layout)をチェック → Inject metadata ボタンで保存
自分の環境では同名ファイルの上書きでは特にエラーは出ないもののメタデータは書き込まれていませんでした。別のファイル名しておくのがよさそうです。デフォルトでも_injectの付いたファイル名になっているかと思います。
動作確認
Windows10ではデフォルトでMP4に関連付けされている「映画&テレビ」というアプリがメタデータに対応しているようです。メタデータが正しく書き込まれていると次のようにマウスで視点を動かせる360度動画として再生されます。
HMDなどで立体視で見るにはそれ用のプレイヤーアプリが必要かと思います。自分の環境ではSteamVRが入っているのでそちらのメディアプレイヤーで確認できました。
YouTubeへアップロード
メタデータを読んでくれるため特別な手順はありません。通常の動画と同じようにアップロードすればオッケーです。正しく認識されると次のような360度3D動画として表示されます。