元ネタが2010年のものなので古いですが、多少は参考になるかと思い”Tips and Tricks on how to speed up rendering”という海外の記事を、ざっくりと訳してみました・・・。
bitmap pagerについては64bitOSになってからはオフにした方が、レンダーは速くなるのが現在の通説のようです。
あと、割りとVRayの話が多いようです。
うまく訳せていない部分も有りますので、コメントなどでツッコんで頂ければと思います・・・。
・ネタ元のページ
https://forums.creativecow.net/thread/18/857286
1.) ポリゴン数を出来るだけ最小限に抑える、ポリゴン数が多いとレンダリングは遅くなる
2.) VRayを使っているなら、ポリゴン数が多いものはプロキシ化する
3.) シャドウにサブディビジョンを必要以上にかけない
4.) シーンに不要なものは削除する
5.) 大きなテクスチャを使用しない
6.) マテリアル設定を見直す。光沢(glossinessやhighlights)を使い過ぎないで、シンプルなディフューズとバンプと反射(0.95~0.75ぐらい)で設定する、archshader(EverMotionの素材集?)を使わない。
7.) ハイポリゴンのオブジェクトは、そのオブジェクトがカメラの近くに映る時にだけ使用する
8.) エクステリア(外観のシーン)で、Vraysunとskyライトを使うよりも、標準のダイレクトライト(太陽光として)とVRay environment lightを使う方がレンダー速度が速い。ただし、太陽と空の効果を出すために色を調整する必要はある。
9.) コピーとインスタンスの違いを知り、使い分ける。シンプルな方法だが効果的。
10.) purge undo window, specially commands on the list that eat up memory..
※すいませんここ意味がわからなかったので原文のせておきます。
アンドゥのデータを消せという意味でしょうか?
11.) アンチウイルスソフトなどはオフにしておく、もしくはインストールしない(ノートンやマカフィーなどは多くのメモリーを消費する)。スクリーンセーバーやVistaのeyecandyなどもオフにする。
12.) モデルの小さなディテールよりも、マップを効果的に使用する。
13.) Xref Sceneを使用する。
14.) ポリゴンリダクション用プラグインmootoolszのpolycruncher(https://www.mootools.com/plugins/us/polygoncruncher/)を使う。
15.) カーブ、メッシュスムーズを作るときに、iteration(反復)に気をつける。
16.) VRayのイラディアンスマップを使う時は、マテリアルの反射と屈折の設定項目に有るinterpolationにチェックを入れる。(InterpolationのMin/MaxとイラディアンスマップのMin/Maxを揃えるとよい)
ただし、GIの設定によってはこれをオンにしていると結果がおかしくなることがある。
(Interpolationは光沢を疑似的に補完し、レンダリング時間を大幅に減らしてくれる機能)
17.) コースティクスは時間がかかる。
18.) VRayのファーストパスは、ブルートフォースかイラディアンスマップをケース・バイ・ケースで使い分ける。
19.) ノイズスレッショルドとアンチエイリアスのsubdivisionはケース・バイ・ケースで設定する。
20.) つや消しのマテリアルと光沢・反射のマテリアルに気をつける(ケース・バイ・ケース)
21.) pyhsical cameraの被写界深度ではなく、Z深度素材を出力し、Photoshopでプラグイン( Alien Skin's DoFやRichard RosenmanDoF Generator PRO)を使用してボケを表現する。
22.) ポストプロセスはレンダリングワークフローを短くする。レンダーチャンネルから出せる素材のバリエーションを知るべし。
23.) Evermotion Archshaders と Archinterior/Exterior Materialsは行き過ぎた設定になっている、それらをいじらずに使うような怠慢をしてはいけない、誰かが作ったものをそのまま使うようなことは良くない。
24.) イラディアンスとライトキャッシュは、"Save to file"を使うと、何度も使うシーンで計算をスキップすることができる。
25.) 解像度とイラディアンスマップの設定のバランスを考える
26.)全てのシェーダーを割り当てる前に、マテリアルのオーバーライドを試す。
全てのポリゴンが正しくモデリングされているかテストレンダリングし、
どのマテリアルがレンダー時間を伸ばしているのかを判別するのを簡単にするためである。
27) 多すぎるライトはレンダリング時間を増長させる。
28) テストレンダリングは、常にデフォルトパラメータを使用する。
29) 私(この原文の著者)にとって、 Adaptive SubdivisionよりもAdaptive DMCが好みだ。
30) Raycast Parameterはレンダリング解像度やフレーム数などと同様にしっかり確認すべし。
31) VRayディスプレイスメントモディファイヤを使用する場合、2D mapping を使用しているなら、範囲を制限してみる。
32) 64bitの3dsmaxを使う
33) Xrefの効果は非常に大きい。主にその効果は、マスターシーンを保持しつつ大規模なシーンをリンクできることにある。
34) オブジェクトをアタッチする。3dsmaxはポリゴン数1000のオブジェクトが200000個あるシーンより、ポリゴン数10000のオブジェクトが9000個ある方が効率よく動作する。個々にアニメーションされていない要素を全てアタッチすることは、かなりの速度アップとシーンの柔軟性アップが見込める。
(原文のまま訳してみましたが、ポリゴン数10000のオブジェクトが9000個あるシーンの方が総ポリゴン数9千万で少ないから速いの当たり前じゃん・・・、となるのですが、おそらく著者はオブジェクト数が少ない方が効率が良い、ということを言いたいのだと思います。。。)
35) GeometryProxyを使う。MentalRayやVrayにある機能で、ジオメトリーを最適化し、レンダリングが効率化される。
36) ビットマッププロキシはシーンで消費するメモリ量を大幅に小さくする方法です
37) データの一元化。これはどんなプロジェクトでも組織的な水準を上げる。
38) ローカル環境で作業する。ネットワーク上にデータを保存すると、トラフィックなどの原因でデータの破損をまねく可能性がある。
39) レイヤー、グループ、選択セット。組織化された3dsmaxユーザーはこれを1度以上は使っている。
40) Maxscriptを使えば、繰り返しの骨が折れる作業を簡単にできる。多くの時間を削ることができ、標準機能では出来ないことも可能になる。
41) PhotoshopやAfterEffects、Combusionなどによる合成作業を覚えると多くのレンダー時間を削ることができる。
42) 写真術を理解し、自分の目を鍛える。レンダリングを始める前にどのようなビジョンが良いのか考える。レンダー途中で間違いに気付ければ、全てのレンダリングが終わる前にキャンセルすることで時間をムダにしなくて済む。
43.) ビットマップは特にサイズが大きいほどメモリーを大量に消費する傾向がある。VRayはこれらのメモリー消費を直接コントロールする方法がなく、3dsmaxに依存している。しかし、Bitmap pagerを使えばメモリー消費を抑えられる。
(bitmap pagerは32bitOS時の名残で、昔はデフォルトでONになっていたそうですが、現在はbitmap pagerはOFFにする方がレンダーが速くなる、というのが通説なようです)
44.)マルチコアCPUを使っているならmulti-threadingオプションを利用する。
45.) テストの際は解像度を低くする。
46.) RegionRendering(範囲を指定してのレンダリング)は、シェーダーの微妙な違いのチェックを何度も行う際に有効
47.) 光沢効果を追加しない。シーンが正常だとされるときに追加する
48.) シーンに多くのオブジェクト、(三角ポリゴン)があると多くのメモリーがレンダー時に必要になる。
V-RayでSystemロールアウトのraycasterの設定を調整することで対処ができる。具体的には次のような変更を試す。Max levelsを下げる、Min leaf size を上げる、Face/level coefを上げる。StaticからDynamicDefaultGeometryに変更する
49.) 2Dマッピングによるディスプレイスメントマップは、特にマップサイズが大きい際、レンダリングに多くのメモリーを消費する。この場合3Dディスプレイスメントマップを使用する。
また、異なるいくつかのディスプレイスメントモディファイヤに同じマップを使っている場合、それらを一つのモディファイヤにまとめた方が良い。これはそれぞれのモディファイヤが、同じマップを使っているにもかかわらず、それぞれにメモリーを消費するからである。
50.) Bitmap filteringのSummed areaはPyramidal filteringよりも多くのメモリーを消費するため、小さいサイズの画像にのみ使用する
51.) シャドウマップはかなりのメモリを消費することがある、これも3dsmaxによってメモリ消費をコントロールされているのでVRayが直接コントロール出来ない。そのため、メモリー消費を抑えるために、VRayShadowを使用する。
52.) イメージバッファー、解像度の高い出力は多くのメモリーを必要とする、加えてG-buffaチャンネルはその量を増やす。
このメモリ使用量を減らす方法は以下、
もし3dsmaxのデフォルトのVFBを使用しているならば、Bitmap pagerを使う。
もしVRayのVFBを使っているなら、VRay raw image file optionをレンダー結果を別のフォーマットに変換するためにVRay raw image file viewerを使う
(bitmap pagerは32bitOS時の名残で、昔はデフォルトでONになっていたそうですが、現在はbitmap pagerはOFFにする方がレンダーが速くなる、というのが通説なようです)
53.) Vrayのイメージサンプラー(アンチエイリアス)はいくらかのメモリー消費が必要となる。この容量はサンプルレートとバケットサイズにより大きくなりうる。これを削減するには、バケットサイズを小さくする。別のイメージサンプラーに切り替える、例えば Adaptive DMC samplerはAdaptive subdivision samplerよりもメモリの消費量が少ない。
54.) GIキャッシュであるイラディアンスマップ・フォトンマップ・ライトマップは全て追加のメモリーを必要とし、それぞれ異なったメモリー管理方法が取られている。
イラディアンスマップのメモリーは、サンプル数に依存しており、Min/Maxの値を下げたり、thresholdの値をゆるくする(Colro thresholdとNormal thresholdを高くし、Distance thresholdを下げる)ことで対処できる。
フォトンマップのメモリーは、フォトンの数に依存しており、これはVray light propertyのDiffuse sbdivsを下げることや、Max densityを上げることで対処できる。
(ライトマップについては原文に記載がありませんでした・・・)
55.) 必要でなければtrace depth controlは低い値に設定する
56.) Vray VFBを使用しても標準のVFBは生成されメモリーを消費する。そのためGET RESOLUTION FROM MAXのチェックを外し、3dsmax側の解像度設定を100x100以下などの小さい値に設定し、VrayVFB optionの設定で解像度を設定する。
57.) シーンを検査する。不要なポリゴンが大量にないか、カメラに見えないのに多くのモデルが存在していないか、エディターに使用してないマテリアルはないか、など
meaning, sometimes we think that our render setup is hampering the rendertime, but if we just inspect our scene, the things mention above are factors that affects.
レンダー設定がレンダー時間を伸ばしているのでは?、と考えがちだが、シーンを検査すると上記の原因が見つかることが多々ある。
58.) autocadで作られたモデルは、原点から遠くはなれたところにあることが有り、これはレンダリグ時間を長くする原因になる。場合によってはautocadに戻って、原点にモデルの位置を修正する必要がある。
59.) オブジェクトやメッシュが重なっているとレンダリング時間が長くなる。
60.) 高解像度の画像を一度にレンダリングするのは時間がかかる。split renderingやSuper Renderのようなプラグインを使用するとよい。これはシーンをバケットウィンドウに自動分割し、それらのレンダリング結果を最後に結合するツール。
参考ページ:https://tech.autodesk.jp/faq/faq/adsk_result_dd.asp?QA_ID=4628
0 件のコメント:
コメントを投稿