[PR]

Autodesk Maya 2020のリリースに伴い、Arnoldもバージョン6へとアップデートされた。Arnoldは、Maya 2017から標準搭載されているモンテカルロ方式のレイトレーシングレンダラで、高速かつメモリ効率の優れた物理ベースのGIレンダリングが行えることに定評がある。Arnold 6ではGPUレンダリング(Arnold GPU)に正式対応したことをはじめ、Open ShadingLanguage(OSL)やOpenVDBボリュームのサポートが改善されるなど幅広い強化が施されている。

今回はアニメ『モンスターストライク』ノア 方舟の救世主のヘッドプロダクションを務めたことでも知られるStudioGOONEYSのデザイナー、町田隼人氏に、Arnold 6を使ってもらい、バージョン5からのパフォーマンス向上度合いやGPUレンダリング(Arnold GPU)の使い勝手をレビューしてもらった。

TEXT_神山大輝 / Daiki Kamiyama(NINE GATES STUDIO)
EDIT_沼倉有人 / Arihito Numakura(CGWORLD)、山田桃子 / Momoko Yamada
PHOTO_弘田 充 / Mitsuru Hirota

  • NVIDA Quadro RTX 4000が当たるチャンス! アンケートプレゼント実施中 ※応募方法などの詳細は、本記事の末尾をご確認ください

はじめに

StudioGOONEYS創立間もない頃からの中核スタッフである、町田隼人氏。普段の業務ではリグ周りを担当することが多いそうだが、ひとりのアーティストとしてはゼネラリスト志向であり、必要があればモデルリングからコンポジットまでの全工程を手がけている。さらに、スクリプト作成やワークフローの改善といったTA業務も手がけるなど、テクニカル面にも精通している。

「StudioGOONEYSでは、Arnold 5から使い始めました。元からグローバルイルミネーション機能を備えているので、PBRなどモデラーが質感を付けやすいレンダラだと思っています。今回、Arnold 6を初めて試してみたのですが、ノイズの削減やレンダリング時間の高速化など全体的に確かなパフォーマンスの向上を実感しました」。

町田隼人氏(StudioGOONEYS)
gooneys.co.jp
StudioGOONEYSでは現在、積極求人中! 詳しくはこちら

今回は下記3つの観点からArnold 6を検証してもらった。

<1>Arnold 5で作成したアセットをArnold 6にそのまま読み込む
<2>CPUレンダリング(Arnold 5との比較)
<3>GPUレンダリング(CPUレンダリングとの比較)

レビュー環境と検証に用いたモデルは次のとおり。

<使用マシン>
CPU:Intel Core i7-9700k(3.60GHz)
RAM:32GB
GPU:NVIDIA GeForce GTX 1060

<ソフトウェア>
Autodesk Maya 2018
Arnold:(バージョン6)MtoA 4.0.1(core 6.0.1.0)/(バージョン5)MtoA 3.1.1(core 5.2.1.0)
レンダリングサイズ:1920×1080

<検証モデル>
・スタンダードなモデルのコンバート検証
StudioGOONEYSが過去に手がけた『ORDINAL STRATA -オーディナル ストラータ』PV用ヒロインのキャラクターモデルを使用。

肌へSSS、服や髪の毛などへラフネス高めのリフレクション、腰にはガラスが使われていて比較的ノイズが出やすいアセットである

・各マテリアル検証
反射や屈折のノイズがわかりやすい面の多めなモデルとしてサイコロのモデルを使用。

サイコロの質感は手前から「白:diffuseにコーティング」、「金属:ラフネス高め」、「ガラス:ラフネス低め」、「ミルクSSS(プリセットより)」、「金属:ラフネス低め、色付き」、「ガラス:ラフネス高めのガラス」

・OpenVDBボリューム

OpenVDBよりサンプルデータを使用
www.openvdb.org/download/

<検証1>Arnold 5から6へのアセットコンバート

まずは、Arnold 5で作成したMayaのシーンデータを設定を変えずにArnold6でレンダリングし、出力結果を比較した。

上がArnold 5、下がArnold 6のレンダリング結果。最奧の「ガラス:ラフネス高めのガラス」、前から3番目の「ガラス:ラフネス低め」が判りやすいが、反射、屈折のラフネスが上書きされて若干ボケてしまっている。その他のサイコロは、ほぼ同じの見た目である。なお、レンダリング時間はArnold 5が「6分18秒」、Arnold 6が「6分1秒」であった

これは、Arnold 5からaiStandardSurfaceの初期値が一部変更されたことに起因する。「Arnold 5で作成したアセット内で、該当するアトリビュートが初期値のままになっていると、そのままArnold 6でリファレンスするとArnold 6の初期値に上書きされてしまいました。そのためレンダリング結果が変わってしまったようです」(町田氏)。

今回の検証で確認できたかぎりでは、"SpecularRoughness"、"SupecularIOR"、"SSSType"の初期値が変更されていた

Arnold 6デフォルトのレンダリング設定。バージョン5では初期値がMax. Camera(AA)「8」、Threshold「0.05」になっていたが、バージョン6ではMax~「20」、Threshold「0.015」へと変更された

今回の検証に用いたレンダリング設定。実作業ではFixSamplingを使用する機会が少ないため、AdaptiveSamplingをONに。Maxは、Arnold 5に合わせて「8」にしつつ、Threshold「0.05」ではさすがに荒すぎるため「0.02」に変更した。Ray Depthは初期値のままレンダリング。ただし、Volumeのデフォルトが「0」のため、次項でふれるVDBのレンダリング時のみVolumeに「1」を入れてレンダリングを行なった

また、Arnold5はcore 5.3にてノーマルやバンプの計算にアップデートが入ったが、今回の検証に用いたのはcore 5.2.1のため、アトリビュートを同じにしても反射と屈折は明るく出るようになったという。「もし以前のバージョンでマテリアルのライブラリなどを用意している場合は、コンバート作業が必要になると思います。ですが、何かが表現できなくなったなどの不具合はないので新規にArnold 6を採用する分には気にしなくて大丈夫です」(町田氏)。

パラメータ設定を未編集のままレンダリングしたもの。肌のSSSTypeが変わってしまい、透過し過ぎている

パラメータ設定を編集したレンダリング結果

次ページ:
<検証2>レンダリングノイズが大幅に軽減~CPUレンダリング~

[[SplitPage]]

<検証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 PainterMARIなどから出力したテクスチャを直接コネクションしてシェーダの数値調整だけに止めるといった具合に、シェーディングネットワークがシンプルであれば、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