概要
Blenderで3DCGをやることにはまっているのですが、モデリングの後のレンダリングの時間がとてもかかっているため、少しストレスと感じるようになりました。
高性能なGPUを利用するという方法もありますが、なるべくならばお金をかけずに解決したいです。
そこで、私がレンダリング時間を短くするために行っていることを紹介します。
環境
- mac mini 2018
- macOS 12.2
- Blender 3.0.1
レンダリングに時間がかかる
レンダリングに時間がかかる原因として、フォトリアルなレンダラーであるCyclesを利用しているのが原因です。他にもEEVEEというゲームエンジンなどに用いられる軽いレンダラーも用意されているのですが、せっかくならばきれいにレンダリングしたいところです。
また、レンダリングを高層化する方法としては、GPUを利用するという方法もあるのですが、私が現在利用しているのはmacですので、BlenderがGPUによる出力に対応しておらず、レンダリングに時間のかかる、CPUの利用しかできません。
レンダリングに時間がかかるというのは、たくさんの計算をしているため、当たり前のお話ですので、夜など時間のあるときに、時間がかかるのを覚悟の上で行うという方法も考えられます。しかs、なるべくならば、レンダリングの時間を短くして、早めに結果を知りたいものです。
レンダリング時間を減らす方法
レンダリング時間を減らす方法として、私がやっているのはレンダーの設定を変更するということです。
レンダーでは、最大サンプル数という設定ができるようになります。こちらをデフォルトの4096から別の値に変更します。私は256としています。最大サンプル数は256ですが、もう少し少なくても良いかもしれません。
最大サンプル数の他にも、デノイズの設定もします。デノイズの設定をすることで、出力に含まれる画像からノイズを消すことができます。デノイザーを切り替えることで、デノイズの処理を変更することができます。私が利用しているのは、「OpenImageDenoise」というもので、CPUを利用したデノイズで結果がかなり良いとされています。
今回の設定は、私のモデリングしたものについて、このような設定で良かったということになります。どのようなものをレンダリングするかで、これらの設定を変える必要があるかもしれません。特にデノイズについて、細かいものはノイズを消す際にぼやける可能性が高いので、そのような場合は、デノイズの前にノイズを減らすために最大サンプル数を増やす必要があります。
結果について
今回、最大サンプル数を256とデフォルトの4096として、どちらもデノイズをしたものを比較してみました。解像度は1920×1080です。カメラの設定で被写界深度をオンにしているため、遠くや周りがぼやけているように見えるのは、仕様です。モデリングしたものは、私がつくったものになります。
こちらは、最大サンプル数を256にしたものです。レンダリングにかかった時間は5分19秒です。
次に、最大サンプル数を4096としたものです。レンダリングにかかった時間は25分47秒です。
見比べてみると、ほとんど違いがないと分かります。交互に見比べてみれば、多少の差異は確認できるのですが、見比べないと分からないというレベルでした。
レンダリング時間についても、5分1程度まで少なくなっています。実は、最大サンプル数を4096としていたものについて、およそ半分を超えたあたりから高速でサンプル数が増加するようになりました。もう少し複雑なモデリングをしている場合は、もっと時間のかかる可能性が高いです。
今回、カメラの被写界深度を設定したので、遠くや周りがぼやけています。そのため、サンプル数の違いやデノイズによる差が分かりにくくなったというのはあるかもしれません。このように、多少の劣化はカメラの設定などでごまかすという手法が使えるかもしれません。
さいごに
画像のみ出力する場合は、多少時間がかかっても許容できますが、アニメーションなどの動画を作成するときは、これではあまりにも時間がかかりすぎて大変です。そのような際は、今回のサンプル数やデノイズを用いて、なるべくレンダリング時間を少なくした方が良いと思います。