Poser 8のIDLを使ってみる その1
2010年01月15日(Fri)
前回の寺院の絵、実はPoser 8の新機能Indirect Lightingを使ってみようと思っていた。ところが機能をポンと有効にしただけではどうも思ったような効果が出ず、その時はあれこれ弄ってみるほどの余裕もなかったので、使用を断念して従来通りの無限光1灯+拡散IBL1灯でライティングしている。
で、今回はそのリベンジ。
Indirect Lighting(以下IDL)は翻訳すれば間接照明。つまりライトから直接光が当っている部分だけではなく、一度光が当った部分からの照り返しなどの二次反射光を計算に入れるということ。光は物質に当ると、鏡のように直線的に反射するだけではなく、物質に吸収されたり表面上で拡散したりする。この拡散した光が「拡散光」、つまり拡散色と拡散値で表される「色」である。拡散光は反射光に比べて弱いとはいえ、光であることに違いはない。微弱ながら周囲の物質をしっかり照らしているのである。……というようなことは、以前このブログ上で何度か書いたような気がする(笑)。
というわけで、回廊に斜めに陽が射し込んで、ほわっと明るくなったシーンを目指してみる。
背景小道具をロードしてカメラを決めたら、ライティングを考える。光源は一つ、太陽のみ。デフォルトのライトの内2つをオフにして、残りのライトの色を白に変えて無限光1灯だけにする。影は正確に落としたかったのでレイトレースシャドウを使用。
まずはライトの位置を決めてみる。

斜めに陽が射し込んで、床が照らされてる感じ。1灯しかないので当然影の部分は真っ暗になる。それにしてもなんか暗い。
次にレンダリングオプションでRaytracing(レイトレーシング)とIndirect Lightをオンにする。念のため書いておくと、IDLはレイトレースを使用する機能である。テストレンダに時間がかからないようシェーディングレートをがっつり落とし、あとの部分はデフォルトの数字で。

レンダリングを開始すると、本番レンダの前に「Precalculating Indirect Light」というプログレスバーが出て前計算が始まる。

赤い点がシェーディングポイント。要するに二次反射光の計算を行っている地点である。間の部分は補完計算される。オブジェクトが密集してたり形状が複雑な部分に赤い点が集中している。この計算結果を通常のレンダリングに足し合わせるわけだ。
このシェーディングポイント、レンダリングサイズが小さければその分少なくなる。単にIDLの効果だけを確認したいなら、レンダリングサイズのハーフや1/4を使うといいだろう。
で、レンダ結果がこれ。

奥の壁の部分などに若干の照り返しが見られるものの、IDL無しの状態とほとんど変わらず、効果が出ていない。仕方ないので補助ライトに拡散IBLを追加して底上げ……と考えて、思いとどまる。
太陽の補助ライトって、なんやねん。
普通のIBLは周囲の輝度情報を用いてライティングする技術だけど、Poserの拡散IBLはオブジェクトの面の向きに応じて拡散色を上乗せするだけの「よくできたフィルライト」でしかない。そういうのを使わなくてもちゃんと照り返しを表現できるのがIDLのはずである。
まず、陽の当ってる部分が暗すぎる。無限光は斜めから当ればその分暗くなるけど(過去のライティングTips参照)、いくら人間の目と脳に補正機能が付いてたって現実的にこんなに暗いことはない。ということは、太陽の役目を果たすライトの強度(Intensity)が低いということになる。
というわけで、ライトの強度を1.0から2.0に変えてレンダ。

今度はちゃんと計算中の状態で照り返しの効果が確認できる。けど、まだまだイメージより暗い。もうちょっとライトの強度を上げるべきかと思いつつ、再び思いとどまる。
あんまりライトを強くすると、今度は人物など別のオブジェクトを配置した時に色飛びしてしまって大変なことになってしまう。けど、陽の当ってる床や柱の左側面部分はまだ暗いような気がする。石は陽が当るともっと明るく見えるんじゃないだろうか。
というわけで、陽の当たる部分の拡散値を上げてみる。

IDLは拡散反射や発光体の影響を計算する。環境値を上げると陽の当たってない部分まで全体が明るくなってしまうので、拡散値の値で調整。ついでに同じマップをバンプも繋いでおく。鏡面値はここでは関係ないのでとりあえず0にしておく。
で、計算結果がこれ。

おおむねイメージ通りの結果になった。
ここでいったんIDLを切ってレイトレースシャドウのボケ幅と品質を調整。ついでに出来心で(笑)大気に体積効果を追加し、品質を上げてレンダしたのがこんな感じ。

レイトレース反射回数2、イラディアンスキャッシュ100、IDL品質15でピクセルサンプリング3、シェーディングレートは0.2。レンダリング時間は自分の環境(PowerMac G5 2.5 dual/メモリ2G)でだいたい30分強。体積効果を入れてなければもうちょっと早いと思う。
ライト1つで自然な雰囲気になるんだから、パラメータを把握していればライティングは結構楽かもしれない。思えば自分はそもそもこういう絵を量産したくてCGに手を出したんだっけなあ……などと遠い目になったりして。
次回はIDLのレンダリング品質のあたりを確認してみる予定。