MRが楽しい

MRやVRについて学習したことを書き残す

Blender 2.9のCyclesのレンダーエンジンでデノイズを使ってノイズ除去を設定する

本日は Blender2.9 の小ネタ枠です。
Blender 2.9の Cycles のレンダーエンジンでデノイズを使ってノイズ除去を設定する手順を記事にします。
f:id:bluebirdofoz:20201130001759j:plain

サンプルシーン

以下のような Cycles のレンダーエンジンで画像を出力するサンプルシーンを用意しました。
f:id:bluebirdofoz:20201130001812j:plain

例えば、このシーンをそのままレンダリングすると以下のような画像が出力されます。
光で照らされた部分などを確認すると、レンダリング結果にノイズがのってしまっていることが分かります。
f:id:bluebirdofoz:20201130001822j:plain

Cycles ではサンプリングの値が低いとこのようにノイズが発生してしまいます。
サンプリング数を増やすことでノイズを低減できますが、レンダリング時間が長くなる弊害が発生します。
今回はこのコンポジットノードを編集してレンダリング後の画像処理でノイズを除去してみます。

コンポジットでのノイズ除去の設定

最初にデノイズを利用するため、デノイズデータを有効化します。
[ビューレイヤープロパティ]タブを開き、[パス -> データ]パネルで[Denoising Data]にチェックを入れます。
f:id:bluebirdofoz:20201130001835j:plain

次にコンポジットを設定します。新しいウィンドウを作成し、[コンポジター]を開きます。
f:id:bluebirdofoz:20201130001844j:plain

[コンポジター]を開いたら[ノードを使用]にチェックを入れて、コンポジットのノードを表示します。
f:id:bluebirdofoz:20201130001853j:plain

メニューから[追加 -> フィルター -> デノイズ]を実行してデノイズノードを追加します。
f:id:bluebirdofoz:20201130001907j:plain

追加したデノイズノードを以下のように接続します。
・[レンダーレイヤー]の[Noisy Image]出力と[デノイズ]の[画像]入力
・[レンダーレイヤー]の[Denoising Normal]出力と[デノイズ]の[ノーマル]入力
・[レンダーレイヤー]の[Denoising Albedo]出力と[デノイズ]の[アルベド]入力
・[デノイズ]の[画像]出力と[コンポジット]の[画像]入力
f:id:bluebirdofoz:20201130001915j:plain

この状態でレンダリングを行うと、以下のようにノイズ除去が行われたレンダリング結果が出力されます。
f:id:bluebirdofoz:20201130001924j:plain