Maya版「非」商用フリーRenderManに挑戦④ ノイズ軽減に挑戦

どうも!Maya太郎です。
年末年始にインストール&軽く使ってみたRenderManですが
この連休にArnold用のレンダリング実験に使用したマンションの内観シーンを
RenderManでレンダリングしてみました。

Arnoldでの内観レンダリング挑戦は、ライトや質感を中心にした「ムード表現」が主で
ノイズ対策は後回しにしていました。(サンプル数設定を本番レンダリング時に上げる程度)

RenderManを試用することで期待しているのは
Arnoldでノイズ対策するよりも確実に速くノイズの少ないレンダリングが出来るかもしれないという
期待があったからで、質感に対する要求レベルは二の次だったりしました(個人的な期待感)

ですので今回、質感設定などは後回しで、ノイズを軽減するサンプリング関係の調整に
週末の時間を費やしました。
何度もレンダリングを繰り返すので、待ち時間だけが経過します。

前回の記事まではユーザーガイドを見ずに勘だけでやってきましたが
今回からは
http://indyzone.jp/blog/archives/2016/12/renderman_21ris.htmlからたどことのできる
ユーザーガイドhttp://renderman.indyzone.jp/risOverview.html
最適化チュートリアルhttp://renderman.indyzone.jp/pdf/RM_DebuggingandOptimization_jp.pdf
も目を通しながら作業しました。
興味持たれた方は是非、ご覧ください!

週末に適当にガイドを読んだだけで使えるようになるなんてまったく無理のある話ですが
何となくではありますがレンダラーの方向性をつかむことはできました。

ということで、ライトと質感は適当ではありますが
すべてRenderMan用に差し替えました。
過去記事のArnoldネタと混同を避けるため「レンダーマン」と表記する必要が生じました(笑)
1-1

レンダリング結果がこれ。
絵的には満足なのですが、とにかくノイズが多い。
レンダリング時間もAnoldと同様か、場合によっては遅く感じることもあります。
さすがに最初の画像がこれだと、ノイズ軽減策を最初に考えたくなりますよね…
1-2

RenderManでのサンプル数制御は、レンダー設定をみればいろいろあるのですが
★印の機能がAnoldには無い特徴的な機能だと思いました。
今のところうまく例える言葉(日本語化)がないので、とにかく「特徴的」とだけ申し上げておきます。
1-3

今後のトレンドになりそうな…
そしてRenderMan試用の最大の動機である
ノイズ除去機能「デノイザー」は簡単に見つかります。
1-4

「Frame」が静止画用
「Cross-frame」が動画用 だそうです。
1-5

わくわくしてこの機能をオンにしてレンダリングしたのですが
まったく効果がありません。
使用前・使用後の画像を重ね合わせても数ピクセルほど、液晶のドット欠けの様なわずかな違いしかありませんでした。
ノイズがあまりにもひどい画像にはデノイザーは正しく機能しないようなのです。
(これからのレンダリングは特に断りが無い限り、すべてこの機能をオンにしたままにします。)
1-6

 

 

サンプル数に影響しそうなパラメーターを手当たり次第いじり倒して変化の動向を探ってみました。

まず、Arnoldでも似たような感じのサンプル数調整項目です
ライティング、シェーダー、間接光に対するサンプル数かな?(よく調べず適当に解釈)
とにかく1→5に上げてみました。効果あり!

今度は5→10に上げました。計算時間はかなり伸びました。
ノイズはさらに軽減しました。 しかし思ったほどではなかったです。
この数値をさらに大きくするよりも、先に他の設定を試すことにしました。
1-8

 

一旦デフォルト設定に戻して、
今度は最上段のMaxSamplesを調整します。
いかにもノイズが取れそうな設定個所です。
実際ノイズはかなり減りましたが、まだまだ目立ちます。512じゃ足りないという感じです。1-9

 

らちがあかないので、あらゆるサンプル数を上げて力技のつもりでレンダリングしたのですが
ノイズは思うようにとれず…
今回からPixel Varianceという部分を半分にしています。これは説明が難しいので
さらに理解を深めた時に説明するべきだと思うので今回は割愛。
(画質は上がるけど計算が遅くなる要素です。)1-11

MaxSampleを4096にしても上記画像のノイズ感、計算時間の割に得られるすっきり感はいまいち。
ちょっと方向性が分からなくなってきたのですが、
適当に値を調整しながら(テレビを見ながら)試していると
結果的に数値を下げたほうがきれいな画質になっていました。
4096ではなく1024,128での結果です。こちらの方がノイズが少ないとは…
(何が結果に作用しているのかは現段階で不明)
1-12

ということで、「こうすればノイズが消える」という最適化への過程は程遠く、
まだまだ調べることが多いのですが、
最後の画像を一枚お見せします。一番ノイズが少ないです。1-13tn

実は、「インテグレータ」の項目を「パストレーサー」から「VCM」に変更しました。
VCMとは双方向パストレーシングの方式だそうです。
(デフォルト設定のパストレーサーは片方向)
(ちなみにArnoldは片方向のパストレーサーです)

アルゴリズム的に上級なんでしょうね
適当に設定しただけでも、今回のようにクリアな結果に結び付いたのは偶然ですが…1-14
ただこのVCMモードを常用すべきなのかはよく分かりません。(もしかしたら遅いかもしれない)
まずはパストレーサーを使えるようにならないと…

 

 

今回の記事は
きちんとした技術の裏付けもありませんが、
試行錯誤の過程をそのまま記事にさせていただきました。
後日気がついた、発見したことがあれば、また後日の記事で報告いたします。

今回割愛したいくつかの機能は全く説明できていませんが、
それだけ奥が深いということですね。

 

ではまた!