Blenderでレンダリングが重い場合にやっておくと軽くできる設定をまとめています。Blender5.0以上対応。
- GPU演算を使用する
- 永続データをオンにする
- ノイズしきい値を見直す
- 最大サンプル数を見直す
- etc
…と色々設定できます。基本ある程度のPCスペックがあればデメリットなしでできるものから画質とトレードオフになるものもあるので自分の目的にあったものを見つけてください。
※Cyclesでレンダリングする前提です。
基本デメリットなしでできるもの
レンダリングの設定は基本画質とトレードオフになるものが多いですが、以下はPCのスペックがある程度あれば基本デメリットなしでレンダリングを軽くできるのでとりあえず設定しておくのがオススメ。
- GPU演算を使う
- 永続データを使用する
- オブジェクトのインスタンス化
GPU演算を使う
ミドルスペック以上のGPU(グラフィックボード)を積んでいるのならまずこのGPU演算を使用するようにするのがオススメ。これだけでレンダリング時間が1/10以下になることも多い。
当然ながらGPUがない場合は意味がなく、GPUがあっても性能が低いものは効果が薄いです。未だにGTX1050Tiで頑張ってるとかCPU内臓のGPUでも指定しない限り効果はあると思いますが…。
GPU演算を設定する場合、まず上のメニューから「編集」→「プリファレンス」を選択する。
プリファレンスが出てきたら左のメニューから「システム」を選択し、「Cyclesレンダーデバイス」から任意のものを選択する。NVIDIA製のGPUならCUDAかOptixのどちらかにPCに積んでいるGPUの項目があるのでそれにチェックを入れる。
次にプロパティから「レンダー」を選択し、「デバイス」を「GPU演算」に変更する。
GPU演算の文字が灰色だと選択しても利用できないので上のプリファレンスのレンダーデバイスを見直す。
永続データを使用する
永続データとはレンダリングデータをメモリに保存して流用することで、再レンダリングやアニメーションの際の計算をカットするというもの。
動画or連番画像として出力する場合には基本効果があるが、1枚の画像出力だけといった場合は効果がないです。
メモリを使う以上メモリが少なかったりするとクラッシュする可能性があるので他のアプリを閉じるなどをしてメモリを確保すること。
永続データの設定をする場合、プロパティから「レンダー」を選択し、「パフォーマンス」→「最終レンダー」と選択して「永続データ」にチェックを入れる。
オブジェクトのインスタンス化
1つのオブジェクトをいくつかコピーして使い回す場合はコピーではなくインスタンス化で使い回すとレンダリング時間が短くなる。
ただしインスタンス化したオブジェクトを1つでも変形させると他のオブジェクトも自動で変形されるため、アニメーションやシェイプキーなどで変形しているオブジェクトには使えないのが欠点。
オブジェクトのインスタンス化はインスタンス化したいオブジェクトを選択して「Alt」+「D」キーを押す。
効果は高いが画質とトレードオフになるもの
以下はレンダリングの高速化に大きく影響するが画質とトレードオフになるやつです。ある程度画質を妥協するならやっておくといいです。
- ノイズしきい値を大きくする
- 最大サンプル数を小さくする
- デシメート化でポリゴン数削除
- テクスチャサイズを小さくする
ノイズしきい値を大きくする
ノイズしきい値とは簡単にいうとレンダリング中に発生するノイズを制御する項目。レンダリング中ある程度ノイズが発生していないと判断したら残りのレンダリングをスキップするのだがそのしきい値を決めるもの。
この値を大きくするだけでレンダリング時間が1/10に短縮されることもある。が、霧かかっていたりガラスなど半透明部分の反射・屈折などがある場合は画質にかなり関わってくるのでそこは値の調整が必須。
ノイズしきい値を調整する場合はプロパティから「レンダー」を選択し、サンプリング→レンダー→ノイズしきい値を0.01より大きい値(0.1など)にする。
レンダーの最大サンプル数を下げる
上のノイズしきい値とほぼ同じになるがレンダーの最大サンプル数を下げてみるのも手。初期値だと4096となっているが1/4の1024にするだけでもかなり速くなる。
もちろんサンプル数を下げると画質も下がるが通常のシーンであれば4096とかは必要はないはず。ちょっとしたジオラマとかなら思い切って64とかまで下げても十分かもしれない。
レンダーの最大サンプル数を調整する場合はプロパティから「レンダー」を選択し、サンプリング→レンダー→最大サンプル数を4096より小さい値にする。
レンダーの最大サンプル数を下げる場合はついでにビューポートの最大サンプル数を同様に下げておくとよし。
デシメート化でポリゴン数削除
デシメートとはオブジェクトの形状をできる限り保ったままポリゴン数を削除するモディファイア。つまりローポリ化。ポリゴン数が減ることでモデルそのもののサイズが軽くなるのでレンダリングも軽くなる。
レンダリング時間としてはデメリットはないが、ポリゴン数を削ることでオブジェクトの見た目が多少なりとも荒くなるので見た目にとことんこだわる場合は使いづらいかも。
デシメート化する場合はまずプロパティから「モディファイアー(スパナのマーク)」を選択し、「モディファイアーを追加」をクリックする。
「生成」→「デシメート」を選択する。
テクスチャサイズを小さくする
マテリアルで使用しているテクスチャのサイズを小さくするとレンダリングが速くなる。特に4Kより大きいサイズのテクスチャはカメラを近くに寄せても違いはまずわからないとのことで大きくても4Kにするといいらしい。
プロパティから「レンダー」を選択し、「簡略化」→「レンダー」→「テクスチャ上限」を設定する。簡略化にチェックを入れるのを忘れずに。
シーンによっては効果があるもの
以下はシーンによってはレンダリングの高速化に効果があるもの。こちらも当然ながら画質とのトレードオフです。割と限定的になるので使えたら、という感じ。
- カメラカリングをオンにする
- 間接照明の値を変更する
- レイの可視性の影をオフにする(窓ガラスの簡素化)
- 高速GI近似化を使う
カメラカリングをオンにする
カメラの視野外にある部分の計算をしないようにする機能。余計な部分の計算をしなくて済む一方光の反射などには影響が出るので半透明・屈折ありのシーンは注意。
カメラカリングをオンにする場合はまず3Dビュー画面で「A」キーを押して全選択状態にし、プロパティから「オブジェクト」→「可視性」→「カリング」と選択し、「カメラでカリング」にチェックを入れる。
次にプロパティから「レンダー」→「簡略化」→「カリング」と選択し、「カメラでカリング」にチェックを入れる。
間接照明の値を変更する
Blender上では間接光の計算はかなり重いらしく、間接光周りの値を調整することでレンダリングが速くなることが多い。
間接光の計算を軽くしたい場合はプロパティから「レンダー」を選択し、「ライトパス」→「制限」→「間接照明」の値を小さくする。
レイの可視性の影をオフにする
窓ガラスなどの半透明部分の反射・屈折を妥協するならレイの可視性の影をオフにする手もある。
プロパティから「オブジェクト」を選択し、「可視性」→「レイの可視性」→「影」のチェックを外す。
高速GI近似化を使う
高速GI近似化は背景色のアンビエントオクルージョンでディフューズ色の間接光を近似するというもの。
上でも書いたが間接光の計算はかなり重いらしく、これをオンにするだけでレンダリング時間がかなり速くなるらしい。が、シーンによっては著しく画質が劣化することがありケースバイケース。他の人のブログを見ると流体が黒く濁ってしまうとかあるらしい。
高速GI近似化を使う場合はプロパティから「レンダー」を選択し、「ライトパス」→「高速GI近似化」にチェックを入れる。