照明基礎

レベル/ 対象者:基礎/ CINEMA 4D基礎を少し使える人
対象ソフトウエア、プラグイン:CINEMA 4D R12 Broadcast以上

参考とする写真を見る。よく見る。もう一度見る。そして自分でも写真を撮ってみる。

冨士 俊雄/ gtofuji@gmail.com
章番号 題名 内容、及び関連する章 作成日/注記
011 2_GIの設定 GI、拡散反射回数、エリアシャドウ、イラディアンキャッシュ、ストカスティックサンプル、レコード密度 2011.2.25
English Top

 

Step 1

拡散反射回数の最適化

 この章では、010章で作成したシーンを題材にして、GIの設定を変えることでどのように画質やレンダリング時間が変わるか、について説明します。

 本来、基礎の講習でパラメータの最適化等の細かい話はしないものですが、GIの場合パラメータのバランスによって画質やレンダリング時間が大きく変わります。そこで、いくつかの重要なパラメータに限って、ここで具体的な数値やレンダリング時間を比較しながら説明します。


 まずサンプル011aを開いて、「画像表示にレンダリング」して下さい。これは010章で作成したサンプル010bと全く同じです。レンダリング時間は「46秒」でした。

図011-1(露出-1)

 実はこの画像はCINEMA 4D R12で作れる「最高の絵」ではありません。それで、010章の最後では「(ほぼ)最高の絵」と表現したのです。一体何が足りないのでしょうか。実は、図011-1では間接照明を1回しか計算していないのです。

 それでは、間接照明の計算を2回に増やして、結果を比べてみましょう。レンダリング設定の「グローバルイルミネーション」特殊効果の「一般」タブを開き、「拡散反射回数」の値を「2」にして再度「画像表示にレンダリング」して下さい。

図011-2(露出-1)

 どうでしょうか、拡散反射を2回計算することで、影の中がずいぶん明るくなり、立体感が増しました。レンダリング時間は「76秒」に伸びてしまいましたが、絵の「品質」を考えると、拡散反射回数を2回以下にすることは考えられません。

 次に、比較のために拡散反射回数を3回に増やしてみます。

図011-3(露出-1)

 拡散反射回数を3回に増やしても、絵の印象はそれ程変わりません。またレンダリング時間も「79秒」とほとんど変わりません。

  結論として、「拡散反射回数」の値は、簡単なシーンでは「2」、陰の部分が多い複雑なシーンでは「3」以上にするのが適切だと言えます。そして、デフォルトの「1」はなるべく使わないようにして下さい。

 

 

Step 2

エリアシャドウの最適化

 それでは次に、図011-2(レンダリング時間76秒)を基準として、画質を落とさずにレンダリング時間をどこまで短縮できるか検討します。

 まず最初に、エリアシャドウの設定を最適化します。エリアシャドウは、厳密にはGIとは異なる機能ですが、GIと併用することが多く、レンダリングのアルゴリズムも共通です。

 ただし、エリアシャドウの設定を変える際に、GIの計算をする必要はないので、 レンダリング設定で「グローバルイルミネーション」特殊効果のチェックを外し、再度「画像表示にレンダリング」します。

図011-4

 レンダリング時間は「11秒」でした。これを何とか半分ぐらいに縮めます。

 まずエリアシャドウには「計算精度」、「最小サンプル数」、「最大サンプル数」の3個のパラメータがあります。そして、あるピクセルを計算する際に、その周囲の「明るさの変化」が小さければ最小サンプル数に近い値が使われ、変化が大きければ最大サンプル数に近い値が使われます。そして、その「明るさの変化」を評価するのが計算精度の値です。

 それでは計算精度の値を「0」にして「画像表示にレンダリング」してみましょう。

図011-5

 レンダリング時間は「8秒」でした。思った程速くなりません。計算精度の値を「0」にしても、使われるサンプル数の値は最小値の「8」より小さくならないからです。しかし、画質はそれなりに悪くなりました。

 そこで、計算精度は「75」に戻し、最小サンプル数を「5」、最大サンプル数を「40」にしてみました。

