皆さん、こんにちは。
今回は3DCGでの光の表現について少し話をします。ライブ演出などでよく見かけるビームライト。これを3DCGで表現する時に単純にライトを置いただけでは不十分という話です。
Unityを使って話をしていきます。Unityだとビームライトを表現する時に色々とアセットが出ていますが、今回はHDRPのVolumetric Fogを使ってみます。
ステージはこんな感じです。ここにスポットライトを配置して見ましょう。左右の斜め上からスポットライトが当たっているようにします。
スポットライトを置いてライティングをした状態がこちらです。この状態をよく見かけます。実際にライトを置いているんだからこれで終わりでしょ?と思うかもしれませんが、そうではありません。
ライトが当たっているところ以外が真っ暗になっています。
実際の光の現象だと完全に真っ暗になることはありません。光が当たった際に、光を反射して周りにも影響が出ます。
実写のライブ写真を見てみましょう。ライトは地面に向かっているのに天井が明るくなっています。
これは地面に当たった光が拡散反射をして天井や周りの壁を明るくしている現象です。
この拡散反射を意識してライティングを調整します。
完全に黒く潰れていたところのディティールが見えるようになりました。比較してみると良く分かります。
黒く潰れていたところが見えるようになって、より光を感じられるようになりました。こうした表現を取り入れることで、リアリティが格段に向上します。実際には反射する素材によって明るさが変わるので、その辺りも意識すると良いでしょう。
CGの場合は、ライトを配置したからといって、必ずしも光が自然に表現できるとは限りません。レンダリングの計算で光の反射を表現することもできますが、リアルタイムの場合は、自分でコントロールして表現を作る必要があります。
実際の光をよく見て、どのような現象が起きているのかを理解しておくことで画面のクオリティがより良くなりますので、ぜひ試してみてください。
↑これは今回の考え方をもとに、良い雰囲気が作れないかと試しているシーンです。まだ調整が必要ですが良い感じにまとまったら紹介したいと思います。