Blenderで作成した背景をSkyboxにするまでのフローに関する記事です。
【使用ツール】
Blender 3.6
Unity 2022.3.22
完成イメージ
↓
手順
①カメラを設置・設定の変更をします
Render PropertyからRender EngineをCyclesにします。
Shift+Aからカメラをビュー上に設置します。
カメラを選択し、Data(Object Render Property)を開きます。
Lensの設定を次のように変更します。
・Type : Panoramic
・Panorama type : Equirectangular
Render Propertyの1つ下にあるOutput Propertyを開きます。Resolutionの比率をXが2、Yが1になるように変更します。例えば、Xを4096にした場合、Yはその半分の2048になるようにします。
②カメラの調整をします
カメラを選択して3Dビューの右上にある < マークをクリックします(ショートカットはNキーです)。
Viewタブの中からCamera to Viewのチェックボックスにチェックを入れます。
この状態で左上メニューバー下のViewタブからCameras > Active Cameraを選択します(ショートカットは、テンキーの0です)。
再び3Dビューの右上にある < マークをクリックし、ItemタブのRotationから撮影位置を調整します。
③レンダリングします
撮影位置の調整が終わったら、メニューバーのRenderタブから、Render Imageを押下します(ショートカットはF12です)。
レンダリング後の画像を保存します。左上のImageからSave As...を選択します。
保存する際に、File Formatを「Rediance HDR」に変更し、保存します。
【Tips】
形式はOpenEXRでも問題ありません。
しかし、基本的にHDRは軽量であるため、ゲームや3DCGのライティング用に最適です。一方で、EXRは精細で編集しやすいため、映画やCGの合成編集用に使われます。今回は、Unityのskybox向けに作成しているため、HDRで保存します。
④UnityでCubemapを作成します
保存したHDRファイルをUnityのProjectタブにドラッグ&ドロップし、インポートします。
インポートしたHDRファイルをクリックし、Inspectorを開きます。
Inspector上で次のように設定を変更します。
・Texture Shape : Cube
・Mapping : Latitude-longitude Layout(Cyrindrical)
変更が終わったら、Inspector下部のApplyボタンを押下します。
【Tips】
Latitude-Longitude Layoutは、緯度・経度に対応した形式です。手順①でLensのPanorama typeをEquirectangularに変更しましたが、これに対応するマッピング形式です。
⑤Skyboxマテリアルを作成します
Projectタブの何もないところでで右クリックし、Create > Materialを選択します。
作成したマテリアルのInspectorから、Shaderのプルダウンを押下します。その中でskyboxと検索し、一覧からCubemapを選択します。
Cubemap(HDR)の右側にあるNone(Cubemapの部分に先ほどインポートしたHDRファイルをドラッグ&ドロップします。
⑥Skyboxをシーンに適用します
画面上部のWindowからRendering > Lightingウィンドウを開きます。
Environmentタブを開き、Skybox Materialの部分に作成したSkyboxを設置します。
【Tips】
Skyboxの角度を変更したい場合、作成したskyboxを選択してInspector上のRotationの値をいじることで変更できます。