強火で進め

このブログではプログラム関連の記事を中心に書いてます。

Unity 2018.1 ベータから利用可能になった360°動画撮影(recording)を行う方法

Unity 2018.1 では360°動画の撮影(録画)が可能に成りました。

Get early access to Unity 2018.1: the beta is out – Unity Blog
https://blogs.unity3d.com/jp/2018/01/10/get-early-access-to-unity-2018-1-the-beta-is-out/

こちらのブログ記事にも experimental と書かれてる様にまだ実験的な実装な段階で有る点についてはご注意下さい。

Stereoscopic 360 image and video recording (experimental)

リリースノートによると RenderTexture.ConvertToEquirect() という API が該当する様です。

Unity - Beta
https://unity3d.com/unity/beta#notes

XR: 360 stereo image capture with support for conversion of rendered texture (cubemap) to stereo/mono equirectangular format for display in VR. Added script API: RenderTexture.ConvertToEquirect() for converting rendered cubemap textures to stereo and mono equirectangular format.

Unity - Scripting API: RenderTexture.ConvertToEquirect
https://docs.unity3d.com/2018.1/Documentation/ScriptReference/RenderTexture.ConvertToEquirect.html

実際にはこれを直接使うより簡単に360°動画を作る方法が有るので今回はそちらの方法を解説します。

ちなみに360°動画の再生の方については既に去年から対応済みです。

How to integrate 360 video with Unity – Unity Blog
https://blogs.unity3d.com/jp/2017/07/27/how-to-integrate-360-video-with-unity/

Unity による360°動画の撮影方法

1. ベータ版配布ページ( https://unity3d.com/unity/beta ) から Unity 2018.1(ベータ)をインストール。
2. 素材となるステージを作成。
3. Unity が無料で公開している「Recorder」というゲーム画面(Game View)を録画するアセットをインポート。

Recorder - Asset Store
https://assetstore.unity.com/packages/essentials/beta-projects/recorder-94079

4. メニューから Tools > Recorder > Video と選択。
5. Collection method を「360 View (feature preview)」に変更。必要に応じて出力解像度などを変更し、「Start Recording」を押すと録画開始。

6. YouTube の以下のページから360°動画のメタ情報を追加するツールをダウンロード。
※このアセットは OpenEXR でも出力できたりするし、他の用途のキャプチャでも便利に利用可能です。

360° 動画のアップロード - YouTube ヘルプ
https://support.google.com/youtube/answer/6178631?hl=ja


7. Unity のプロジェクトフォルダの Recordings フォルダ内に出力された .mp4 ファイルをこのツールで開き、「My Video is stereoscope 3D」の項目にチェックを付けた後、 「Inject metadata」ボタンを押す。

8. 出力されたファイルを YouTube にアップする。

以上の作業だけで簡単に360°動画を YouTube にアップロード可能です。

なお、連番画像で出力した場合には FFmpeg を使って以下の様なコマンドを実行する事で .mp4 ファイルに変換可能です。調整にこだわりたい人はこちらで。

ffmpeg -r 60 -i "Recordings/image_%04d.jpg" -vcodec mpeg4 -b 6000k out.mov

-r : フレームレート
-i : 入力画像(PNGファイルで出力した場合には .png に変更して下さい)

閲覧方法

こちらに自分がアップした360°動画が有りますのでこちらで試してみて下さい。

Unity 2018.1 で作成した360°動画 - YouTube
https://www.youtube.com/watch?v=Y9m7sym1y0k

PCの場合


普通に YouTube のページを開くことで閲覧可能です。画面の左上に視点移動用っぽいアイコンが有りますが特にこれをドラッグしなくても動画上でドラッグする事で視点移動が可能です。

スマホの場合

YouTube アプリにて閲覧可能です。スマホを傾ける事で視線移動が出来ます。

右上の点が3つ縦に並んだアイコンをタップして表示される設定画面で Cardboard での視聴向けの表示に切り替えも可能です。