Irradiance map

Irradiance map

2022-07-09

改めて、Irradiance mapの解説

今回は改めてIrradiance mapについて解説します。
実は、ほとんど解説していたのですが、
Vrayのノイズ軽減! -レンダリングエンジンとの関係性-」で
brute forceとの違いとともに解説しましたが、
この記事のタイトルであるIrradiance mapの記事がないと
かなり探しにくいと思い、改めてIrradiance mapについて解説したいと思います。
わかりやすくIrradiance mapの設定比較をしながら解説したいと思います。

Irradiance mapとは

Irradiance mapとは、Vrayのレンダリングエンジンの種類の1つです。
基本的に、Vrayは2つのレンダリングエンジンを使用して、画像をレンダリングします。
詳しくは、「Vrayのrendering engineの種類について」で解説しています。

そして、Irradiance mapの特徴として、下記があります。
かなり簡潔に書きますが(Brute forceとの比較)
もっと具体的にはArea japanさんが良い記事を書いてくれていますので、
もっと掘り下げて知りたい方はそちらをごらんください。

Irradiance mapの長所と短所を解説

Irradiance mapの特徴を解説していきます。

【長所】
・レンダリングが早い
・ノイズが少ない
・キャッシュがとれる

【短所】
・黒いモヤモヤがでやすい
・陰が不得意で、立体感に少し劣る


先ほど、Irradiance mapの長所と短所を書きましたが、
どちらかといえば、brute forceとの比較すると
非常にわかりやすいです。
何に比べてレンダリングが早く、何に比べて陰が不得意なのか、
それは、”brute forceに比べて”という単語が必ず付きます。
では、この長所と短所を使って、
どのくらいレンダリングが早く、どのくらい黒いモヤモヤがでるのか。

ポイントとしては
・黒いモヤモヤの出方
・レンダリング時間の速さ


それでは見ていきましょう。

Irradiance mapの特徴

まずは、図-1のレンダリング画像をご覧ください。

図-1

図-1では、コンクリート面(壁、床)に黒いモヤモヤがでているのが分かるかと思います。
Irrandiance mapでは、この黒いモヤモヤ(以下、アーティファクト)はよく発生します。
これがIrradiance mapの一番の特徴です。
(図-1の画像はわざと多めに出るように調整しています。)
Irradiance mapでレンダリングする際はこのアーティファクトが発生しやすいので、
それを抑制するためにレンダリング設定を調整する必要があります。
そのレンダリング設定を行う際にもう一つ大事なポイントがあります。
それは”レンダリング時間”です。
アーティファクトを無くすために、いわゆるサンプル数を増やしていくのですが、
それに伴ってレンダリング時間も大幅に増大していきます。
なので、アーティファクトが少なく、レンダリング時間も長すぎない
丁度よい設定を探さなくてはなりません。
それが、このレンダリング設定でのポイントになります。

アーティファクトを無くすためのレンダリング設定
(Irradiance map編)

それでは、アーティファクトを無くすためのレンダリング設定を見ていきましょう。
ちなみに、レンダリング設定も大事ですが、レンダリングにかかる時間も重要になってきます。
まずは、レンダリング設定の画面を確認しましょう。(図-2)

図-2

レンダリング設定で重要なポイントは3つです。
・Subdivsの設定
・Interp. samplesの設定

・Current presetの設定

この3つを管理することで、アーティファクトを抑制し、
最適なレンダリング時間へと調整することができます。
それぞれの内容を見ていきましょう。

Subdivsの設定

Subdivsの役割は、レンダリングの「品質」です。
黒いモヤモヤは実際には発生しているのですが、
これはIrradiance mapの構造上必要なものです。
黒いモヤモヤは本来は陰影として重要な役割を担っています。
黒いモヤモヤの「質」を高めるために、
Subdivsの設定をする必要があります。
デフォルトは40です。
この数値を上げていけば、黒いモヤモヤの「品質」が向上し、
モヤモヤが陰影へと変化していきます。
(図-3)

図-3(左:subdivs 40 & render time 11s、右:subdivs 80 & render time 13s)


subdivsを80(元の倍)に設定すると、
壁の黒いモヤモヤ(アーティファクト)がほとんど消えました。(図-3右側)

一方で、レンダリング時間が11秒から13秒へと増えました。
しかし、アーティファクトが減ったのでかなり良い効果だと言えます。

subdivsを増やす(品質を高める)ことでアーティファクトを抑制するのに
効果的なのが分かりました。
ただ、床にまだアーティファクトが発生しているので、
今度はそれも軽減させるために、次のInterp. samplesの設定を行っていきます。

Interp. samples

Subdivsでも黒いモヤモヤが減らなかったときは、
Interp. samplesの設定を変更していきます。
Interp. samplesはSubdivsと厳密には効果は異なりますが、
アーティファクトを抑制する目的であることは同じです。
では、Subdivsとどのように異なるかを解説していきます。
Interp. samplesは、「黒いモヤモヤを薄める」効果です。
この数値を増やしていけば、黒いモヤモヤは薄くなっていくため、
実質アーティファクトが減るという原理です。
ただし、Subdivsの時でも解説しましたが、
黒いモヤモヤの正体は陰影です。
そのため、陰影を薄めるということは、立体感を減らすことに他なりません。
なので、Interp. samplesをむやみやたらに大きくしすぎるのは好ましくありません。
Subdivsを設定してから、Interp. samplesを設定するようにしましょう。

