2012年5月16日水曜日

Cyclesでのレンダ時にノイズを減らすための5つのポイント


blenderの公式wikiでCyclesのあれこれを調べていたら、"Reducing Noise"というページが。
詳細に説明してあるのですが、とりあえずすぐに役立ちそうなポイントを抜粋してみました。


1. レンダラの設定に関して

・パストレースのバウンスの設定を少なくする
・バウンスの設定を多くする必要があるシェーダーの使用を減らす。
diffuse、glossy、glassの順にバウンスを計算する必要がより多くなる。
・Integratorのプリセットで"Limited Global Illumination"を選択する。
(バウンスを抑制した設定と同等。)


2. 光源

・強すぎる光源やハイライトの領域がくっきりしすぎた光源を置かない。
具体的な内容としては
・周りのオブジェクトが白飛びするくらいのランプは調整する。
・コントラストがはっきりしたマップをエミッタに使用しているならブラーをかけてみる。
・スポットライトのフォールオフ半径を多めに設定する。
といったあたり。

・ライトのフォールオフを適切に設定する。
"Light Falloff"ノードのSmooth factorで光源と物体の距離がゼロでの光の強さを設定しておく。

・室内のシーンのレンダリング
カメラは屋内、光源は屋外。窓やドアなど開口部から入る光で室内が照らされているという
シーンはよくあります。このような状況では光源のパストレースを単純にするため、開口部の
代わりにemissionシェーダを設定したメッシュライトを設置するのもノイズ削減に有効。


3. コースティクスに関して

・コースティクスを無効にする。
コースティクスをレンダするには多くの処理が必要になります。
そのための十分な計算が行われない場合にはノイズを伴います。
"No Caustics"のオプションを設定することでコースティクスを無効にできます。
ただし、その場合光源に関する処理を一部省くためシーンがやや暗くなることがある。

・はっきりしたハイライトの存在する物体にあたった光が、ぼんやりとしたハイライトを持った
物体を照らしている場合もノイズの発生源となりうる。
この場合、"Filter Glossy"を設定することでノイズを減らすことができる。
ただし、処理としては反射にブラーをかけるため正確さは損なわれる。


4. マテリアルに関して

・シェーダーのcolor要素として1.0やそれに近い値を設定しない。
値は0.8以下に設定し、値をそれ以上大きくしたいならばライトをより明るくして調整する。

・emissionシェーダを利用し、"Sampled as a Lamp"が有効な場合ノイズが増える可能性がある。

・フェイクのガラスマテリアルを利用する
コースティクスの項で説明したように、"No Caustics"を有効にするとノイズは減りますが、
Glass BSDFシェーダを適用したマテリアルの場合、影に透明度がなくなってしまいます。
そんなときはGlass BSDFとTransparent BSDFシェーダを利用したフェイクガラスマテリアルを
作成するのもひとつの手です。


5. その他

上記の各種対策を行なってもノイズが出ることはあります。画面全体に白くポツポツと現れる
ファイアフライノイズというのはなかなか対策が難しいところです。
Cyclesでは"Clamp"の設定をすることでそのようなノイズを抑制できることがあるそうです。
"Clamp"は何を設定してるかというと、インテグレータが処理した各サンプルが、レンダ画像の
各ピクセルに対してどれくらい寄与するか?という寄与率の上限を調整することでノイズを
削減する、という仕組みだそうな。


まとめたけれど、実際に試せてないもの多いので何かシーンを作りつつ検証していきたいところ。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手