NUKE 10リリース記念標準3Dレンダー比較

May 6, 2016
Facebookページの投稿の焼き直し企画です。

NUKE10がリリースされました。NUKE10ではRayRenderが搭載されたので、標準3Dレンダー3つ(Scanline Render, Prman Render, Ray Render)を比較してみました(Prman Renderには別途RenderMan Pro Serverが必要になります)。
このほかにもV-ray for NukeやAtomKraftといったサードパーティの3Dレンダーがありますが、これらは専用ノードを使いノードツリーに互換性がないので除外です。

とにかくRay Renderなので、とりあえず反射させてみました。Ray Renderはまだベータ状態の暫定リリースなので、機能は少なめで光のバウンスも1パスまで。Prman Renderも条件を同じにしています。 ピクセルサンプルも4で統一(Scanline Renderでは"samples"、PrmanRenderでは"Pixel Samples"、Ray Renderでは"stochastic samples")、モーションブラーはなし。Point Lightを2灯使用。
※あとから気がついたんですけど、RayRenderの場合はサンプリングは0が最小(なしの状態)で、Prmanの場合はサンプルを1の場合が最小(なしの状態)でした。

Scanline Render
NK10_SCANLINE_ref.jpg
Prman Render
NK10_PRMAN_ref.jpg
Ray Render
NK10_RAY_ref.jpg
Scanline Renderは反射(や屈折)の設定が一切反映されないこと、また今回使用したPoint LightではShadowが落ちません。ただしほとんどの場合は他のレンダラーより高速です。Directional Lightならとりあえず影も出せますし、影をぼかすこともできます。

Prman Renderは、NUKEで使用できるのは従来のREYESで機能もRenderMan全体からすればかなり限定的なのですが、それでもパラメータが豊富で拡張性もあります。レイトレースに関しては基本的にはRayRenderとほとんど変わらない速度です。標準のAmbient Occlusionは使えません。

Ray Renderは、前にも書いた通り、まだベータ段階での暫定リリースなので、機能はいたってシンプルです。影はぼかせません。あと影ずれます。DisplacementやRefraction(屈折)には対応いていませんが、Ambient Occlusionが使えます。


なぜかずれるRay Renderの影
nk10v1rayrendershadowoffsetproblem.jpg Checkerの平面に細いCylinderを突き刺した状態なんですが、影がずれてます。これはPoint Lightなんですが、Directionalでもずれます。Scanline, Prmanではずれません。


Ray RenderはAmbient Occlusionが使えます
NK10_ao_RAY_ref.jpg シェーダーをアサインするだけで使えます。ですが、通常のライトによる影をボカすことはできません。Prman Renderであれば影はぼかせますが、Ambint Occlusionは使用できません。

DisplacementはPrman Render以外に考えられない。Ray Renderは非対応。
NK10_disp_scanlinevsprman_ref.jpg Ray RenderはDisplacementに非対応です。ScanlineとPrmanはDisplacementに対応しますが、品質、速度ともにマイクロポリゴンを有するPrman以外を選択する理由はありません。Scanline Renderの場合は、Displacementシェーダーでテセレーションをあげれば、より高精度な形状にできますが、満足いく品質にするには時間がかかりすぎてあまり現実的ではないかと。

ちなみにこのサンプルではScanlineで25分かかってますが、Prmanでは2分弱で終わってます。


まだRay Renderはベータなので、これから色々機能が追加されると思います。AOが使えたりするので結構期待しています。Prman RenderはREYESなので機能的には最新のRISには及ばないものの、速度品質として考えるとコンプでのレンダラーとしてはかなり使い勝手がいいです。Scanlineは工夫次第でシャドウマップ、環境マップを使えば、レイトレースのようにセルフシャドウやセルフリフレクションは無理にしても、色々できる余地はあります。

別にどれかひとつを選ぶ必要はないので、必要なときに必要なレンダラーで必要なパスを使えばいいんじゃないですかと。実際今までの経験からも1つのコンプでPrman Renderだけっていうのはあまりないですし、Ray Renderもそんな感じで使っていければと思います。

NUKE 10の新機能は。このほかにもOCIOへの対応強化とかSmart Vectorとかあるので、また時間を見て検証してみたいと思います。個人的にSTUDIOにアーカイブとか共有ライブラリ機能が付かなかったのがちょっと残念ですけど。


[関連記事]
ZYNCを使ってみて2ヶ月目...
NUKE 9がリリースされました。