では、図-3の右側の状態から、Interp.samplesの設定を変更して、
黒いモヤモヤ(アーティファクト)を抑制していきます。(図-4)

図-4(左:Interp. samples 20、右:Interp. samples 40)

図-4の左側の画像ではInterp. samplesを40に設定しています。
図-3の左側(Interp. samples20)と比較してわかるように、
アーティファクトがなくなっています。
厳密にいえば、薄くなっているので、アーティファクトが抑制されました。

ただ、分かりにくいですが、注意してほしい点が、
球の下部の影が若干薄くなっているのがわかりますでしょうか。
これは、黒いモヤモヤ(陰影)を薄めたことによる立体感の喪失です。
なので、Interp. samplesの設定には十分注意しましょう。

そして、レンダリング時間は13秒→14秒と若干レンダリング時間が増えました。
つまり、SubdivsもInterp. samplesも数値を大きくすればするほど、
レンダリング時間が増えるので注意する必要があります。


ただ、これで黒いモヤモヤを軽減させることができました。
最後はCurrent presetです。

Current preset

最後にCurrent presetについて解説します。
Current presetはVery lowからVery highまでカスタムも含めると8種類用意されています。
Current presetの役割は「光の精度」です。
実際にアーティファクト軽減とは無縁の設定なのですが、
光の精度によってアーティファクトの精度も変わってくるので、
アーティファクトの発生源としては関係ありませんが、
current presetによってアーティファクトの状態に変化は起こります。

先ほど「光の精度」と話しをしましたが、実際にはGIの精度と言い換えることができるかもしれません。
では、その光の精度を上げるとどのような効果になるのか、
図-4の左側の画像(subdivs 80、Interp. samples40)でcurrent preset=”very low”から、”high”に変更して
画像を比較してみましょう。(図-5)

図-4(左:current preset “very low” 、右:current preset “high”)

画像を比較するとわかるのですが、左側の”high”の方が、球下の影がクッキリしていることがわかります。
これは、光の精度(GIの精度)が向上したので、
光によって生じた影の精度も向上したということになります。


つまり、current presetが上位の方が光の精度(GIの精度)が上がるので、非常に良いことなのですが、
一方でレンダリング時間が14秒から47秒ととてつもなく大幅に増えました。
なので、current presetは精度を上げるために非常に優秀なツールなのですが、
同様にレンダリング時間も他のsubdivsやInterp. samplesと異なって大幅に増えてしまいます。
current presetを調整するなら、very lowからlowへと1段階づつステップアップして
設定していくことをお勧めします。

アーティファクトを抑制するための設定 まとめ

Suvdivs、Interp. samples、Current presetそれぞれの機能を紹介しました。
それらをまとめると、アーティファクトを抑制するための手順は
①subdivsの数値を上げる
②Interp. samplesの数値を上げる
③current presetのモードを上げる

これらがアーティファクト(黒いモヤモヤ)を抑制させるために行う手順になります。
実際に実践でやれば、順序が逆になったり、いろいろあるのですが、、、
あくまで基本と考えてもらえれば幸いです。
Subdivs=黒いモヤモヤの品質
Interp. samples=黒いモヤモヤの濃淡
current preset=光(GI)の精度

これらの3つがIrradiance mapのレンダリング設定を行う上で重要なことです。

ノイズの軽減方法

Irradiace mapのレンダリングでは、アーティファクト以外に
”ノイズ”が発生した場合に設定する方法があります。
Irradiance mapの場合、”ノイズ”はいわゆるマテリアルのglossinessのボケ具合の精度が
主な要因になってきます。
アーティファクトとノイズは別物なので覚えておきましょう。

ノイズの軽減方法は、「Vrayのノイズ軽減! -マテリアルとの関係性-」で解説してます。
具体的にはそちらをご覧ください。
設定場所は図-5の部分で行います。(図-5)

図-5

まとめ

いかがだったでしょうか。
Irradiance mapもいろいろと設定があるので、結構面白いかと思います。
アーティファクト(黒いモヤモヤ)はIrradiance mapを使っていて
絶対に敵対するものになるので、
この記事を読んでぜひとも理解してもらえると助かります。
ちなみに、物理的にアーティファクトを減らす方法もあります。
それは、”ライト”を強くするです。
黒いモヤモヤをライトを強くすることによって消すということです。
これも一つの手ではありますが、筆者的には最終手段と思ってもらったらいいと思います。

アーティファクトを軽減させるのにレンダリング設定をしますが、
徐々に数値を上げて調整していかないと、レンダリング時間が無駄にかかってしまいます。
そこは気を付けていただきたいポイントです。

そして、ノイズ軽減でもかなりレンダリング時間が増える可能性があるので、
そこも十分に留意しましょう。

この記事を読んでいただければ、
少しはレンダリング設定の際のヒントになるかと思います。
実践ではこれと異なった結果になったり、するかと思います。
他の要因であったり、いろいろなことが絡み合っていますので、
柔軟な考え方を持つことが大切です。