3DCGで何をどう作るか考え中

ZbrushとBlenderの使い方、ヒント、コツなど。たまにZbrushプラグイン開発も。

Blender 2.9系のビューポートデノイザーはCycles利用時にとても便利(最新のドライバ+PC再起動が重要)

(約 5,100文字の記事です。)

f:id:yamato-tsukasa:20201020174453p:plain

Blender 2.9系からCyclesのレンダープレビューモードでビューポート表示上で「レンダリングなしに」デノイザーを使えるのだ。ざらざらした粗いプレビューではなくて、滑らかなレンダリング結果に近い画像をビューポート上で2秒程度で手に入れられる。これは最終出力が静止画なユーザーにとってはかなり便利。シンプルにパストレーシングでリアルに絵作りできるCyclesの価値を見直す機会になる。

なおビューポートデノイザーの処理完了までの時間は各自のPC・グラボの性能、サンプル数設定値などによって異なります。この記事ではスザンヌでテストした結果の2, 3秒程度を待ち時間として話を進めます。

私の場合はNVIDIAのちょっと古いエントリーモデルのGTX 1060 6GBだが、Blender 2.9ではOptix対応モデルなのでGPU処理によるOptixデノイザーが使える。だがそれ以外のグラボの場合やGPUではなくてCPU演算によるデノイザーもBlender側で選択可能だ。待ち時間に差が出る程度だろう。

なのでCyclesを使う人は是非とも一度は試すべき機能だろう。

本番用のレンダリング画像のプレビューを2, 3秒で見られる

画像の右下の小さな絵がビューポート+ビューポートデノイザーによる表示、左上のウィンドウがFull HDの50%サイズのレンダリング+デノイザーの出力結果。

f:id:yamato-tsukasa:20201020162127p:plain

見た目に大きな違いはない。サイズの違いはもちろんあるが、左上が15秒も待たされるのに対して右下は2秒程度で表示される。ビューポートデノイザーが搭載される前だと画像が黒点だらけで、一度レンダリングしないと全体像のイメージが掴めなかったが、2.9系からは違う。2秒で全体像を見ることができる。

f:id:yamato-tsukasa:20201020162423p:plain

Cyclesなので影のボケ具合なども光源の位置、大きさなどが反映されている。手前の影はシャープ、奥ほどぼやける。この画像もビューポート表示にスクショだ。2秒で綺麗に表示される。レンダリング前の設定調整にとても強力な武器になる。

サブディビジョンを適用してスムーズシェードをONにした例。この絵自体も3秒程度でパッと綺麗な絵になる。恐ろしい。

f:id:yamato-tsukasa:20201020174453p:plain

試してみて便利だったのは、最後に絵をレンダリングするためのカメラアングルや見え方の微調整にとても便利だったこと。3秒待てば出力結果が分かるのだから、モデリングやテクスチャリングを終えて、後は画角と照明などを調整するだけ!という段階になってこのビューポートデノイザーによる3秒プレビューはとても強力だった。

f:id:yamato-tsukasa:20201020175024p:plain

どの絵もカメラアングル変更後に3秒待てばパッと綺麗になる。う~ん、凄い。

作業途中の様子をSNSで公開するのに便利

作業途中でも2秒待てば綺麗な絵になるので、そのままスクショを取ればSNSなどへの投稿用の作業途中(WIP)報告画像に十分使える。WIP画像ならばそもそも低解像度で十分だし、さっとスクショしてパッと投稿できるスピード感・フィーリングが重要だからだ。

EeveeかCyclesかの検討にも便利

昨今ではリアルタイムレンダラーであるEeveeや、UE4などが注目の的になりがちだが、静止画出力についてはCyclesの表現力も魅力的だ。難しい設定やノウハウが必要なく、サンプル数を十分に高めれば後は演算結果に従うからだ。

そもそもリアルタイムレンダラーは色んな演算を省略しつつも「結果がそれっぽく見える」ための技術の塊。対してCyclesのようなパストレーシングレンダリングは素直でシンプルなアプローチ方法だから、光源と影との表現がそのまま素直でリアルな見え方になる。現実の光学系(光源、向き、照度、カメラレンズの種類と被写体までの距離など)にだけ気を付ければいい。

その点では現実の映画撮影環境を想像すれば分かりやすいだろう。照明、セット、被写体、カメラにだけ気を付ければいいので楽。変なパラメーター設定の煮詰めは基本的には不要だ。対価として演算時間の待ち時間があるだけだ。それをどう考えるかは人次第。

とはいえ、EeveeとCyclesにはシェーダー機能が完全互換ではないため、Eeveeでしか使えないシェーダー、Cyclesでしか使えないシェーダーがある。トゥーン表現用の有料・無料シェーダーでも両対応というのは少なく、基本的にはEevee専用、またはCycles専用だ。

また動画出力になるとやはりEeveeが現実的な手段になる。なので最終出力をどちらにするか利用者の判断になる。使いやすさは人それぞれだ。

いずれの場合でもシェーダーを切り替えることで両方をビューポート上で、しかもほぼ最終的な見え方の比較ができるのはメリットだ。ささっと比較できる。あるいは作風によって比較検討して使い分けるのも面白いだろう。何にせよレンダラーとしてBlender 2.9系を利用する価値がある。



