照明基礎

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

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

冨士 俊雄/ gtofuji@gmail.com
章番号 題名 内容、及び関連する章 作成日/注記
015 4_IBL_2 IBL、GIポータル、IR、オーバーサンプリング、 2011.3.5
English Top

 

Step 1

IBLでGIポータルを使う

 さて、014章の続きを始めます。

 中庭を明るくするには2回目以降の拡散反射を計算するしかなく、そのためにはGIのモードを元の「IR」に戻すしかありません。つまり、014章のステップ2に戻って続きを考えるのです。ただし、正攻法ではどうにもならないので、「裏技」を使います。それは012章で説明した「GIポータル」です。

 GIポータルは基本的に窓に適用し、オーバーサンプリングを指定することで、「GIをそこに注目させる」機能です。しかし、このシーンには「いわゆる窓」がありません。それでも、HDRパノラマ画像の明るい部分の前に適当な大きさのGIポータルを持ってくることで、そこを「窓」とみなし、GIをそこに注目させることができます。

図015-1

 それではサンプル015aを開いて「画像表示にレンダリング」して下さい。

図015-2

 この画像のレンダリング時間は「70秒」でした。「多少ムラがある」、「影があまい」という問題はあるもののレンダリング時間を考えれば十分使える絵だと言えます。「ストカスティックサンプル」の値を大きくすればムラは無くなりますし、ステップ3の方法を使えば影もシャープにできます。とにかく、GIポータルを使うことで劇的によくなりました。

 次に、「sky_1」と「sky_2」を切り替えて「画像表示にレンダリング」すると次のようになります。

図015-3

 この画像のレンダリング時間は「32秒」でした。シーンの構成もGIの設定も同じなのに、レンダリング時間が半分以下になってしまった理由は、画像が変わったことによって「照明条件」が変わったからです。しかし、レンダリング時間が短くなった分ムラが増えてしまいました。

 GIを使ったレンダリング(特にIRモード)では、シーンのわずかな変化によってGIパラメータの最適値が大きく変わるので注意して下さい。つまり、「どんなシーンにでも使える万能のGI設定」なんていうものは存在しないのです。

 それでは、ムラをなくすために「ストカスティックサンプル」の値を「中」に上げて「画像表示にレンダリング」して下さい。

図015-4

 この画像のレンダリング時間は「88秒」でした。図015-2と同じような問題はありますが、これも十分使える絵です。

 

 結論として、012章でも書いた通り、GIポータルは非常に有効な機能だと言えます。

 

 

Step 2

GIポータルの配置

 それでは、ここでオブジェクトマネージャを見てみましょう。これから、IBLを使ったシーンにGIポータルを配置する方法について説明します。

図015-5

 まず、「GI_portal」は「ディスク(円板)」オブジェクトでできています。そして、これに「GIポータル」を指定した「GI_portal」マテリアルを適用しています。

図015-6

 次に、「GI_portal」オブジェクトは「joint」オブジェクトの子供になっていますが、これは「GI_portal」を配置しやすくするためです。「GI_portal」は非常に巨大で遠くにあるため、位置や角度を直接マウスで操作するのは面倒です。そこで、原点に「joint」を置き、これを回転させることで「GI_portal」の位置や角度を簡単に変えられるようにしてあるのです。

図015-7

 「GI_portal」は、シーンのどこから見てもHDRパノラマ画像の明るい部分をカバーする必要があります。したがって、無限球である「空」オブジェクトに画像を貼付けた場合、最低でもシーンの2倍程度の大きさが必要で、距離もシーンの5倍程度離しておく必要があります。

 ここで「シーンの大きさ」というのは、「GIによって照明されるオブジェクトが存在する範囲」を意味します。空オブジェクトやGIポータルはGIによって照明されないので、シーンの大きさには含めません。このサンプルでは、「ground」オブジェクトの大きさがシーンの大きさになります。

 また、GIポータルの見た目の大きさ(視直径)も重要です。これが小さすぎるとHDRパノラマ画像の明るい部分をカバーできず、大きすぎるとオーバーサンプリングの効果が減って、ムラが増えたり、レンダリング時間が長くなります。

 また、HDRパノラマ画像の明るい部分が円形でない場合、その形状に合わせてGIポータルを作り直すよりも、円板で作ったGIポータルを大きくしたり、複製して並べてしまった方が後々の調整が楽です。


 次に、「joint」オブジェクトは「Sky_1」や「sky_2」オブジェクトの子供になっています。こうしておけば、「sky_1」と「sky_2」を切り替えるだけで、自動的にGIポータルも切り替わります。


 次に、「sky_1」オブジェクトの下にはGIポータルが二つ入っています。これはHDRパノラマ画像の中に非常に明るい部分が2ヶ所あったからです。

図015-8

 GIポータルの数、大きさ、位置を最適化するのは、GIパラメータの値を最適化するのと同じぐらい重要なことです。このケースでも、GIポータルを2個にすべきかどうかは場合によります。GIポータルを増やせば、ムラが減って画質が向上する代わりにレンダリング時間が増大するからです。

 この点からも、試行錯誤しやすいように、なるべく簡単な形状のGIポータルを使ったほうがいいでしょう。


 最後に、「オーバーサンプリング」についてですが、この値も非常に重要です。この値は、言ってみれば「GIポータルを注目する度合い」を表すわけですが、コントラストの大きいHDRパノラマ画像を使う場合、「低」とか「中」では効きません。最低でも「強」を使いましょう。

 たとえば、「オーバーサンプリング」の値が「中」と「強」の場合を比較すると下のようになります。

