【Unity】自作の360度画像(動画)を書き出す!!
1.概要
Unityで好きな3Dモデルなどを配置した風景を、360度画像として出力する方法を紹介します。
Unity Recorderパッケージを利用して画像を書き出すやり方です!
2.前書き
SteamVRのロード中の背景を、自分の好きな風景にしたいと考え、360度画像を作りたいと思い、Unityで作ってみました!
VRChatのワールド制作などで、簡易的にSkyBoxを自作したい場合にも使えると思います!
そのやり方を共有します!
3.やり方
3-1.環境
私のPCの環境は以下のものです。
OS:Windows 10 Home
Unity version:2019.4.31f
今回使うパッケージは、Unity2019.4以降に互換性があるそうです。
(参考)Unity公式マニュアル Unity Recorder について
https://docs.unity3d.com/ja/Packages/com.unity.recorder@2.6/manual/index.html
3-2.パッケージのインストール
今回はUnity Recorderという、Unityが提供している機能を利用して360度画像を書き出します。そのために、まずはUnity Recorderをインストールしましょう!
※Unityのバージョンによっては、「Unity Recorder」が存在せず、「Recorder」の場合があります。機能はおおむね同じはずなので、そちらを利用してください。
Unity上部のメニューから、Window>Package Manager を開きます。
左上の表示対象が「Unity Registry」になっていることを確認して、「Unity Recorder」を開きます。
そして、右下の「install」を押しましょう!
これでRecorderの撮影機能が使用できます!
3-3. Recorder Windowの設定
Window>General>Recorder>Recorder Window を開いて、撮影の設定画面を開きます。
最初に、上部の「Recording Mode」を「Single Frame」にしておきます。
これは1枚だけ写真を撮るという設定です。動画を撮る場合は他の設定にすればOKです。
そして、左の「Add Recorder」を押します。
そして、「Image Sequence」を押します。
(詳しくは説明しませんが、Movieを選択すれば、360度"動画"を撮ることができます。)
その後、撮影のパラメータ設定です。
必須項目
「Source」を「360 View」に変更
「Record in Stereo」をのチェックを外す
任意の項目
「Output Dimensions」で出力の画素数を設定
「Media File Format」で出力画像の拡張子を設定
「File Name」で出力画像の名前を設定
「Path」で出力先を設定
3-4. Sceneの設定
360度画像にしたいSceneを用意して、カメラをセットします。
今回私は、UnityAssetStoreのJapaneseApartmentのサンプルを使用しました。
先ほどのRecorder Windowの「Camera」の項目で指定したカメラを基準に撮影します。
私の場合はMain Cameraですので、撮影の中心にしたい位置にカメラを配置しておきます。
準備ができたら、Recorder Windowの再生ボタン(または「START RECORDING」)を押します!
するとSceneが再生され、360度画像が撮影されます。
Sceneの再生を止めて、Pathの出力先フォルダを見ると、「Recordings」というフォルダが生成され、その中に撮影された画像が保存されているはずです!