と、ここまででビューポートデノイザーの魅力をお伝えしたが、実際使うためにはいくつか罠がある。私がハマった罠の注意点など。

グラボのドライバを最新の物に入れ直すべし!

これが最重要。私はこれにハマった。古いドライバでは後述する「デノイザー」の項目でビューポートのチェックを入れるとBlenderがフリーズ&落ちるのだ。何度やっても。というわけでまずはグラボメーカーから最新のドライバを入れよう。

NVIDIAドライバダウンロード

f:id:yamato-tsukasa:20201020164404p:plain

ダウンロードタイプがゲームレディかスタジオ版かで迷ったが、3DCGクリエイトの場合はヘルプを見る限りでは安定性重視のスタジオ版のほうがよさそう。(ゲームレディは各種ゲームに対応するために細かいバグ修正版が頻繁に登場して最新版となっている模様。なので安定性重視ではスタジオ版でよさそう。)が、恐らくはゲームレディでも最新の物を入れれば動くとは思うが。

ドライバのインストールが終わったら必ずPCを再起動させること。これが重要になる。

最初の2回程度はBlenderが不安定

PC再起動後にBlenderを起動させ、以下の項目に変更する。(3)にチェックを入れると、初回1回目のみ、なにやらコンパイルが必要らしく数分待たされる。

f:id:yamato-tsukasa:20201020161001p:plain

(画面左上にそのようなメッセージが表示される。)ビューポートは動かせるが何も表示されない。(シルエットのみが見える状態)

が!何分待っても何も変わらない。しょうがないので一度手動でBlenderを強制終了させた後、再起動。

再び上記画像の手順1~3を実行すると、今度はBlenderが即座に落ちた(笑)

だが、もう一度Blenderを起動させると今度は正しく動作した。それ以降は普通に使えるようになった。もちろんGPUモードでも動作するようになった。心臓に悪い。

色んなコンポーネントの読み込み順番や依存度の関係でそういう動作になるのだろうと勝手に予想。

CPUとGPUレンダリングを切り替えるとBlenderが落ちる?

ビューポートデノイザーがONのままCPU, GPU切り替えをするとBlenderが落ちることが多かった。一度デノイザーのチェックをOFFにしてからCPU, GPUを切り替えて、その後再びビューポートデノイザーをONにするといい。この辺の実装(バグ?)とBlender落ちとの関連がありそうだと感じた。

ただ、個人的にはGPU演算の方が早いのでCyclesでは基本的にGPUにする予定。またNVIDIA製グラボでOptix対応モデルなので私の場合はこんな設定になる。

f:id:yamato-tsukasa:20201020161639p:plain

Optix以外の選択肢については各自試して気に入った方を使えばいいと思う。私の場合はGPUによる速度優先のOptixで運用する予定。

また画像上の各種数値については各自で変更してその違いを確認するといい。Start Samplesの違いの説明が見当たらなかったが、触ってみるとデノイズ開始のサンプル間隔なのかな?と思った。が、プレビュー用途なので1は無駄に重くなるだけだと感じた。8より大きくしてもその違いが分からないので、何となく2の3乗の8にしてみた。16でも試したけれど余り違いが分からない。この辺はもしかしたらハイポリになったら何かしらの違いが顕著になるのかも知れない。少なくともスザンヌではよく分からなかったので、そこは各自で試してみて下さい。

ちなみにプリファレンスの中のCyclesレンダーデバイス設定はCUDAにしています。Optixはまだ実験的な実装でありCyclesの全ての機能を利用できるわけではないため。Optixの方が高速だったりVRAM関連の制限緩和などがあるらしいが、正直よく分かりません(笑)なのでレンダリングには枯れたCUDAで不要な罠を回避。ビューポートデノイズ処理にのみOptixを利用することに。

結論 ビューポートデノイザーを有効にしてEeveeかCyclesかを検討する価値あり

Cyclesによる画像表現の敷居が下がって、より使いやすくなった。動画出力ならばEeveeが有利だが静止画レンダリングやWIPスクショでは綺麗で自然な仕上がりを簡単に作れるCycles+ビューポートデノイザーが活躍することは間違いない。(ただしEevee専用シェーダーを使っていない場合。もちろんWIPスクショならばそんなことを気にする必要はないが。)

2秒待つだけでCyclesのWIPの表現力が最終的なレンダリング結果とほぼ同じにできるだけでも利用価値はあるだろう。日々の創作活動の報告をしやすくなるとモチベーションにもつなげやすいだろう。

この機会にBlenderでのレンダリング、Blenderをワークフローに取り込んでみるといいかもしれない。





今回の創作活動は約2時間30分(累積 約1,954時間)
(634回目のブログ更新)

筆者はAmazonアソシエイト・プログラムに参加しています。(AmazonアソシエイトとはAmazon.co.jpの商品を宣伝し所定の条件を満たすことで紹介料をAmazon様から頂けるという大変ありがたい仕組みのこと。)
以下のリンクを経由してAmazonで何かを買うと購入額の1~3%ほどのお小遣いが私に寄付されます(笑)

入門Blender2.9 ~ゼロから始める3D制作~

入門Blender2.9 ~ゼロから始める3D制作~