Unityで360度パノラマ動画を作成してみた
Spherical Image Cam(昔やってた方法)
Unity4の頃は @warapuri さんの記事を参考に無料版を使って360度パノラマ動画作ってました。spherical-image-camを使ってunityで全天パノラマ動画を作ろう(No hack, no work)
VR Creative Award 2015にチャレンジできたのはSphericalImageCam(無料版)のおかげでした、ありがとうございます。
ですが、Unity5になってから、もう少し大きな画像サイズで作成したくなりました。
360 Panorama Capture(今やってる方法)
そこで、Unity5.1.2以降で使える以下のassetに乗り換えました。360 Panorama Capture(UnityAssetStore)
こちら、設定によってはVRCHIVEへ自動アップロード機能があるのと、readmeが英語なので注意が必要ですが、便利だと思うので手順を紹介します。(ほぼreadme通りです)
- Unity5.1.2以上を使って再生できるシーンを作成する。
- 空のゲームオブジェクトを作成し、キャプチャパノラマスクリプト(CapturePanorama.cs)を追加します。
- CapturePanoramaの設定をします。
- 「PanoramaName」に適当なファイル名の先頭文字列を指定します。
- 「CaptureStereoscopic」は360度パノラマステレオ動画作成時にチェックします。
- 「PanoramaWidth」は横幅を指定します、4096くらいあれば十分ではないでしょうか?(8192で後から縮小でも可)
- 「SaveImagePath」に連番画像の書き出し先ディレクトリを指定します。
- 「CaptureEveryFrame」をチェックします、静止画でなくFrameRateに対応した連番画像が書き出されます。
- Unityのシーンを実行します。
- 任意のキー入力でキャプチャを開始します。(デフォルトは「p」)
- 以上で??????_2015-12-31_23-59-59-999_00000.pngみたいな画像が準備できたはずなので、あとは煮るなり焼くなりお好きにどうぞ。
ハコスコストアへアップロード
クエリちゃんと夕方の秋葉原でジェットコースター(ハコスコストア)ハコスコのプレイヤーが優秀な為、PCのブラウザ上で見たり、タオバイザーで見る場合はここお勧めです。上記の動画はffmpegで連番画像から動画へコンバートしています。
ffmpeg -r 30 -i Red_%05d.png -s 4096x2048 -aspect 2:1 -pix_fmt yuv420p -c:v libx264 panorama.mp4この時は4096x2048で作成してしまいましたが、解像度は3000x1500が正解のようです。
ハコスコストアの次のアップデートでは3000x1500x8Mまではそのまま再エンコードしないでオリジナルファイルが見られるようにするよ。ストアアプリでも同じファイルがDLできるようになります。
— Naotaka Fujii (@NaotakaFujii) 2015, 6月 15
youtubeへ360度ステレオ動画としてアップロード
【VR Video】クエリちゃんと夕方の秋葉原でジェットコースター(youtube)唯一360度ステレオパノラマ動画に対応していますが、なぜか16:9です。上記の動画はffmpegで連番画像から動画へコンバートしています。
ffmpeg -r 30 -i Red_%05d.png -s 3840x4320 -aspect 8:9 -pix_fmt yuv420p -c:v libx264 panorama_y.mp4動画作成後に、専用アプリでVR Videoである事を証明するメタデータを追加してください、詳細は以下のyoutubeヘルプ参照。
360 度動画のアップロード(youtubeヘルプ)
UnityでなくMMDなら以下のサイトを参考にすると、youtubeへの道が開けそうです。
【VR Video】YouTubeが360度パノラマ+3Dステレオ動画アップロードに対応したので試してみた【Cardboard】(@youten_redoさんのブログ)
niconicoVR用にアップロード
【360度パノラマ】クエリちゃんと札幌でVR乗馬ダイエット(ニコニコ動画)GearVRで注目が集まってるらしいです、上記の動画はffmpegで連番画像から動画へコンバートしています。
ffmpeg -r 30 -i horse_%05d.png -s 2560x1440 -aspect 16:9 -pix_fmt yuv420p -c:v libx264 panorama_n.mp4動画解像度はGearVRで1440pあたりが限界とみていますが、2048x1024なら多分大丈夫だと思います。(4Kだとヤバいとか?)
あとniconicoVR用に「Equirectangular」のタグを忘れずにつけましょう。
補足
こちらに記載した情報は2015年末の時点の物で、できるだけ正しい情報になるよう調べましたが、無保証です。360 Panorama CaptureにカメラのImageEffectがどこまで使えるか未検証です、重要な所なのに申し訳ありません。
使用した unity asset
謝辞
ゼンリン様のマップとクエリちゃんのモデル、いつもデータ使用させていただいています、ありがとうございます。Japanese Dosanko City by ZENRIN is licensed under a Creative Commons Attribution 4.0 International License(CC-BY).
"Query-Chan model" by Pocket Queries, Inc. is licensed under a Creative Commons Attribution 4.0 International License(CC-BY).