現実の物理現象に則したライティング【クオリティを引き上げる!Unity HDRPのライティング、カメラ、ポストプロセス設定】を観る
ライティング
現実世界の明るさを現す単位は、以下のような物があります。
カンデラ(特定方向を照らす明るさ、cd)
ルーメン(周囲方向を照らす明るさlm)
ルミナンス(テレビやモニターのような面が一定方向を照らす明るさ、nits)
ルクス(特定の面が最終的にどのぐらいの明るさなのか示す、lx)
EV100(ISO感度100の時のEV値、EV)
現実での光量を表す単位はPLu(Physical Light units)と呼ばれ、現実に存在する単位をPLuとして入力してゲームエンジン内で扱う事で、より現実に近い物理ベースレンダリングを実現しようといった狙いがUnityのHDRPにはあります。
具体的には、下記のような現実世界の明るさの基準を用います。
上記の明るさと合わせて、光源の色を現す色温度も設定します。
空と太陽の明るさの比率は、だいたい晴天時で5:1、曇りで4:1になるようなので、太陽の明るさを設定するDirectional Lightと、空の明るさを設定するポストプロセスボリュームのHDRI SKYから設定しました。
電球のプロパティには色温度と共に、光源が影響する範囲も指定します。
光の強さが光源からの距離の2乗に反比例する事(逆2乗の法則)に従い、光源の明るさ10000ルーメンが100mを過ぎると1以下になる事から、影響範囲を「100」に設定しました。
カメラ設定
ピントで注視点までの距離を、レンズの焦点距離で画角の広さと狭さを設定します。
シャッター速度でモーションブラーのを、絞りでDoFが深くなったり浅くなったり、前後ボケが少なくなったり大きくなったりします。ただし、現実のカメラは画角とピントの距離もDoFに影響します。
これらの設定はゲームエンジン内でも対応出来ますが、現実世界のカメラには露出を変えるEVも影響も画像に影響します。
カメラは外部からの光をレンズを通して撮像素子に当てて撮影が行われますが、この撮像素子に入る光の量が多すぎると白飛び、少ないと真っ黒な画像になります。
例えば、空の明るさは晴天で12万ルクス、夜で300ルクスですが、同じカメラで撮影する場合、12万ルクスでも300ルクスでも、撮像素子に入る光を同じにしなければなりません(適正露出)。
また、シャッター速度と絞りが露出に影響を与えるので、EVを適正露出に設定した上で、画像が劣化しない範囲でシャッター速度や絞りを変えるのが基本となります。
EVだけに影響を与えるISO感度も調節が出来るものの、画質の劣化に繋がるので極端に調節するのはオススメ出来ません。
Unityの場合はGlobal VolumeにExposureを追加してEVを設定します。
フォグ
フォグは発生の仕組みによって大気散乱と霧や雲に分かれます。
大気散乱
空気中の水分を中心とした微粒子に光が当たり、波長の短い青のみが散乱する現象がレイリー散乱と呼ばれ、空が青く見えているのはこの現象が原因です。
また、遠くの風景を観るときにもカメラと遠景の距離に応じて、空気の層が厚くなるほど遠くの風景も空の色に近づきます。
霧や雲
雲や霧は大気散乱とは異なり、水の粒子が大きいため、波長に関わらず全ての光を散乱させるので雲が白く見えます(ミー散乱)
霧や雲など大気にまつわる現象は様々ありますが、霧は1km先が見えない、靄は1km~10km先が見えない、接地しているものが霧で浮いているのが雲など、現象で名前が分けられていたりします。
天候によってはミー散乱によって光源からの光の筋、薄明光線(ゴッドレイ)が見える事もあります。
砂煙やホコリなどもこの霧と同じ仕組みです。
大気散乱の再現
HDRP自体はレイリー散乱のシミュレーションや計算を行っていないそうですが、フォグの設定から「カラーモード→スカイカラー」を設定すると遠景のフォグが空の色を参照して、空の色に近づくように設定する事が可能です。
また、上画像内の「Fog Attenuation Distance」は入力した距離の地点でフォグの割合が54%になるように散乱する設定です。状況によって大気散乱の距離は大きく変化するので大気散乱をすぐ再現できるような定数は無いため、動画内では実際に遠景を含む写真を撮影して空の色が54%混ざるような距離を計算し、数値を入力していました。
まとめ
光の距離減衰や大気散乱など物理現象の再現、カメラの仕組みに基づいた光量調節を中心としたレンダリングを学べました。UE5を使ってリアルな映像づくりに活かそうと思っているので、物理現象&カメラの仕組み、現実の天候などを意識し実践したいです。
また、最近YoutubeでVFXのポートフォリオや個人制作の3Dを見ていますが、上記の「物理現象に則したライティング」や「現実のカメラ効果に近いDOF」などを扱った物は少ない気がします。大体パーティクルやポストエフェクトの動画が多いです。
今回の動画のような知識を使えば「人間の目の順応速度に近い、自動露出調整の速度」「閃光弾や発煙弾の中での視界(人間の目orカメラ)を再現」などを再現する個人制作に応用が利きそうです。