こんにちは、UnityのデフォルトのSkyboxって見た目がパッとしませんよね。
ただのグラデーションで軽いですけど、創作意欲が湧かないというかなんというか。。。
そこで、Skyboxを自作しましょう。良いライティングには自作のskyboxが必要です。
それでは早速作り方を見ていきましょう。
目次
UnityのデフォルトSkyboxを確認する
これからご説明するSkyboxの自作に使ったUnityのバージョンは2021.3.3f1レンダーパイプラインはbuilt-inです。
恐らくですが、スカイボックスの設定はバージョンに依存しないような気もしますが、一応書いときます。
まず、これがプロジェクト設定を変える前のデフォルトの背景スカイボックスですね。
なんとも味気なく創作意欲がそがれます。
それではこれは、一体どこで変更できるのでしょうか。
Window>Rendering>Lightingから変更できる
まずはメニューバーから、Window>Rendering>Lightingと選択すると、右のようなライティング設定が出てきます。
これをいじります。
まずは上の Environmentをクリック、Environment設定のSkyboxMaterialをダブルクリックします。
そうするとインスペクター上にDefault-Skyboxというのが出てきます。
そうです、これが諸悪の根源です。
この設定を良い感じにいじっても良いですが、せっかくなので自作しましょう。
UnityのMaterialでSkyboxを自作する
例えば、こういう背景に手っ取り早くしたいと思います。
その為にはHDR(ハイダイナミックレンジ)の高解像度なEXR画像が必要です。
Materialを作る前にSkybox用の画像を用意しておく
ポリヘヴェンというウェブサイトから無料でダウンロードできるので、そのサイトから画像をダウンロードします。
もしかしたら、初回だけはログインを求められるかもしれないので、メールアドレス等は準備しておきましょう。
BrowseHDRIをクリックします。
様々な表情の空が一杯でてくるので、好きなものを選びます。
赤丸のついている、Download xx.xxMBのボタンを押します。広告等に注意です。
すると恐らくDownloadフォルダに以下のファイルがダウンロードされると思います。
これを後に使用します。
UnityでSkyboxのMaterialを作る
プロジェクトウィンドウを右クリックし、任意の場所にMaterialを作成します。
名前が紛らわしいのでJisaku_Skybox等、適当な名前を付けて分かり易くしておきます。
この時点ではマテリアルはデフォルトのstandardマテリアルです。
次に、インスペクター上でShaderをStandardからSkyboxに変更します。
追加の選択肢が出てきたら、Panoramicを選択します。
このようになっていればOKです。
先ほどダウンロードしたEXR画像をプロジェクトウィンドウのマテリアルと同じ場所にドラッグアンドドロップします。
プロジェクトウィンドウのEXR画像を自作したSkyboxマテリアルのSpherical(HDR)の空スロットにドラッグアンドドロップします。
下図のようになればOKです。
これで取り急ぎスカイボックスのマテリアルが作成されました。
次に、このスカイボックスを環境光に設定します。
UnityのEnvironment設定で環境光に自作したSkyboxを設定する
最後にLighting タブ(Window>Rendering>Lighting)のSkybox Materialの右にある●をクリックし、
スクロールして先ほど自作したSkyboxマテリアルを探しクリックして設定します。
明るすぎる場合は、Exposure設定を下げます、これはbakeをする設定に関わるので、変える場合は要注意です。
試しにCubeを置いてみます。リアルタイムライトでCubeが照らされているのが分かります。
しかし、Cubeが少し浮いて見えるような気もします。
動的なシーンではこれでも仕方がありませんが、静的なシーンであれば、環境光をbakeしてしまう方がより良い結果が得られます。
これ(bake)については別ページで紹介しようと思います。
まとめ
良いライティング結果を得るためにはまずはSkyboxマテリアルの自作をしましょうという内容でした。
HDRの画像をダウンロードしてSkyboxのMaterialに落とし込み、LightingタブからEnvironmentに設定してあげるという流れです。
これによって良い背景とライティング結果を得る事が出来ました。
次のステップとしてはその環境光を使用したベイク(bake)による陰影の焼き付けです。
環境光を事前に計算し、焼き付ける事で上の画のようなフォトリアルな結果が得られます。
これについては別記事にしようと思います。
それでは、また!