Volumetric CloudsはHDRPで使用できるVolume Component Overridesの一種。インタラクティブな雲を作成することができる。
Volume Scripting APIというruntimeから動かせるAPIもあるが、今回はUnity Editor上で操作していく。
公式マニュアルのVolumetric Cloudsより抜粋
Volumetric Cloudsをレンダリングするかどうか
Enabled | Disabled |
---|---|
Volumetric Cloudsのプロパティを操作するためのモードを設定する
large noise生成の際のオフセット (おそらくShaping時のことを指す?) 入力の定義域は定まっているため、例えば0, -1, 1のときは同じ結果になる
地平線と雲が交差する距離を定義する曲率
1にすると地平線と雲が交差しているのが分かる。またLocalCloudsがEnabledになっていると、地平線と雲が交差する点もinteractiveになってしまうので利用シーンに応じてLocal CloudsをDisabledにするなどしたほうが良さそう。
0 | 1 |
---|---|
Local CloudsとEarth Curvatureを併用すると雲と地平線が交差してしまう
風の速さを設定する。 公式マニュアルには幾つか記載されているが、Unity Editor上で操作できるのは以下の二つだけ。
このパラメータは数値とモードを選択することができる。 モードは以下の4つ
ここのVisual EnvironmentはVolumetric Cloudsと同じくVolume ComponentにアタッチできるVolume Overridesの一つ。
風の流れる向きを指定する。度数法を使用する。 こちらもWind Speedと同じくVisual Environmentsの値を使用して設定することができる。
cloud volumeのライトプローブの調節をする。 値を小さくすると、雲全体が暗くなる。
cloud volume上の太陽光の調節をする。 値を小さくすると太陽光を抑えるため、全体的に暗くなる。
雲の色を調節する。
雲の影をレンダリングするかどうか
Volumetic Cloudsのシャドーマップの解像度を設定する
地面の高さを設定する。雲の影をレンダリングする際に使用する。出来るだけ物理的に正確な影の落とし方を再現するならシーンジオメトリの地面の高さの平均を設定する。
雲のノイズを減らす設定。遠くの雲だと小さなノイズが集まるため、ノイズのように見えてしまう。そこでノイズを一時的に累積することでノイズっぽさをなくすという機能。(だと思われる)
Local Cloudsを切って遠くまで見える状態で値を動かすと地平線の雲のノイズの変化が分かりやすい。ただし値をあげすぎるとghostingという現象が起きるらしい。これに関しては良く分からない。恐らく雲の後ろにゲームオブジェクトを置いた場合、ノイズ除去によって不自然に見えるということではないかと推測している。
Ghostingを除去する。ただチラつきが起きる可能性があるので、起きた場合はTemporal Accumulation Factorの値を小さくすると良いらしい。
不明。マニュアルにも記載されていない。名前から推測するに雲と別のオブジェクトの色が混じるときの設定だと思われる。
雲の透過を計算する回数。恐らく多いほど綺麗に透過した雲を表現できる。
雲のライティングを計算する回数。回数が多いほど指数関数的に光源からの明かりを受ける。