夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

BlenderでUnity用のスカイボックスを作成する

本日はUnity&Blender枠です。

 BlenderではPureSkyなどのアドオンを使用することでライティング込みの空を再現することができます。

 しかしながらBlenderのスカイボックスやライティングはUnityで同様の見た目を再現することは困難です。

 特にアドオンなどを使用してリアルに再現すればするほど、Unityとの違いによって困難になります。

 そこで今回はBlenderの空を撮影してUnityのスカイボックスを撮影したいと思います。

〇Blenderのスカイボックスの作成

 今回はTure Skyを使用して空を作成しました。

 ①Cameraを原点に配置します。

 

 この際に回転をX=90度に指定します。

 ここから前後上下左右の合計6枚の画像を切れ目が出ないように撮影していきます。

 ②カメラのプロパティから視野角を90度に設定します。 視野角はレンズ単位視野角に設定することで角度で選択できます。

 これによって90度の角度で撮影が行うことができます。

 ③次にデフォルトでは撮影する画像が長方形になっていますので、フォーマットから解像度をX、Yでそろえ正方形の画像を撮影するように設定します。

 ④レンダリングを実行します。

 

 レンダリング後の画像を外部に保存します。

 

 ⑤カメラをZ軸に90度回転させ最初の撮影を正面とすると右側の空を同様にレンダリングします。

 一連の動作を上下左右前後で合計6回行います。

 レンダリング完了後の画像が次になります。

 

⑥レンダリング後の画像をUnityへ配置します。

⑦最後にマテリアルを作成し、ShaderをSkyBox/6 Sidedに指定します。

 上下左右前後の画像を指定できます。

 ここでレンダリングした画像を指定することでBlenderで作成した空がUnityでも使用することができます。

 リフレクションを使用することで反射などの再現もできました。

本日は以上です。

 オブジェクトのベイクに加えスカイボックスの作成までBlenderでできるようになったのでいろいろと表現できる幅が広がりそうです。