株式会社コロッサスへようこそ

menu

Colossus Studios

アーノルドレンダー検証 その32

Arnold Denoiser “NOICE” for Nuke

現在Arnoldに搭載されているNOICEは、コマンドパネルからしかアクセスできず、GUIも装備されていないためまだまだ使いにくいのですが、このNOICEをNuke上で使用できるように工夫しているサイトをいくつか発見しました。

そのうちの一つ「Arnold Noice panel for Nuke」を紹介いたします。

Arnold Denoiser for Nuke download

Nukeスクリプトをダウンロードして解凍すると、このようになっていますので、.nukeフォルダに移しておきましょう。
init.pyがすでにある場合は、最後尾にこのinit.pyの内容を追加記述しておきます。

Nukeを立ち上げるとツールバーにアイコンが登録されています。
デノイズ処理したいリードノードを選択してコマンドを起動します。
リードノードで読み込まれるOpenEXRは、最低限前回で紹介したルールで作成されている必要があります。

専用のコマンドパネルが出てきます。
noice.exe(optional)にnoice.exeのパスを指定する必要があります。
標準的なファイルパスはこのようになっているはずなので、
C:\solidangle\mtoadeploy\2018\bin\noice.exe
右側のように右クリックでペーストしてファイルパスを指定しましょう。

 

Denoise Settingsの意味はたぶんこういうことです。
patch Radius
すべてのピクセルで、ノイズは隣接パッチとみなされ、同様な隣接パッチを持つ他のピクセルが検索されます。既定値は 3 に設定されていて、隣接範囲は 7 x 7 の正方形になります。
Search Radius
すべてのピクセルで、ノイズはsearchradius で設定された半径を持つ正方形領域を検索します。この領域が大きいほど、ノイズ除去の安定性は高まり、考慮しなければならない類似した隣接範囲が見つかる可能性は高くなります。既定値は 9 で、隣接範囲は 19 x 19 の正方形になります。
Variance
ノイズを除去するときのノイズのアグレッシブさをコントロールするには、variance を使用して変動しきい値を設定します。既定値は 0.5 です。値が大きいほど、カラーの差異が大きい類似した隣接範囲であるとみなして、よりアグレッシブにノイズを除去します。
Temporal Range
ノイズを除去したいフレームの前後フレームを複数指定し、アニメーション時でもちらつきのないデノイズを行います。

処理が始まるとこのようにNukeのコマンドプロンプト上で進行を確認することができます。(結構重いみたいです)

デノイズ処理が終わると、自動的にリードノードが作成されて確認することができます。

このように、アニメーションでも使用できる便利なNukeスクリプトですが、処理が少々重いのと、いちいちリードノードごとに処理する必要があるので、Arnoldには専用GUIを早く装備して欲しいと思います。