DAZ Studio を始めてそろそろ 1 年になるのですが、最近になって Render Settings の細かい項目をいじれるようになってきました。 まぁ、なんとなくなんですが …。
最終的なレンダリング画像のクオリティーをあげたい場合の設定とか、早くレンダリングを終わらせたいときの設定とか、動画用の連番画像をレンダリングするときの設定とかを使い分けられるようになってきました。
今回は備忘録としてそれらをまとめておきたいと思います。
※あくまで個人的な主観・PC 環境に基づいたの設定なので、こうしなくちゃダメとか、こうした方がいいというものではありません。
目次
1. 画像のクオリティーをあげたい場合のRender Settings
時間的な制約は考えずに、最終的なレンダリング画像のクオリティーをあげたい場合のセッティングです。 レンダリングに何時間もかかる場合もあるので、寝る前にレンダリングを開始して、朝までに終わってればいいかな … という場合です。
Texture の圧縮を無効にする
DAZ Studio ではレンダリング時にテクスチャを圧縮しているようで、圧縮するテクスチャの寸法をしきい値で変更できます。 これは Render Settings ペインの Advanced にある「Texture Compression」という項目にあります。
Medium Threshold は低圧縮を適用するテクスチャサイズのしきい値、High Threshold は高圧縮を適用するテクスチャサイズのしきい値となっています。 デフォルトでは下記のような設定になっています。
Medium Threshold | 512 |
High Threshold | 1024 |
けっこう小さいサイズから圧縮してますね。 なのでクオリティーをあげたいときは、テクスチャを圧縮しないようにおもいきりしきい値を大きくしています。 例えば 4096 とか 8192 とか。
キャラクターをアップで撮りたいとき、ディテールがいまいち出ない … といったときには有効だと思います。
Rendering QualityはMaxにする
次に Progressive Rendering の設定です。
Max Samples はデフォルトでは 5000 になっていると思います。 これはご存知のとおりレンダリングの途中、100% までいっていなくても 5000回まわした時点で終了する … という設定です。 100% になる前に終了するのを防ぐため、これを Max の15000 にします。
同様に Max Time (secs) も Max の 259200 にします。 デフォルトでは 7200 秒 ( 2時間 ) になっているので、2 時間経つと終了になります。
Render Quality も Max の 10000 にします。 デフォルトでは上限が設けられていませんが、Use Limit を使うと上限が 10000 になっていたので 10000 にしています。
そして Rendering Converged Ratio は 100% に設定しています。
2. 時間を短縮したい場合のRender Settings
DAZ Studio というか Iray はとにかくレンダリング時間が長いので、少しでもレンダリング時間を短縮したい … というときの Render Settings です。 まず前述した Texture の圧縮は忘れずに有効化しておきます ( デフォルト値に戻す )。
Max SamplesまたはMax Timeを下げる
レンダリング時間を短くしたい場合は、Max Samples を下げます。 デフォルトでは 5000 になっているので、1000くらいにします。 この場合はレンダリングが 1000 回まわるまで続くので、5 分になるか 10 分になるかはわかりません。
時間で指定したい場合は Max Time (secs) を調整します。 デフォルトでは 7200 秒 ( 2 時間 ) なので、たとえば 10 分で終わりにしたい場合は 600 にします。
でも時間を短縮すると、当然画像のクオリティーは下がります。 また短くしすぎるとノイズが目立ってしまう場合があります。 そういう場合は Post Denoiser ( ノイズ除去 ) を活用しています。
Post Denoiser を有効にする
ノイズを低減する Post Denoiser を有効にするには、Filtering グループ内にある Post Denosier Available と Post Denoiser Enable を On にします。
Post Denoiser Start Iteration はデフォルトで「8」になっていると思います。 これはレンダリングが 8 回まわるごとにデノイズする … ということらしいです。 例えば Max Samples を 1000 にした場合は、1000 / 8 で、途中で 125 回デノイザーがかかるといった感じでしょうか。
下記のシーンはライティングは IBL で、床とキャラの背面に壁を設置しただけのシンプルなシーンです。 ノイズが出やすいように若干暗めのライティングにしてあります。 まずはデノイザーを Off にして、Max Samples は 1000 でレンダリングしてみました。
ちょっと構図確認用とか、ライティング確認用とかにレンダリングしたい場合にはアリだと思います。
また Post Denoiser は Iray のビューポートでも機能します。 Iray ビューに切り替えて、レンダリングが 8 回まわったときに ( Post Denoiser Start Iteration が 8 の場合 )、下記のようにノイズ除去されたレンダリングに変わります。
Post Denoiser が動かない場合
Post Denoiser はグラボを使用しているときだけ動作するものなので、CPUも使うような大きなシーンだと機能しないそうです。 そういった場合は、テクスチャの圧縮を見直したり、カメラに写っていないオブジェクトを非表示にしたりして、シーンを軽くすれば OK です。 特にオブジェクトの数が多いシーンだと、テクスチャの圧縮を見直すと効果的です。 また DAZ Studio を再起動するのも有効です。
下記の室内シーンは、カメラに写っていないところにベッドやチェスト、小物などがたくさんありました。 そのままだと重くて Post Denoiser が機能しなかったので、不必要なオブジェクトを非表示にすると機能するようになりました。
3. 動画用の連番画像レンダリングする場合のRender Settings
DAZ Studio では動画用に連番で画像を書き出すことができます。 連番で画像を書き出したい場合は Render Type を Image Series にすれば OK です。 Render Range でタイムライン上のフレームの範囲を指定します。
例えば 30 FPS で動画を作ろうと思ったら、動画 1 秒間に 30 枚の画像が必要になります。 10 秒程度の動画でも 300 枚の画像が必要になります。
なので一枚一枚の画像のレンダリングに時間はそんなにかけられません。 僕は一枚レンダリングするのに 1 分以下を目安にといった感じでレンダリングしています。 具体的には下記のような設定です。
画像のサイズを小さくする
例えば 16:9 の比率で画像を作るときは、480 × 270 か 720 × 406で作っています。 画像の寸法が小さい方が、当然レンダリング時間が短くなります。
Max Samplesを100くらいに
画質を左右する Max Samples ですが、これが高ければ高いほど画質はよくなるけれど、その反面時間がかかってしまいます。 なので思い切って 100 くらいにしています。 当然ノイズが多いので、Post Denoiser を併用してノイズを減らします。
下記の画像は 720 × 406 px で、レンダリング時間 58秒でした。 動画用の画像としては、十分じゃないかなと思います。
完成した動画が下記になります。
dejimuさんからのコメント
いつも参考にさせて戴いております。
Start Iteration 8はキャンバスが更新された時に8回サンプリングされていればデノイズされますが、次回は8回サンプルごとではなくキャンバスが更新される度にデノイズがかかると思います。
キャンバスの更新はMin Update SamplesとUpdate Intervalで決まると思うのですが、どうもレンダリングが進むと設定通りにならないので他にも要因が有りそうですが分かりません^^;
また、デノイズ効果は累積されないので、最後に1回かかる様に設定するとレンダリング時間を短くできます。
GPUメモリが不足した場合は、DAZ Studioを再起動すると解消する場合も有ります。
レンダリングを途中でキャンセルして画像を保存しないで閉じるとメモリが解放されないっぽいです。
Noriさんからのコメント
dejimu さん、こんばんは!
こちらこそ「三次元おねーさん」楽しみに読ませていただいています。
デノイズのタイミングはキャンバス更新時に変わるんですねー。
なるほど、勉強になります!
最後に一回かかるように … というのは kobamax さんのブログ記事にも書いてありましたね。
やっぱり詳しい人はそうしてるんですねー。
うちの環境だとデノイザーがいまいち安定してなくて、連番画像を書き出してるときに途中からまったく機能してないことが何回かありまして …
グラボのメモリ不足からそうなるんだと思いますが、不安だったので毎回 8 回にしてました w
そうするよりメモリを節約する方が安定しそうですね!
とても参考になりました。
コメントありがとうございますー!