チュートリアル / 宋さんの3ds Max キッチンスタジアム
第30回:3ds MaxでArnold / 最初の一歩
- 3ds Max
- Arnold
- コラム
- チュートリアル
- レンダリング
- 学生・初心者
みなさん、お久しぶりです。
前回まではPBS(フィジカリベースドシェーダ)について、いろいろ解説してきましたが今回からはリクエストの高かった(勝手に想像してますが、、)Arnold レンダラーの使い方について解説していきましょう。
主に3ds Maxの2018から標準機能で実装されたMAXtoAプラグインについてなるべくわかりやすく解説していきますよ
では始めましょうか
3ds Maxを業務でお使いの方々はそのほとんどがChaos社のVrayレンダラーをお使いだと思います。また最近の3ds MaxですとART(Autodesk Ray Tracer)レンダラーも標準で実装されてますね。残念ながら歴史のあるNvidia社のmental rayはNvidia社が開発を中止しましたので3ds Max 2018以降は実装されていません。
3ds Maxにおいては昔から様々なサード パーティ製 レンダリング プラグインが存在しており、古くはRay Gunといったレイトレース系のレンダラーやCebas社のFinal Renderなどもありました。この言葉を聞いて涙する古くからユーザーさんもいるんじゃないですかね(笑) Final Renderなどは今でも開発・販売を続けていて、かなり機能強化されているようです。
とはいえ、業界に最大のインパクトを与えたのはやはりChaos社のVrayでしょう。
グローバルイルミネーションの普及期に登場したこのソフトウエアは無償版があったこともあり、一気に制作現場へ広がっていきました。特にGIの計算結果をキャッシュさせて全体の制作コストを下げる機能が潤沢に用意されていたのもシェアを広げた要因ですね。
また、トロン:レガシーなどの映画製作にも採用されたこともあり大規模なシーンへの対応や人物の皮膚表現に使われるSSSの品質などもバージョンを上げるたびに向上させていき、その後の多くの映画製作でも実績を重ねていっています。こういった所でも非常に評価が高いレンダラーです。
他にもGPUベースのNvidia iRay(こちらはNvidia社から現在も提供されています)をはじめ最近特に話題となっているRedshiftやOctaneRender、AMD社が提供するRadeon ProRenderer、 Corona Render、Maxwell Renderとまさにレンダラー戦国時代といったところです。関係ないですが個人的にはCorona Rendererは大好きなレンダラーですね。
mental rayやVrayはレンダリング キャッシュをうまく使いレンダリングコストを下げる機能が豊富に用意されているので、パラメータの設定によっては計算時間を大幅に削減することが可能です。しかし、キャッシュを生成することはある意味 物理的な光の解析を諦めるというか、曖昧にせざるを得なくなります。デザイナーさんの設定によっては最終的な絵作りに差が発生することもあります。要は設定する人によって微妙に絵が変わる可能性があります。ノイズの多い少ないとは別です。
実をいうと、ここ5-10年の間に登場した新しいレンダリングソフトウエアのほとんどがパストレースを主体にしたレイトレース系のレンダラーです。
昨今のCPUのマルチコア化やメモリーの潤沢な実装状況、GPUのコア数の圧倒的な増加など、昔だったらメモリー消費が激しくマシンに負荷をかける計算も、ハードウエアの進化と低価格化によって現実的なレベルで実現可能になってきたという事ですね。
RedshiftやOctaneRender、AMD ProRenderer、Nvidia iRayなどはGPUを積極的に活用して計算をしていこうというもので、ArnoldやCoronaなどはCPUをベースに計算をしていこうというものです。Vrayも最近のバージョン3.6XではGIの一部の計算はパストレース方式のBrute forceを使い積極的にGPUハードウエアを活用していこうという仕様になっていますよね。
GPUを活用するレンダラーは押しなべて処理速度が圧倒的に速く、魅力的ではあるのですがやはりハードウエアのコストやグラフィックスボードに搭載するメモリーの制限を受けるなどの問題はまだ完全に解決できていないようです。グラフィックスボード搭載のメモリー容量を超えた場合はメインメモリーにメモリーを振り分ける機能を実装しているものがほとんどですが、その際は極端に計算時間がかかります。つまりメモリーに関する管理や回避策が意外と大変だったりするようですね。
その中でここ数年映画産業などでの採用事例がとても多くなってきたのが、Solid Angle社の Arnold レンダラーです。いまはAutodeskグループの一員となったSolid Angle社が提供するArnoldレンダラーはAutodesk Maya、Autodesk 3ds Maxの標準レンダラーとして2017バージョンから実装されています(3ds Maxは2018バージョンから)。ほかにもHoudini、Cinema 4D、Katana用のプラグインを提供していますので、主要なCGソフトウエアはほとんどサポートしているといった形です。
Arnoldはパストレース型レンダラーでCPUを使い計算を行います。なので本体メモリーさえ実装していればその容量の問題は起きませんね。また、映画などの巨大なシーンにも対応できるようにメモリー管理・運用を効率よく処理しているのが強みといえます。
Arnold自体は歴史が古く、最初はたしか1997年のSIGGRAPHでの発表だったと記憶しています。私が最初に見たのは3ds Max 4あたりの3ds Max用プラグインだったと記憶しています。なのでもう18年ほど前ですね。
というわけで、Autodesk Mayaや3ds Maxをお使いのユーザーさんだったらすでに手元にArnoldが届いているわけで、使ってみようと思った方も多いと思います。
っう!3ds Max2018のオンライン・リファレンスを見てもArnoldの解説が載ってないじゃんかあ~とビビリまくりますね、当然初めてArnold使おうと思ったら困惑しますよね、、ふつう使えないですわ。
Solid Angleのサイトに行くとMAXtoAのユーザーガイドがあるのですが、まだ日本語化されてませんね。これじゃあ普通わかんないですよね、Autodeskさん早急にたのんまっせ!
っあ、因みにMAXtoAとはArnoldレンダラーに3ds Maxのシーン情報を送り込むプラグインです。もちろんシェーダーやレンダリング設定をGUIベースで編集できる機能も持ち合わせます。ちなみにMaya版がMtoAというプラグインになります。
MAXtoA User Guide
https://support.solidangle.com/display/A5AF3DSUG/Arnold+for+3ds+Max+User+Guide
ただし、ユーザーインターフェイスの差はありますが、各パラメータの意味やその役割などはMtoAとまったく同じなので、急いでパラメータの意味が知りたいという方はMtoAの日本語ヘルプドキュメントを参考にするといいですよ
MtoA ユーザーガイド(日本語版)
https://support.solidangle.com/pages/viewpage.action?pageId=65962532
ちょっと難しいかもしれませんが、Arnold本体のガイドは以下にも記載されています。(日本語も可)
https://support.solidangle.com/display/A5ARPJPN/Arnoldpedia
本シリーズはあまり技術的なことわからない方でも、もっとArnoldを身近に感じてもらえるよう、初心者の方でも理解しやすい構成で進めていきますよ。
他のレンダラーとMAXtoA+Arnoldが違う点
其の一
パストレーサーなので、レンダリング設定がめちゃ簡単!ちょっとしたコツを覚えれば、レンダリング設定時間はかなり短く済むと思います。ARTレンダーやiRayも簡単ですが、それらよりは色々設定ができるので、表現できる範囲がとても広くなります。
其の二
シェーダーノードの組み合わせなんか勉強してる暇ねーっす!という方向けにMax標準のフィジカルマテリアルをそのまま使える。
つまり、ARTレンダー用にセットアップしたマテリアルがそのままArnoldにも使えるというわけです。フィジカルマテリアルは他にもVrayやCoronaレンダラーでも使えますから、レンダラーを切り替えて設定全てやり直しする必要がないというのは、とても素晴らしいことだと思います。
其の三
豊富なレンダリングパスが用意されてるし、レンダリングパスもシェーダーの組み合わせでプログラミングなしでカスタムパスが作れる。実はArnoldの強力な機能がこのレンダリングパスの管理だと思うのですが、Arnoldではこのことを”AOVs”と呼んでいます。ちょっと他のレンダラーとは設定方法に癖があるのでこの辺も詳しく解説していきましょう。
其の四
mental rayのように豊富に用意されたシェーダーノードを組み合わせて求めるシェーダーを作れる。
そんなところでしょうか?
デメリットとしては、
其の一
3ds Max標準のプロシージャル系のマテリアルやマップが使えない。(ある設定をすれば、そのほとんど使えるようになりますが、コマンドラインレンダリングではエラーになります。またActiveShadeでも問題が発生します)
其の二
エクステリアレンダリングでは問題になりにくいですが、インテリア レンダリングでは計算時間がかなり膨大になる場合があります。
まあ、これはこの手のパストレース型レンダラーが持つ宿命みたいなものですね、
其の三
ユーザー インターフェースが英語しか存在しない。まあ極端な英語アレルギーの方でなければ問題ないでしょう
では次回はまずはレンダリングしてなんぼですので、基本的なレンダリングパラメータの設定方法を解説していきます。お楽しみに~