unityから360動画への書き出し方法

 先日のsnowXさんのTwitter Spaceで話題になった、360VR動画をunityにuploadする方法を今日はまとめようと思います。なお、unityは結構バージョンによって使えるプラグインの組み合わせが違ったりするので、同じ手順でやってもunityのバージョンやレンダリングエンジンが違うと使えなかったりするので注意してください。

360VRの設定が正しくできると、こちらのyoutube動画のようにスマフォやVRゴーグルで動かしながら見る事ができます。
※スマフォの場合は、youtubeアプリでないと、VRで表示されないので、是非youtueアプリでご覧ください。



また、このチュートリアルは Unity 2021.3.4f1 をベースに書いています。


<基本方法>

1.unity recorderをインストールする

2.書き出し設定で 360viewにする

3.書き出された横長の動画を、premiaなどで編集して、VRのメタデータを入れて書き出す

4.youtubeにアップロードする


こちらの4ステップが基本手順になります。

1.unity recorder入手方法

unity recorderは昔はunity asset storeで無料入手するツールでしたがunity2019以降は package managerから直接DLできるようになりました。


2.UnityRecorder書き出し設定


Unity recorderの設定はとても簡単です。
例えば4kサイズの普通の360VR動画を撮ろうとしたら、以下の設定になります。

・source→360 View
・Output Dimensions 4096 x 2048
・Cubemap Size 2048(output dimensionsの縦幅と同じサイズにする)
・Record in Stereo→OFF



なんでoutput sizeが2:1になっているかというと、unity recorderのデフォルトの書き出し設定方式がEquirectangular形式になっているからです。Equirectangularというのは世界地図などで使われる、球体を平面で表現する技法です。Equirectangular方式以外で球体を平面で表す場合、CubeMapと呼ばれる方式も使われます。これはサイコロの展開図のようなものです。

これらの表示形式はどちらも一長一短あります。unity以外でもinsta360等のVRカメラで一般的に使われているのがEquirectangular形式で、AfterEffect等でモーショングラフィックの加工をするときに便利なのがCubeMapになります。

Unityから書き出す場合、基本的にEquirectangularしか選択できないので深く考える必要はありません。

Equirectangularとcubemap の使い分けについては onixさんのサイトによくまとまっていました。

https://onix-systems.com/blog/how-to-use-360-equirectangular-panoramas-for-greater-realism-in-games 


次に、立体視の設定として

・Stereo(Top and Bottom)

・Stereo SBS(Side by Side)

・Mono

の3種類があります。

特に記載のない場合、VRでstereoというと Top and Bottomになります。

例えばUnityRecorderのでStereoを選択した場合、書き出し設定は以下のサイズになります。

・source→360 View
・Output Dimensions 4096 x 4096
・Cubemap Size 2048
・Record in Stereo→ON


VRゴーグルで見たときにStereoで書き出されたものの方が圧倒的に立体感が出ます。

デスクトップやスマフォで見た際に違いが体験できないのが残念ですが、VRゴーグルで普段見ている世界を再現したい場合、迷わずStereo設定にしましょう。


ちなみに、このへんの呼称は結構バラバラで、"3D 360VR"、”stereo 360VR”など、色んな呼ばれ方がありますがあまり統一されていません。




3.metaデータ追加

Unityから書き出された動画をそのままyoutubeにアップロードしてもただの横長の動画になってVRになりません。なぜなら、その動画にはメタデータが入っていないからです。
VR用のメタデータを追加する方法はいろいろありますが、ここではAdobe Premiaを使う場合で書きます。

因みに、最近はついにyoutube公式チュートリアルでもmetadataの埋込にはadobe premiaを推奨するようになりました。


どうしてもadobe を使いたくない場合は、meta data injector を使うと埋込ができます。

Equirectangularの動画でも、Premia上での動画のカットやフェードインなどの操作は普段の2Dの動画編集とほぼ同じ要領でできます。
文字などを入れる時は、文字のサイズ感がEquirectangular上と360動画上でかなり見え方が違うので、都度VRビューで確認した方が良いでしょう。
以下、見え方の違いのサンプルです。

Equirectangularでの表示


VR displayでの表示

最初は位置関係を把握するのがかなり困難だと思いますが、経験でなんとくなくVR化したときのサイズ感を予想できるようになります。


書き出し設定

PremiaはVR用のプリセットが充実しているので書き出しは簡単です。

通常の360VRの場合→VR monoscopic
stereo 360VRの場合→VR Over-Under

となります。




音は、通常の音源の場合はStereo Audioになります。
Ambisonicの場合、VRならではの立体的な音の作り方ができて面白いのですが、それはまたの機会に。


3D 360VR版の書き出しができると、こちらのように立体視ができるバージョンになります。
なお、360VRと3D360VRの違いは残念ながらVRゴーグルが無いと体験できません。
逆に、せっかくVRゴーグルを買ったら3D VRじゃないと物足りなくなってしまうものです。
まだ3D 360VR動画をアップしてる人が少ないからか、premiaもunityも細かいバグだらけですが、それを乗り越えるとついに3DVRの世界に入れます!
VRアーティストの皆さんは皆さんも是非お試し下さい!




Powered by Blogger.