Arnold 屋外シーンのレンダリングの高速化(常用は不可ですが…)

どうも!Maya太郎です。

前回記事でレンダリングした ↓ の動画のレンダリングですが、
実はちょっとしたことでレンダリング時間を2/3に高速化させています。
この方法はすべてのシーンで有効ではありません(後述)が、
今回の例を紹介します。

 


バウンス光の有無を比較してみる

最近主流のGI(グローバルイルミネーション)レンダラーは
光が物体に当たった場合、その照り返しの光を計算します。
(マテリアルの質感設定によって照り返し具合は異なります、そして照り返した光は徐々に減衰していきます)

屋外照明で多用するスカイドームライト(フィジカルスカイ含む)は
シーンをドーム状に全方向から中心に向けてライティングを行います。
地面を設置した場合、半球状の照明が有効になるわけですが…

このようなシーンの場合、GIレンダラーでは、地表に当たった光が跳ね返るので
地面からの照り返しの計算を自動的に行います。
地面だけでなく、壁など物体があれば、物体同士でも照り返しが起こります。
(しかし小さい物体には、ほとんど無視できる程度の現象です)

 

Arnoldでのバウンスに関する設定は「レンダー設定」内の
RaydepthのDiffuseの数値によってコントロールが出来ます。
デフォルト設定は1です。
つまり、地表など直射光が当たった面からの照り返しを一度だけ行う
ということになります。

デフォルト設定でレンダリングしたものがこれです。37秒
(レンダリング時間はPCスペックによって異なりますので参考値としてお考えください)
地表からの照り返しが反映されています。

バウンスをゼロにしました。地表の照り返しの計算はありません
24秒にレンダリング時間が短縮されました。
このシーンの場合、広い地面にポツンとオブジェクトがあるだけのシーンなので
バウンス光があっても無くてもほとんど見た目に違いがありません。

下図は切り替えアニメーションを行っています。
見た目にほとんど変化が無いので、ちらっと見ただけではアニメーションだと気がつかない方がいるでしょうね。
実際にはタイヤ、猫太郎の顔など若干の違いはあるのですが
作品として大きく見栄えを損なうレベルではありません。


どんなシーンでもこの方法が使えるわけじゃない

このようなシーンでも建物があったり、もっとにぎやかなシーンになると
バウンスの有無に大きな違いが出てきます。
光沢のある質感が構図内で大きな面積を占める場合
反射の計算・影響が増えてくるので、この方法は使えないでしょう。
今回、ほとんどツヤのないオブジェクトばかりのシーンなので
この方法が使えたということもあります。

つまり
①ドームライト
②ツヤのない質感が大半
③中央にポツンとオブジェクトが存在

という条件で成立した今回の小技ですが

不要な計算を端折ることで、
本来720サイズで想定してたテストレンダリングのサイズを
同じレンダリング時間で1080と一回り大きなサイズで行うことが出来ました。


注意(推奨する使い方ではありません)

バウンス光をなくすということは
GIレンダラーとしての本来の特性を無視することになるので
一般的な利用ではおススメできません。
(特に屋内シーンでのレンダリングの場合
 Mayaソフトウェアレンダラーの様に
 間接光表現を行わないのでまったく別物の画像になってしまいます。)

ただ、表現力を犠牲にしてでも
時間とのトレードオフを考える場合…
あるいは今回の様に「バウンス光なしでも大差ない」場合などは、
負荷を軽減する意味でも使い方を知っておいて損はないでしょう。

では!