静止ノイズを無くす方法 [Blender Cycles]

スポンサーリンク
スポンサーリンク

1点にとどまり続けるノイズ

BlenderのCyclesでレンダリングする際のお話です。

こんな映像をレンダリングしました。

ノイズ部分を拡大した動画が以下です。

カメラが動いているのに、ノイズだけ止まっているように見えると思います。これは現実のカメラで撮影した映像には見られない現象です。つまり、こんなことが起こっているとCG臭くなってしまうということです。

現実のノイズは、フレームごとにバラバラで、動画にすると、細かい点が暴れまわっているように見えるはずです。

以下の動画が完成形です。ノイズが動き続けて、自然な形になっています。ちなみに、明るい点がチラチラしているのは、Firefliesと言い、サンプリング数が少なすぎることによるノイズです。今回はこちらは無視します。

ノイズがとどまる理由

BlenderCyclesのサンプリングの仕組みに理由があります。

Cyclesでは、光の道筋を計算するためにPath tracing(パストレーシング)という手法を使っています。このパストレーシングは、Monte Carlo Method(モンテカルロ法)と呼ばれる、乱数をベースにした手法を使っています。したがって、このノイズたちのパターンは、モンテカルロ法に使う乱数によって決まります。

つまり、乱数を変更すると、ノイズパターンが変わります。乱数を制御するパラメータが”Seed”(シード)です。ここを変更すると乱数が変わります。ちなみに、このシード値の数字自体に意味はありません。乱数を発生させるためだけに使う数字なのでなんでもいいです。重要なのは、同じシード値で計算された画像には、同じノイズパターンが現れるということです。

実写映像のノイズは、次の動画が参考になります。

ノイズパターンが変化するようにする

サンプリングの設定は、レンダリングタブのサンプリングの項目にあります。

私は普段英語表示のまま使っていますが、日本語の場合、こんな感じです。

シード値がフレームごとに変化するようにすればいいです。
最も簡単な方法は、この時計マークをクリックしてオンにすることです。この機能の説明がそのままツールチップに載っていました。

 

押すとこんな感じになります。

ちなみに、インターフェースが大きく変わったBlender2.8でも概ね同じ場所にあります。Samplingタブの中の、Advancedタブの中に項目がありました。

もう一つの方法は、Driversという機能を使って、フレーム番号をそのままシード値に使ってしまうという方法です。

シードの部分に、#frameと入力してエンターを押します。するとボックスが紫になり、フレーム番号とシード値が連動するようになります。昔は上の時計マークがなかったらしく、この方法しかなかったようです。あとは手動でキーフレームアニメーションさせるくらいですかね。

無事、現実世界と同様な、動くノイズになりました。

とここまで書いてあれですが、ドンピシャなチュートリアルビデオがあったので貼っておきます。こっちのほうがわかりやすい説すらあります。

参考サイト

!https://en.wikipedia.org/wiki/Path_tracing
https://en.wikipedia.org/wiki/Monte_Carlo_method
https://docs.blender.org/manual/en/latest/render/cycles/settings/scene/render/integrator.html#sampling
https://blenderartists.org/t/static-noice-in-renders/595690

コメント

タイトルとURLをコピーしました