Unityで夜のLighting&星空作成!
明けましておめでとうございます。どうもラブヘイトです。
2021年もUnityで遊び尽くしていくので、よろしくお願いします。
以前街灯のモデルを作ってみたので、夜のライティングをしてみようと思います。
ついでに夜のライティングをするなら、星空も作成しよう!ってことで
今回は夜のライティング+星空を作ってみました。
夜のライティング設定
以前からHDRP環境ってどうやって夜にするんだろうと思ってましたが、HDRPのライティングはカメラと合わせてライティングなので、Exposure(絞り)を調節して光を取り込む量を調節します。
以下の動画で、その辺も含めて紹介されてます。
ライティングは基本この動画に沿って行っていきます。
モデルインポート
こちらの記事で作成した、モデルをインポートして使っていきます。
【Blender】UV mapの一部にだけNormal mapを適用する方法 - うにty生活
Unity側でのNormal mapの設定方法などは今回やりたいこととは外れるので、別の記事で紹介します。
→ ちょっと待ってね
環境設定
まずはVolumeの設定から。デフォルト設定の影響を無くしたところから作業します。
デフォルトで作成している人は最初から存在する「Directional Light」「Sky and Fog Volume」のアクティブを切りましょう。
また、「Post Process Volume」はExposureとBloomも一旦切っておきます。
Create>Volume Profile
で新しいVolumeを作成します。設定は以下の通りです。
これだけでは反映されなくて、Window>Lighting
設定のEnvironment(HDRP)にProfileを設定する必要があります。
ライト設定
内側から発光する表現するためには街灯のカバーにあたる部分の、マテリアルのEmissioin項目を変更します。
Emissive Colorは配置するライトの色温度に近づけます。
Emissino Intensityは動画の通り791を設定。
791はLumenからカンデラに変換した値です。
カバーの中にポイントライトを設置します。設定は以下の通り
Lumenには現実の値を参照して10000〜40000の値を設定します。
こんな感じになりました
星空作成
過去にskyboxを自作していますが、今回は再度紹介します。
skyboxについての基礎や詳細を知りたい人は以下のこちら↓
画像を用意
できるだけ綺麗な画像が欲しかったので、NASAの画像にしました。
SVS: The Alternative Night Sky - Another Time - Another Place
8kの画像をダウンロードしました。
skybox作成
超簡単にskybox作成の解説します!
画像を取り込んで、取り込んだ画像のInspectorを以下のように変更します。
・Texture Type → Cube
・Mapping Type → Latitude - Longitude Layout
・Default > Compression → High Quality
・Apply
これだけでライティングの時に設定したHDRI skyの名前右側を押すと、先ほど取り込んだ画像がsky boxとして設定可能です。
星空はあっけないほど簡単に設定できました!
まとめ
一気に写実的な画面になって驚きです。以前UnityちゃんをHDRP環境に移行した時に予想していましたが、やはりHDRPでのLightは現実世界の数字を当てはめていくことがわかりましたね。
相変わらず、この世界何もないな笑