0.始めに
今まででもfinalRenderにおいてはコースティックス、ボリュームライト、finalToonについてレビューしたかと思いますが今回は3dsMAXのfinalRender × mentalRayの比較レビューをしたいと思います。
例えば、まるで写真で撮ったようなリアルな3DCGを作ろうとする時はレンダラーの質に依存する部分があるかもしれません。
既定値のレンダラーでそういったリアルな質感をだそうとすると光の屈折、反射、ボリューム等、現実世界に近いものをシミュレートする計算には限界があります。
その分、そういった緻密な計算に特化したレンダラーは正確な計算結果を得られる代わりにレンダラー自体も高価なものが多いのも確かです。(勿論レンダラー以外の3DCGソフトでも言えますが。)
max6ではMentalRayが完全に統合された事で以前に比べてこういったクオリティの高いレンダラーはより身近になりつつありのではないでしょうか。
コースティックスはMentalRayにおいて得意な部分だと言われています。
今回はガラスのような質感を与える設定をMentalRay とfinalRenderそれぞれで組んで比較してみます。
MentalRayとfinalRenderでそれぞれコースティックスを用いた質感を出す際に設定の操作やレンダリング時間、結果にどういった差があるのかまとめてみようと思います。(レビュー中ではどちらの操作か分かり易いように文字の色をfinalRenderを紺色、mentalRayを緑にしてあります。)
まず、これら設定を組んでいく過程を大きく
1・マテリアル設定
2・レンダラー設定
3・ライト設定
の3つに分けました。
今回はfinalRenderとMentalRayにおいて以下のように格子柄の平面上にガラスの球体を置いたシーンを用意してみました。
1.マテリアル設定
****finalRender****
finalRenderにおいて、通常のマテリアルを使う事は可能ですがfinalRenderマテリアルを使う事によりレンダラーに特化したマテリアル設定が出来るようになります。
それはコースティックス効果を生み出すだけでなくレンダリングスピードにも関係します。
finalRenderマテリアルはよりレンダラーの機能を効果的にしてくれます。
今回のモデルに割り当てるマテリアルの設定をしていきたいと思います。
ここでシーンに置いた床面には通常のstandardモードで格子柄のテクスチャを用いました。
拡散反射光のみで特にバンプなどは与えていません。
球に与えるマテリアルはガラスのような質感にします。
ここではfR-Advancedモードで以下の様に反射、屈折の設定をしてやります。
Specular Level、Glossinessの値を各々高くするとガラスのような質感に大分近づきます。
/Advanced Refractions ロールアウト
ここでDispersion をアクティブにしてやります。
光の波長は各々の屈折値を持っているために白色光線はプリズムに存在する虹色成分として分けられる事が出来ます。
そしてこれが下のレンダリング結果にも見られるように物体の表面に虹色の映り込みを作りだす訳ですね。
Dispersion = OFF
Dispersion = ON
****mentalRay****
ガラスのような質感を与えるマテリアルを作っていきます。
maxの標準StandardモードでReflection(反射)とRefraction(屈折)のマップにRaytraceを与えてやります。
マテリアルエディタのmentalray Connectionロールアウトではすでにデフォルトでアクティヴになっているため、ここでは特にmentalRayレンダラーの為にする操作は不要です。
finalRenderと比べるとその点でマテリアル設定はより簡単になっているかもしれません。
maxの標準レンダラーに対するマテリアル設定と同様にspecular やGlossinessの値を設定してやります。
次に、コースティックスを持つオブジェクトに対して次の操作をします。
モデルを選択して右クリックして開いたウインドウからPropertiesを選択すると新たにObject Propertiesウインドウが開きます。
これの[mental ray]では以下の画像で示すようにCausticsを作り出すエミッタとしてGenerateをアクティブにしなければなりません。
床面のように受け手になるものはReceive Causticsとなります。
mentalRayの場合、直接モデルを選択してObject Propertiesから設定してやらなければなりません。
使ってみて個人的に思うのですがこの部分は少しマイナスポイント。どうせなら設定は1箇所に集まっていた方がアクセスしやすいし設定忘れも無い気がするのですがね・・・。
finalRenderでこのGenerate/Receiveの割り当てはをするのはマテリアルエディタのGI/Causticsロールアウトにて
行います。つまり、オブジェクトプロパティでモデル全てにGenerate/Receive割り当てをしなくてもマテリアルで一度にこの設定が出来てしまう訳ですよね。
[finalRenderでのマテリアルウインドウ]
2. レンダラー設定
****finalRender****
Global Options/ロールアウト
まずはいつもの様に[シーンをレンダリング]から[現在のレンダラー]でfinalRenderを選択。
Sceneのサンプルファイルの設定を参考に見ていきたいと思います。
とりあえずAnti-Aliasingをチェック。
今回はcausticsを用いるので忘れずにCausticsチェックボタンをアクティブにします。(これをアクティブにしないと設定が無効になってしまうので必ず忘れずに・・・)
Raytracing/ロールアウト
Ray Leversを見てみましょう。
デフォルトだと左図になっていますが右図のように反射、屈折それぞれの跳ね返り回数を設定してやります。
ここで以下のようにバウンスの回数を変えてやるとレンダリング結果に差は出るのか?実際にレンダリングして結果を確かめてみました。
(1)デフォルト:
Total Bounce:10
Reflection Bounces:5
Refraction Bounces:5
(2)
Total Bounce:9
Reflection Bounces:9
Refraction Bounces:9
(3)
Total Bounce:18
Reflection Bounces:18
Refraction Bounces:18
これを比較する限りレンダリング時間にもほぼ差が無く画像を見た感じも変わりが無いようです。
Global Illumination/ロールアウト
ここでEngineの設定を見てもらうと分かると思いますが搭載しているレンダリングエンジンには選択出来るものが複数あります。
・finalRender:Image
finalRender用に最適化されたGIトレースを元にしたエンジンであり、このfinalRender:ImageとQuasi Monte-CarloエンジンはGIアニメーションのフリッカー(ちらつき)を軽減するのためにも使われています。そのため静止画や静止したモデルをカメラが動くアニメーション等に適しています。
・Quasi Monte-Carlo
このGIエンジンでは屋外のシーンや精密なモデルをレンダリングするのに適しています。
Qunasi Monte-Carlo エンジンはbrute force 法を元にしており(finalRender stage-0ではレンダリングエンジンはBrute force とfinalRenderの2つだけでした。)計算の仕方はfinalRenderエンジンとは全く異なっています。
・Hyper-GI
これはfinalRender stage-1で新しく提案されたGIエンジンです。
ラジオシティ法を基にしておりアニメーションのフリッカー軽減に極めて適しています。
より短い時間でfinalRenderに類似したレンダリング結果を得る事ができます。
今回の設定ではQuasi Monte-Carloを用いました。
これらGIの設定を用いたものと用いないものでレンダリングした結果はこちらです。
GI設定無し
GI設定有り
レンダリングに要した時間は2倍程ですが画像を見て分かるようにGIを用いたものは全体的に明るい仕上がりになりました。
床の表面に見える光の具合がよりリアルに出ています。
Causticsロールアウト/
時々日本語版で見受けられるようですがロールアウトで文字表示が消えてしまっている部分があるようです。
画像で補足しておきましたが上がReflefction-Caustics、下がRefraction-Causticsの有効/無効切り替えとなります。
Control においてパラメータの値を設定してやります。
Accuracy パラメータの値はコースティックの光の滑らかさをコントロールします。
実際、以下のようにレンダリング結果を比較してみました。
Accuracy=5.0
Accuracy=500
結果からも分かるように床に映り込んだ光の質は値が高い方が現実の光に近い結果となりました。
Accelerator Engine/ロールアウト
ここでも以下のようにパラメータを設定してやります。
****mentalRay****
自分は普段はmax4.2 ユーザーなのでmax6を使って今更ながらちょっと便利だと思ったのがレンダリングの際のClone Renderred Frame Window。つまりこれの機能のお陰で設定を変える前と後のレンダリング結果を並べて比較出来る訳です。
以前ならいちいち保存していたのがこんな簡単な操作で便利になってますよ。
Render Sceneでレンダラー自体の設定をしていきます。
このレンダラー設定ウィンドウもバージョン4.2と比べ大分変わった感がありましたが実際ある程度使ってみると基本の設定やパラメータ自体は表示の仕方は少し変わっても内容としては特に大きな変化はないようです。なので特に使いにくいと感じた部分はありませんでした。
[Common]設定からAssign RendererロールアウトのProduction をmental ray Rendererに割り当てます。
finalRenderでも[現在のレンダラー]で同様に割り当てをするのとほぼ同じ操作です。
[Indirect Illumination]のIndirect Illumination ロールアウトにあるCaustics
と
Global Illuminaitonをアクティブにしておきます。
Final GatherはGIと組み合わせて使う事が可能です。
Final Gather はGIとは独立してるのでGI無しに使う事もできますがGIとFinal Gatherを両方使った方が結果は綺麗なようです。
Only GI(下に比べて映り込みがやや薄い)
GI × FinalGather(球体への映り込みが最も良い)
Only FinalGather(計算が十分で無いので光量が不足、暗過ぎ)
同様に[Renderer]設定を見てみるとレンダリングのサンプル割合やBucket幅等はここでコントロール出来ます。今回はfinalRender とmentalRayの比較なのでこういったウインドウ表示の仕方も並べて比較してみました。
結論から先に言うとmentalRayはより使いやすい表示の工夫が見られました。
![]() |
![]() |
mentalRayのレンダラー設定ウインドウ | finalRenderのレンダラー設定ウインドウ |
・1つのウインドウの中に表示されるのは1つのカテゴリー。他のカテゴリーは同時に表示されない ・カテゴリーの中に詳細に設定するためのパラメータやチェックボックスがある ・情報が整理されているので量としても適当。比較的縦方向に並んでいる |
・1つのウインドウの中に表示される内容は+と-のバーをクリックする事で切り替える。どんなカテゴリーのものでも各々ロールアウトで表示されている ・開いたロールアウトを閉じないと表示内容が縦に長くなるので下の表示を見るためにはパンする必要が生じたり情報が多すぎて見ずらくなる。つまりユーザーは開いた後にバーを閉じる操作を余計にしなくてはならない ・ウインドウの隙間を埋めるように縦横にパラメータやチェックボタンが並ぶ |
finalRenderではこういったレンダリングコントロール部分を他の内容と混ぜて一様に羅列しているのに対し、mentalRay ではレンダリングをコントロールする部分や共通となる出力部分など、各々カテゴリー化してそれらをボタンで表示切替をしています。この方が表示はすっきりしていてまとまった設定を一度にしやすいと自分は感じました。
この表示の仕方からも、どちらが情報を整理し、混乱せずに操作出来るでしょうか?
3.ライト設定
****finalRender****
シーン中にはTarget Spot とOmniがありますがキーライトとしてのTarget Spotのみに
今回はfianlRender用の設定をしていきます。
Target Spotを選択。
/[シャドウパラメータ]ロールアウト
オブジェクトシャドウをfR-Raytraced Shadwsに変えてやります。これによりfinalRenderのレイとレースシャドウは透明・不透明なマップを持つマテリアルが作るはっきりとした影を十分に作り出す事が出来ます。
実際にこのオブジェクトシャドウをレンダリング比較してみたものが以下です。
作られた影のエッジに差が出ているのが分かりますね。
オブジェクトシャドウ = OFF
オブジェクトシャドウ = ON
/[Raytraced Shadows]ロールアウト
さらにRaytraced Shadowについてオプションの設定を組んでいきます。
各々でレンダリングした結果が以下です。赤枠で囲まれたシャドウに違いが見られます。
Standard : 3dsMAXの標準レイトレーシング法が可能。
Solid : たとえ透明度の高いガラスのようなマテリアルでも不透明なシャドウを作る事が出来ます。この値を高くしてやるとシャドウはより不透明な暗い色へ近づいていきます。
Falloff : 面法線に基づいたシャドウの透明フェードを作ってくれます。コースティックスを持つ様なオブジェクトのシャドウがこれにより作られます。
最後に[Photons]パラメータを見てみます。
Photonsをアクティブにしないとコースティックスは無効になってしまうのでここで忘れずにチェックします。
レンダリングした結果でも床に映り込んだ光の粒子が有るか無いかで容易に違いを確認する事が出来ます。
Photon = OFF
Photon = ON
****mentalRay****
ここはfinalRenderの操作とほぼ同様に、ライトを選択すると画面右側に情報が表示されます。
同様にGeneral Parametersロールアウトの[Shados]からRay Traced Shadowsを選んでやります。
4.まとめ
最終的に出来たのがこちら。スペックは同様(intel Pentium4 2.88G/メモリ1G)のマシンを使用。
****finalRender****
レンダリング時間:5分7秒
****mentalRay****
レンダリング時間:6分24秒
勿論、綺麗なレンダリング結果が得られればそれでいい、という訳ではないですよね。
レンダリング時間、設定のしやすさといった点も使い心地の良いレンダラーの要素です。
自分の思い通りの結果や、よりリアリスティックを追求したレンダリング結果を得るためには設定 操作が複雑になってしまうのは避けられません。一連の流れを覚えて慣れてしまえば時間がかかったとしてもこういった問題は解決されていくでしょう。
しかし、高機能なレンダラーが汎用的に使われるためにも複雑で面倒な設定をなるべく分かりやすく情報をまとめたり流れの見える表示の工夫といったものが必要です。せっかく良いレンダラーでも操作が難しい、分かりにくい、使いにくいという理由で倦厭されてしまうのはもったいないと思うのです。
今回初めてmentalRayを使ってみたのですが想像以上に使いやすくfinalRenderと比較した結果は以下の表になりました。
個人的にもこれからもっとmentalRayを使い込んでみよう、と興味を持つきっかけになりました。
finalRender |
mentalRay |
|
使いやすさ |
★★ |
★★★★ |
レンダリング時間 |
★★★★★ |
★★★★ |
コストパフォーマンス |
★ |
★★★★★ |
仕上がりの綺麗さ |
★★★★★ |
★★★★★ |