図015-9

 左が「中」でレンダリング時間は「44秒」、右が「強」で「70秒」です。

 レンダリング時間は短くなりましたが、とても使える絵ではありません。また、他のGIパラメータを上げていっても70秒で同じ画質にすることはできません。たとえば、「ストカスティックサンプル」の値を「高」にすると同等以上の画質にできますが、レンダリング時間は「166秒」まで伸びてしまいます。

図015-10

 

 結論として、次の二つのことが言えます。

1. GIポータルの配置は、他のGIパラメータの設定と同様に重要である。

2. GIポータルを使ったシーンにおいては、「オーバーサンプリング」が最も重要なパラメータである。

 

 

Step 3

IBLにライトを組み合わせる

 それでは、最後に残った「影があまい」という問題を解決します。正攻法では、GIパラメータの値を上げたり、「キャッシュの改善」、「ピクセル単位QMCサンプリング」等の追加パラメータを設定して影をシャープにしていくのですが、十分な効果を得るには10倍以上のレンダリング時間がかかります。また、GIパラメータの設定も非常に難しく、「10倍の時間をかけても画質は同じ」というようなケースがよくあります。

 したがって、「GIのレンダリングで困ったら、諦めてライトを追加する」というのが一番簡単で実用的な解決法だと私は思っています。

 確かに「そこに存在しないはずのライト」を追加するのは「嘘」かも知れません。しかし露出を10段階に変えて撮影したHDRパノラマ画像でも、太陽の中心部分は白く飛んでいます。ここは本来オレンジ色であるべきで、言ってみればこの白い太陽も「嘘」なのです。そういったことをきちんと理解できていれば、太陽の方向にオレンジ色のライトを追加することで、より現実に近い絵を表現できるはずです。

 また、ライトを追加する合理的な理由がなくても、それによって絵がよくなるなら、迷わず追加すべきです。正攻法でGIの設定を詰めていっても、結局ムラや影のあまさが残れば、それも現実には存在しない「嘘」なのですから。

 また、私は010章のステップ4で「シーンをシンプルにするために、ライトの数を必要最低限に抑える必要がある」と書きました。IBLを使ったシーンにはライトが存在せず、一見最もシンプルだと言えます。しかし、「必要なライト」まで削ってしまっては意味がありません。よく考えて、「無駄なライトは削り、必要なライトは置く」ことを心がけて下さい。


 さて、それではサンプル015bを開いて、「画像表示にレンダリング」して下さい。

図015-11

 左が「ライト無し」右が「ライト有り」で、レンダリング時間は両方とも「70秒」です。

 影の部分を比較すると、ライト有りの方がずっとよくなっています。特にレンダリング時間が増えていないことを考えると、「ライトの追加」は素晴らしい解決法だと言えます。


 ところが、この2枚の画像を比較すると色や明るさが明らかに変っています。この点について説明します。

 まず色については、ライト有りの方が現実に近い色です。理由は上にも述べた通り、HDRパノラマ画像の中の太陽は白く飛んでいて、明るいオレンジ色の成分が欠落しているからです。このサンプルで追加したライトは、欠落したオレンジ色を補うようにオレンジ色に設定してあります。

図015-12

 ライトの色は、「周囲のHDRパノラマ画像と馴染むかどうか」によって決定します。この絵では周囲のHDRパノラマ画像が見えていないので判断できませんが、014章の図014-1のようなシーンではライトの色の調整が重要になります。

 

 次に明るさについてですが、「ライト有り」のシーンでは、GIの明るさ(つまり「プライマリ強度」と「セカンダリ強度」の値)を、「ライト無し」の場合の半分の「50%」にしています。また、ライトの「強度」も「50%」にしています。

図015-13

 これは、GIだけでレンダリングしていたシーンに、単にライトを追加すると明るくなり過ぎるからです。もちろん半分にすればいいという単純なものではなく、実際は色合わせと同様に、「周囲のHDRパノラマ画像と馴染むかどうか」によって決定します。014章の図014-1では両方ともさらに暗くして「25%」にしました。

 また、GIの強度とライトの強度のバランスについてですが、ライトの強度を強くし過ぎると、GIの効果(つまり間接照明の効果)が弱くなってしまいます。また、GI の強度を強くし過ぎると、影をシャープにする効果が弱くなってしまいます。状況によって多少変化しますが、結局「半々」ぐらいがちょうどいいようです。

 

 次に、「sky_1」と「sky_2」を切り替えて「画像表示にレンダリング」すると次のようになります。

図015-14

 左が「ライト無し」でレンダリング時間は「88秒」、右が「ライト有り」で「90秒」です。

 この場合も、レンダリング時間はほとんど変わらず、画質は格段によくなっています。

 

 次に、オブジェクトマネージャを見て下さい。

図015-15

 「light」オブジェクトは、「GI_portal」オブジェクトの子供になっていて、位置や角度も一致しています。こうしておけば、GIポータルの位置を太陽の方向に合わせるだけで、自動的にライトの位置や角度も太陽の方向に一致します。また、HDRパノラマ画像を切り替えれば、GIポータルとともにライトも自動的に切り替わります。とても便利です。

図015-16

 

 最後にライトの設定についてですが、太陽は無限遠光なので「放射タイプ」を「無限遠」にしています。また、「影のタイプ」を「エリア」にしています。

図015-17

 また、無限遠光の場合、エリアライトのボケ方は「無限遠の角度」というパラメータで指定します。このサンプルでは「2度」に設定しました。

図015-18