図011-6

 図011-5と画質はそれほど変らず、レンダリング時間を「6秒」に短縮できました。このぐらいで我慢しましょう。ただし、最初の画像に比べるとずいぶん粗くなってしまったので、エリアシャドウの大きさ自体を小さくして、ノイズが目立たないようにします。エリアシャドウ(エリアライト)の大きさは、詳細タブの「サイズ X」と「サイズ Y」で指定します。

図011-7

 一般的にエリアシャドウは、光源のサイズが大きい程ノイズが目立つので、大きなサンプル数が必要になり、結果的にレンダリング時間も長くなります。また、影が濃い場合も同じくレンダリング時間が長くなります。今回はGIによって影の中が明るくなるので、最終的な画像ではそれ程ノイズは目立たないはずです。

 

 

Step 3

イラディアンキャッシュ -> ストカスティックサンプルの最適化

 次にGIの「イラディアンスキャッシュ」を最適化します。イラディアンスキャッシュというのは、GI計算のプレパスで表示される「白い点々」の集まりのことで、これらの点一つ一つの中にその部分の明るさの情報が入っています。つまり、GIを正確にレンダリングするには、以下の二つが重要となるわけです。

1. 白い点々の中に含まれる明るさ情報が正確であること。

2. 白い点々が十分に細かいこと。

図011-8

 それでは、このイラディアンスキャッシュに関しても、画質をなるべく損なわずに、レンダリング時間が半分以下になるように設定を変更してみましょう。

 まず、エリアシャドウを最適化した結果、現在のレンダリング時間は「70秒」に短縮されています(サンプル011b)。

図011-9(露出-1)

 次に、「ストカスティックサンプル」の値を「中」から「低」に下げてみます。

図011-10(露出-1)

 これで、レンダリング時間を「40秒」に短縮できました、ストカスティックサンプルは「点に含まれる明るさ情報の正確さ」を決定するパラメータで、シーンのコントラストが大きい程大きな値が必要になります。今回のシーンはそれ程コントラストが大きくないので、「低」でも何とかなりそうです。

 ただし、調子に乗って下げ過ぎると「ぶよぶよした絵」になってしまいます。たとえば、下の絵では「サンプル数」の値を「36」に下げてみました。しかし、レンダリング時間は「30秒」で大して短くなっていないのに、画質は大幅に低下しています。

図011-11(露出-1)

 

 

Step 4

イラディアンキャッシュの最適化、レコード密度

 次に「レコード密度」の値を「中」から「低」に変えてみます。レコード密度は、ステップ3で説明した「点の細かさ」を決定するパラメータで、大きく分けて2種類あります。

1. プレパス計算のサイズや回数を指定するパラメータ(「最小レート」、「最大レート」)。

2. 白い点々の密度を決めるパラメータ(「半径」、「最小半径」、「密度コントロール」)。

 「プレパス計算」というのは、最終的なレンダリングの前に白い点々を計算することで、解像度を上げながら何回かくり返されます。たとえば、「最小レート」の値が「-3」で「最大レート」の値が「0」の場合、「解像度1/8」、「解像度1/4」、「解像度1/2」、「等倍(フルサイズ)」の4回計算がくり返されます。

 レコード密度のパラメータは、シーンに細かいオブジェクトが存在する場合大きな値が必要となります。今回のシーンにはそれ程細かいオブジェクトが存在しないので、「低」でも何とかなるでしょう。

図011-12(露出-1)

 レンダリング時間は「19秒」となりました。これで最初のレンダリング時間「76秒」の1/4近くに短縮できましたが、明らかに画質が低下したので少しパラメータを戻します。ここでは、レコード密度の値を「中」に戻し、「最大レート」の値だけ「-1」に下げてみました。

図011-13(露出-1)

 これによってレンダリング時間は「25秒」に伸びましたが、影の部分の細かい「光漏れ」が解消されました。レンダリング時間が短い割にはいい感じです(サンプル011c)。

図011-14(露出-1)

 レコード密度は、プレパス計算の解像度や回数を決定するパラメータで、レンダリング時間に最も影響を与えます。特に、「最大レート」の値を「-1」にすると、フルサイズでのプレパス計算がスキップされ、これだけでレンダリング時間を2〜3割短縮できます。

 たとえば建築CG等で1万ピクセルを超えるような大きい画像をレンダリングする場合、必要なのは手すりや目地等のディティールであって、GIにフルサイズの精度は必要ありません。必ず-1以下の値を指定するようにして下さい。