【Unity[HDRP]】HDRPでのライトの当て方

こんにちは、「Exceliaゲーム開発部」の部員Eです。
本日はUnityのHDRPでのライトについて。
HDRPでのDirectionalLightの使い方で上手く行かないところがあったのでメモします。
当初、DirectionalLight1つだと、光が当たった反対の部分の影が真っ黒になっりました。
色々調べたり、パラメータを弄ったりしていったら、
影真っ暗現状が解決しましたので、記事にします。
最初に、DirectionalLightを当てた時、このような感じになりました。
光の当たっている面はいい感じ。


ところが、反対の面は真っ暗!!
うーん・・・。
暗い。
真っ暗すぎる。
色々調べて、今度はDirectionalLightを2つ用意して、
逆側も照らす方法があるとのことで照らしてみました。
しかしながら、DirectionalLight同士の境目が暗くなり、
不自然なライトの当たり方になったので困ってしまい色々試しました。
光の当たっているところはやっぱりいい感じ。


顔が影になって真っ暗に!!
体の光の当たり方は悪くないような気もしますが、気のせいだろうか・・・?
書き忘れましたが、二個目のDirectionalLightは影を出なくしています。
更にどうにかならないかと思い、色々やっていたところ、
光明が見えました!!
DirectionalLight一つでいい感じにする方法の発見です!!
やり方は簡単で、1つのDirectionalLightの他にポストプロセスにある「HDRISky」を設定してあげることで、自然なライトになりました。
HDRISkyを有効にするには、「VisualEnvironment」を設定して、
スカイタイプを「HDRISky」にする必要があります。
「HDRISky」の「IntensityMode」を有効化し、ここでは「Lux」に設定。
「Lux」の値を大きくしてあげると、光の反対が明るくなりました。
以下に、その時の設定を載せておきます。


後ろ側は更にいい感じでしょうか?


反対側も影が薄くなっていい感じな様な!?
まだ、ちょっと暗いので、色々パラメータを弄らないとダメそうです。
調べた結果、DirectionalLightの設定は現実世界の日中の光量である「100000Lux」位を設定するのがいいらしいです。
HDRISkyの設定は「IntensityMode」を「Lux」に変更後、値は「20000Lux」位に設定。
こちらも日中の光量の基準値になっているみたいです。
Luxについて詳しくないので、気になる人は調べてみてください。
上記二つの値を元にして、今回のプロジェクトも設定してみました。
これ位明るいと良い感じですね。
最後に、色々なポストプロセスを設定したり微調整したりした結果がこちら。
フォグやブルームで光が当たるのを柔らかくしてみました。


影側も真っ暗ではなく、明るい印象かわりました。
レイトレーシングを使わずに調節できたので、負荷も少なくて済んでいます。
以前、絵作りに取り組んだ際には、レイトレーシングを使ったりしてました。
Unityより出ているHDRPのテックデモみたいな絵作りは、
どうやればいいのか自分にはまだ分かりません。
素人ではこれくらいが限界なのかもしれませんが、
ライト1つで管理もしやすく、絵作りも良くなりつつ、
パフォーマンスも悪くないのではないでしょうか?
HDRPの設定も奥が深いようなので、もう少し色々試してみたいと思います。
今回は以上です。
皆さんも良いUnityライフを!!
部員Eでした。