チュートリアル / 宋さんの3ds Max キッチンスタジアム
第32回:3ds MaxでArnold / サンプル設定の実演
- 3ds Max
- Arnold
- コラム
- チュートリアル
- レンダリング
- 学生・初心者
では実際にシーンをいじりながらサンプルの設定を行っていきましょうか、、
ここで使用するシーンファイルはダウンロードできるようにしてあります。こちらからダウンロードしてくださいね。
まずはCamera(AA)の値からです。
参考までにDiffuseやSpecular, Transmissionなどはそれぞれ「2」に設定しています。Ray Depth(反射回数)もそれぞれ「1」に設定しています。使用するCPUはIntel Core i7 6820HQ 2.7GHzで3.0GHzまでブーストしています。4コアの8スレッドです。
まずはPreview(AA)のチェックは外して、Camera(AA)の値を「-3」に設定しています。
マイナスにするというのは複数のピクセルで1つのレイを飛ばすという事です。「-3」であれば3ピクセル四方で1レイという事ですから、計算の負荷は1/9という事ですね
レンダリング時間は1秒以下でノイズだらけですが、ライトの強度やバランスは理解できますね。
次にCamera(AA)の値を「1」に設定します。
だいぶまともになりましたが、ノイズはまだひどい状態です。計算時間は7秒!
次に、Camera(AA)を3にします
拡大しなければ、ノイズは気にならなくなってきましたね
レンダリング時間は、58秒です。
ただし、拡大すると結構ノイズが見えてきます。このレベルではプロダクション品質とは言えませんね
もう少しCamera(AA)を上げてみます。
次は「8」に設定してみます。
ほぼ問題ないレベルです。拡大しても若干はノイズ感ありますが問題になるほど目につきません。
計算時間はなんと、7分4秒です。
Camera(AA)を「3」にした場合はカメラから放出されるレイは「9」という事になります。「8」にした場合は「64」になりますからレイの数だけ見ても7倍ちょっと、という事です。計算時間と比較するとわかりやすいですね。Camera(AA)を「3」にした場合は58秒(1分弱)で、「8」にした場合は7分4秒です。つまりリニアに品質と時間が比例しています。実際にはDiffuseやSpecularの拡散も加わるのでリニアという表現は間違ってるかもしれませんが、おおよその目安にはなるでしょう。
では次にCamera(AA)を「3」に戻してDiffuseのサンプルを4にしてみます。
計算時間は1分45秒です。参考までにDiffuseを「2」にしたものと「4」とでどのくらい差があるのか比較してみましょう。
左がDiffuse「2」、右側が「4」に設定したものです。
計算時間が2倍弱ほどですが、結果として時間がかかった割にさほど変化が少ないのがわかります。
今度は思い切ってDiffuseを「8」に設定します。
計算時間は4分47秒。「4」に設定した場合と比べて3倍近くかかっているのに差が出ていません。
なぜ!?
画像をよく見ると、手前にある金属質のオニギリみたいなものにノイズが見受けられます。あと、後ろの黄色い物体に黒ノイズがかぶってますね、
そこでDiffuse以外のサンプルを上げてみましょう。
Diffuseは「2」に戻して、Specularを「4」にあげてみます。その結果が下図です。
どうでしょう、金属質のノイズが随分と削減されています。つまり、設定を上げても消えなかったノイズ成分は拡散反射光ではなく、Specular(鏡面反射光)のノイズだったわけです。
ちなみにこの計算時間は2分46秒でしたので、Diffuseの設定をむやみに上げるより効果が出てるのがわかりますね
最後にSpecularの値は「4」のままで、Camera(AA)を「6」程度にあげて計算してみます。
計算時間は10分55秒。一番時間がかかりましたが、問題のないレベルですね。
パストレース型レンダラーの場合は、ノイズの低減は永遠のテーマになりますが、Arnoldのように光の要素を個別に設定できると、無駄な計算をさせずに効果的にノイズを減らすことができます。あとカメラからのサンプル数が品質と時間に影響が出るかわかりますね。
Camera(AA)の値を上げれば、ノイズは消えるのは分かったけど、時間がかかりすぎる。そこで、むやみにカメラのサンプルを上げずに、ノイズの要因となっている光の要素を探し出してその要素だけサンプルを上げるというアプローチが無駄のかからないフローとなります。
ただ、毎回毎回テストレンダリングするわけにもいかないので、次回はActive ShadeとAOVの機能を組み合わせて短時間でノイズの発生要因を探し出す方法をご紹介します。