<検証2>レンダリングノイズが大幅に軽減~CPUレンダリング~
続いては、Arnold 5との比較でArnold 6によるCPUレンダリングを検証した。キャラクターモデルでは、右腕など髪の毛の影になる部分のノイズが大きく減少された。
Arnold 5によるレンダリング結果。レンダリング時間は「6分25秒」
Arnold 6によるレンダリング結果。レンダリング時間は「6分44秒」と、レンダリング時間には大きな変化がみられなかったが、全体的にノイズが軽減された。特にノイズを減らそうとすると、計算が重くなりやすい間接光で照らされる陰部分のノイズが大きく減少したことが判る
Arnold 5によるレンダリング結果。レンダリング時間は「6分18秒」
Arnold 6によるレンダリング結果。レンダリング時間は「6分1秒」。Arnold 5と比べると、Diffuseがかなり綺麗にレンダリングできている。キャラクターと同じく陰面のノイズが落ち着いたように見られる。前項でふれたとおり、反射と屈折に関しては5と6で出力結果が変わっていたため単純な比較が難しいが、影の映りこ込みはArnold 6でもノイズが消えにくい印象である
-
Arnold 5によるOpenVDB ボリュームのレンダリング結果。所要時間は「40分7秒」 -
Arnold 6によるOpenVDB ボリュームのレンダリング結果。所要時間は「33分48秒」。前項で述べたとおり、レンダリング設定の「Ray Depth」のVolumeがデフォルトでは「0」のため、VDBのレンダリングを実行する際はVolumeに「1」を入れた
OpenVDBボリュームでは、ノイズの具合は大きく差は出なかったがレンダリング時間が約119%高速化(6分19秒短縮)された。さらに、Arnold 5ではボクセルの重なりあう箇所にアーティファクトが出ていたが、Arnold 6では落ち着いたように見える。Mayaなど、1つのソフトウェアでアセットからエフェクトまでレンダリングできると、エフェクトが他アセットへ重なっている場合のマスクの生成やAOVの出力がしやすくなるメリットがある。「最近はエフェクト表現については別ツールで作成することもありますが、Arnold 6ではVDBなどキャッシュ系のレンダリングが高速化・高品質化されたことが今回確認できました。MayaをはじめArnold対応の3DCGソフトウェアでアセットからエフェクトまでレンダリングできると、エフェクトがキャラクターなど他のアセットと重なっている場合のマスクの生成やAOVの出力がやりやすくなるというメリットが期待できます」(町田氏)。
<検証3>制約はあるけど、とにかく高速!~GPUレンダリング~
最後は、Arnold GPU。NVIDA RTXテクノロジーの登場によってリアルタイムレイトレーシングの実用化への期待が高まっている。Arnold 6がGPUレンダリングへ正式に対応したことで、いよいよ現実味を帯びてきた。今回はNVIDIA協力の下、Quadro RTX 4000とQuadro RTX 5000による検証を行なった。
-
設定方法は、「RenderSettings」のSystemタブから、[Render Device]をGPUに切り替えるだけ。再起動なども不要で、すぐにGPUレンダリングを実行できる。図ではQuadro RTX 5000のみが表示されているが、複数のGPUを同時に選択することも可能だ。なおテクスチャやモデルによってメモリ使用量が増えてくると、メモリ管理が重要になる。その際は、[Max Texture Resolution]でテクスチャ解像度の制限を設定しておかないとエラーが出てしまう -
シェーダーボールをレンダリングした結果(左がCPU、右がGPU)。レイのトレース回数が設定より減っているのか、GPUレンダリングでは、全体的にGIやリフレクションなどの光量が弱いように見える。ただし、Diffuse面はほぼ同じ結果が得られた
キャラクターモデルのレンダリングは、Arnold 6のCPUレンダリングでは「6分44秒」を要したのに対し、RTX 4000は「1分26秒」、RTX 5000はなんと「33秒」でレンダリングが終了した。CPUレンダリングとの比較でRTX 4000は3倍弱、RTX 5000はおよそ13倍の高層化という驚異的なパフォーマンスだ。
キャラクターモデルのCPUレンダリング結果
キャラクターモデルのGPUレンダリング結果。肌の色が不自然だが、色味自体はCPUレンダリングどほぼ同じである。また腰に掛けている小物やシルバーはCPUレンダリングの時よりノイズが少し多いだけで質感はほとんど同じ結果が得られた。なお、RTX 4000とRTX 5000では、速度差はあるものの描画されたイメージは同じであった
肌部分の質感に不具合が出た理由は、現時点ではGPUレンダリングに対応するマテリアルが限定されているため。「現バージョンでは、SSSTyepの設定が『randomwalk』か『randomwalk_v2』にしか対応していないみたいです。今回使用したモデルにはdiffusionを使用していたため、レンダリング時に自動で変更が入ってしまい、肌のSSSが変わってしまいました。ほかにもスペキュラの一部に使用していたMayaノードの『noise』もGPUレンダリングに非対応のため、衣装や髪の毛などにスペキュラが出ませんでした」(町田氏)。
上がCPUレンダリング(所要時間:6分1秒)、下がRTX 5000によるGPUレンダリング(所要時間:2分5秒)。キャラクターと同じく、レンダリング速度は約3倍高速化された。GPUレンダリングに対応するSSSはrandomwalkのみのため、CPUレンダリング時の設定もrandomwalkにしてある。描画されたイメージについては、シェーダーボールと同様に若干暗く出ているが屈折以外はおよそ近い印象である。ボケの強い反射や屈折は、高速に描画している分、ノイズは多い。もし、これを解消しようとする場合はサンプリング数値をかなり上げる必要があるため、高速化というGPUレンダリングのメリットは失われてしまうだろう。なお、RTX 4000のレンダリング所要時間は「2分9秒」。キャラクターに比べるとシンプルなモデルのため、RTX 4000とRTX 5000では大きな差は見られなかった
「GPUレンダリングについてはSubstance PainterやMARIなどから出力したテクスチャを直接コネクションしてシェーダの数値調整だけに止めるといった具合に、シェーディングネットワークがシンプルであれば、CPUレンダリングとほぼ同じ結果が得られます。その意味では、モデリングなど上流工程のルック構築ではGPUレンダリングによる高速化の恩恵をダイレクトに得られるはず。ただ、業務におけるルックデヴ作業ではテクスチャ以外も利用することがあるため、今後のアップデートによる改良を期待しています」(町田氏)。
PysicalSkyLightを使用した場合、Arnold 5ではY=0以下が黒でベタ塗りされてしまう不具合があったが、Arnold 6ではその部分がgroundAlbedoでレンダリングされるように変更された。「環境を手早く構築するにはskyライトが便利なのですが、Arnold 5では背景によって反射や屈折に(Y=0以下の)黒が乗ってしまうことがあったため、地味に嬉しい改善点です」(町田氏)
CPUレンダリングでは、パフォーマンスの向上に加え、パラメータ項目が増えたことでより多彩な表現に対応できるようになった。GPUレンダリングについては、正式対応した最初のバージョンということもありCPUレンダリングと同じ感覚で利用することはできないものの、高速化の面では大きなメリットが得られた。Arnold 6、その実力をぜひ試してほしい。
NVIDA Quadro RTX 4000が当たるチャンス!
プレゼントキャンペーン実施中
-
今回のレビューにも使用した「NVIDIA Quadoro RTX 4000」を1名様にプレゼント! 下記リンクから、お申し込みください。
※申し込みには「クリエイターズID」への登録が必要です
※クリエイターズID未登録の方は、新規登録をお願いします
受付期間:2020年3月31日(火)まで
主催:株式会社ボーンデジタル
協賛 :オートデスク株式会社、エヌビディア合同会社
creators.borndigital.co.jp/public/seminar/view/364