Vrayのノイズ軽減 -まとめ+fire flies-

Vrayのノイズ軽減 -まとめ+fire flies-

2022-01-17

ノイズ軽減方法のまとめ

今回で、Vrayのノイズ軽減は最後の記事となります。
まずは、いままでのおさらいから。。。
Vrayのノイズ軽減! -マテリアルとの関係性-
Vrayのノイズ軽減! -レンダリングエンジンとの関係性-
Vrayのノイズ軽減! -ライトとの関係性-
ノイズの発生する原因としては、主に3つあります。
①マテリアルのglossinessのよるノイズの発生
②レンダリングエンジンの種類によるノイズの発生
③ライトの種類によるノイズの発生

この3つの要因が複合的に重なることによって、
ノイズは発生しやすくなります。
対処法としては、
①の場合はレンダリング精度を上げる
②irradiance mapにする(あまり現実的てはない対処方法)
③ライトをVray light materialからVray lightに変更する
です。
ノイズが発生した場合は、それぞれの対処の方法を行いましょう。

ホタル 「fire flies」について

これからfire fliesのことについて記事にしますが、
あくまで個人的な推測
意見なので、実際の現象・対処方法と異なるかもしれません。

ノイズ発生源を理解したところで、海外でいうところのfire fliesについてお話します。
まずは、CGをやっていて、fire fliesという言葉を聞いたことがあるでしょうか?
これは、ノイズの一種で、高輝度な光源やその反射が原因で起こる現象です。
日本語では「ホタル」といいますが、普通にファイアーフライで通常は言うと思います。

基本的には、レンダリングエンジンがbrute forceの時にしか起きない現象です。
(Vray-5を使用している方は、brute forceしかない)
これが原因で頭を悩ませた方も極稀にいると思います。
まずは、fire fliesの症状についてみていきましょう。(図-1)

図-1

図-1は、夕景のシーンで、背面に太陽があります。
建物のガラスに背面の太陽が映っているのですが、
太陽のある部分だけ、白の斑点が円形であるのが一目瞭然だと思います。
これが、fire fliesの正体です。
海外のfire fliesの事例では、もっと細かかったりしますが、基本的には同じ現象です。
これは、太陽やライトの光源の輝度が強く、物体に反射した際に生じる現象です。
今回の事例はそれの最もわかりやすい例かと思います。

fire flies(ファイアーフライ)の対処方法

まずは、fire fliesの原因については、先ほど記述した通り、
光源の輝度が強いことによって反射部分に生じるフレアです。
これは、光源を修正するのではなく、①レンダリングの設定 若しくは ②マテリアルの設定 によって
解決する場合がほとんどです。
そして最後に、③太陽の強さの設定です。

①レンダリングの設定
まずは、fire fliesの軽減方法としては、「max ray」の数値を変更します。
「レンダリング設定」→「Vrayタブ」→「Global switch」→「max ray intens」で
max ray intensの数値をデフォルト’20’から’5’に変更するだけです。
これで、ほとんどのfire fliesが消えるはずです。
※max ray intentsは低すぎても良くありません。

図-2


②マテリアルの設定
①の方法でも消えない場合にマテリアルの変更を行います。
これは、fire fliesが映っている部分のガラスのマテリアルのglossinessが大きく関係してきます。
ただ、現段階では、絶対にそう!とは言いきれません。
(考察は後程記述します。)

光源が反射しているということは、その反射にボカシ(glossiness)の効果を加えると
fire fliesが発生するという仕組みです。
そのため、glossinessを1.0にすると、図-1のfire fliesが消えます。(図-3)

図-3(左はガラスのglossinessが1.0、右はglossinessが0.99)

③太陽の強さの設定は、基本的にintensityを下げるだけ良いです。
ただし、太陽の光の強さが弱くなるので、全体の明るさに影響してきます。
基本的に適切な太陽光の強さでfire fliesが発生した場合は、
太陽の強さではなく、①か②の設定をお勧めします。
しかし、太陽がすごく強い場合は、①と②の設定ではなく、
この太陽の強さの設定を変更することをお勧めします。

fire fliesの発生は、高輝度による光源が原因なので、
基本的には、太陽の設定を変更する必要があるかと思います。

fire fliesとglossinessの関係

図-3ではglossinssを1.0にすると、fire fliesが消えることを書きましたが、
別のパターンが存在します。
図-4をご覧ください。

図-4(マテリアル=ガラス : 左がglossiness0.99、右がglossiness1.0)

図-4は同じくガラスが表示されていて、中央のブリッジの床とガラスの奥に映るところで、
fire fliesが映っています。
そもそもfire fliesがどうかが怪しいところはありますが、
こちらもガラスのマテリアルのglossinessを変更すれば、図-3の左のように直りました。

しかし、その結果は図-3とは真逆であり、真意ではありません。
もしこのエラーに精通している方がいらしゃったら教えていただきたいです。

ただ、結論としては、fire fliesとglossinessは大きく関係しているということです。
(図-4のmax rayは5です。)

まとめ

これで、CGでノイズが発生した際に、
適切な方法でノイズ軽減処理が可能となっているはずです。
稀にでるfire fliesについても今回は少し触れました。
fire fliesについては、しっかりとした結論は出ていませんが、
対処方法として
①レンダリングの設定
②マテリアルの設定
を行いますが、基本的に①を行って、
それでもfire fliesがなくならなければ、②で設定するイメージです。


太陽の強さ(intensity)が概ね0.35以上でfire fliesが
発生している人は、太陽の強さを弱くすれば、
fire fliesが軽減されるかもしれません。


ただ、fire fliesの原因として①の現象も関係していますが、
はっきりとした原因は筆者も今のところ不明です。
ただ、max ray intentsの次にマテリアルのglossinessが関係してそうです。
海外例を見ると、ガラスでないところにもfire fliesがあるようなので、
それについても対策を考える必要がありそうですね。
海外ではmax ray intentsかsubdivsでfire fliesを減らすそうです。


ノイズは減らすことができればそれは非常に良いことですが、
それで作業効率が落ちるのであれば、言語道断です。
ノイズを減らすためにレンダリング時間に10時間も20時間もかけているようでは、
それはノイズを理解している理由にはなりません。
CGは早く高品質に作ることが最善策なのです。

夜遅くまでCG作業をする時代は終わっています。
ソフトウェアの技術が進化しているので、
それを使う使い手がしっかりその機能をマスターすれば、
本来はCGはもっと早くできるものなのです。

焦らなくてもよいので、しっかりと技術を身に着けていきましょう。

※今回のfire fliesについては、個人的な推測・意見です。
 実際の現象及び対処方法と異なるかもしれません。