これはBlenderのバージョン4.1を使用した初心者向けの基本的なコンプジティングのチュートリアルで、レンダリングにAmbient Occlusionを適用することに焦点を当てています。
動画の書き起こし
皆さん、こんにちは!これはBlenderのバージョン4.1を使用した初心者向けの基本的なコンプジティングのチュートリアルで、レンダリングにAmbient Occlusionを適用することに焦点を当てています。
Ambient Occlusionは、その実装方法に応じて、環境光が届かないために生じるオブジェクトの暗い領域を計算またはシミュレートする技術です。これは、角、隙間、空洞、くぼみ、隠れたエリアなどの状況で発生します。
さらに、2つのオブジェクトが互いに接触しているときにも発生します。このチュートリアルで使用しているシーンのデスクの上に置かれているオブジェクトのようにです。実際、Ambient Occlusionが実装されていないと、オブジェクトが実際に接触しているように見えないため、レンダリングがあまりリアルに見えません。
Ambient Occlusionが実装されると、オブジェクトの形状をより明確に定義し、奥行き感を加えることで、画像がより説得力を持ち、リアルに見えるようになります。
このチュートリアルでは、Ambient Occlusionの情報を取得する方法、Ambient Occlusionエリアのサイズを調整する方法、そして効果を強めたり弱めたりする方法を見ていきます。
しかし、まだ続きがあります!チュートリアルの終わりには、レンダリングされたシーンに仮想宇宙が背景として含まれている場合に何をすべきかについても説明しますので、最後までお見逃しなく!

Blenderでは、Ambient Occlusionをマテリアルレベル(シーン内の各マテリアルごとに設定)で実装することも、レンダリングレベルで実装することも可能です。レンダリングレベルでは、シーン内のオブジェクトの位置や形状に関するBlenderの情報を使用します。このチュートリアルでは、特にポストプロダクションにおけるレンダリングレベルのAmbient Occlusionを検討します。
このチュートリアルでは、レンダリングエンジンとしてCyclesを使用していますが、このワークフローはEeveeでも有効です。
デフォルトでは、Blenderでシーンをレンダリングする際、Render LayersノードにはAmbient Occlusion情報が提供されません。したがって、最初に行うべきことは、プロパティエディターのView LayerタブのLight PassesセクションでAmbient Occlusion Render Passを有効にすることです。
設定が完了したら、レンダリングを開始し、コンポジターエディターに切り替えます。ここでBackdrop機能を有効にし、Viewerノードを挿入することで、背景の変化を観察できます。
私の場合、Rerouteノードを挿入し、それをCompositeノードとViewerノードの両方に接続しています。これにより、Rerouteノードに送られる情報が、ディスクに保存されるレンダリングと、コンポジターエディターの背景に表示されるレンダリングの両方に送られます。
エディターの背景にあるコンポジティングプレビューのサイズを変更するには、VキーまたはALT+Vキーを押します。プレビューを移動するには、ALTキーと中ボタンマウスを使用します。

まず、Render LayersノードのAmbient Occlusion出力をRerouteノードに接続して観察してみましょう。

Blenderは、シーン内のジオメトリから直接オブジェクトのオクルージョン情報を提供します。そのため、カップとデスクの間や、花のように個々のオブジェクト内でのオクルージョンを確認することができます。
また、この情報が非常に粒状で、言い換えればノイズが多いことに気付きます。幸いなことに、ノイズを減らすために特別に設計されたノードがありますので、Ambient Occlusion出力とRerouteノードの間にFilterグループのDenoiseノードを追加しましょう。
デフォルト設定のままでも、効果はすぐに目に見える形で現れます。

この情報を元のレンダリングに追加するために、Color MixグループのMix Colorノードをセットアップに挿入し、Multiplyモードに設定して、Factorパラメータに1を設定します。
次に、Render LayerノードのImage出力をMultiplyノードの最初のImage入力に接続します。
その後、Denoiseノードの出力をMultiplyノードの2番目のImage入力に接続し、結果を観察します。この結果は、Multiplyの出力をRerouteノードに接続することで確認できます。

グレースケール値で色を乗算すると、その色を暗くする効果があります。これは、基本的に0から1の範囲の数値を乗算することを意味するためです。その結果、元の数値よりも小さい値になるため、色が暗くなります。
レンダリングはすぐに元のものよりもはるかに説得力のあるものになります。Multiplyノードをオンオフすることで、Ambient Occlusionパスの効果を評価できます。これを行うには、このノードを選択して、選択したノードでMキー(Mute操作のショートカット)を複数回押します。
しかし、まだ終わりではありません。画像に適用する前に、Ambient Occlusionチャンネルの情報を拡大、縮小、または暗くしたり明るくしたりすることができます。
Denoiseノードの出力に対して行う操作の効果をよりよく確認するために、このノードをRerouteに接続します。

Ambient Occlusionで生成されたエリアを拡大または縮小するには、FilterグループのDilate Erodeノードを使用できます。このノードは形態操作を実装し、暗いエリアの形状に作用します。Distanceフィールドに正の値を設定すると暗いエリアが縮小され、負の値を設定すると暗いエリアを広げることができます。


Ambient Occlusion情報を暗くしたり明るくしたりするために、Gammaノードを使用できます。これにより、グレーピクセルを完全に黒や白にせずに画像を暗くしたり明るくしたりできます。
もし希望するなら、RGB Curveノードを使用して、Gammaカーブを再現するようにCカーブを変更することで、同様の効果を得ることができます。この操作は、元のピクセルの値を単純に加減算するのとは非常に異なり、このタイプの補正に適しています。


Dilate ErodeノードとGammaノードの効果が分かったので、Gammaノードの出力をMultiplyノードの第二入力に接続します。その後、Multiplyノードの出力をRerouteノードに接続します。
この方法で、ノードの値を変更し、その効果を元のレンダリングに対して観察することができます。

最後に、MultiplyノードにはFactorというパラメータがあり、元のレンダリングに適用される効果の強度を調整できることを覚えておいてください。この値を0に設定すると元のレンダリングのみが得られ、1に設定すると効果が完全に適用されます。中間の値はもちろん、比例して効果が適用されます。

チュートリアルを締めくくる前に、最後にもう一つ注意点があります。これまで使用していたシーンは部屋の内部に設定されており、仮想宇宙の背景はウィンドウのGlassマテリアルによって「フィルタリング」されていたため、問題はありませんでした。
しかし、屋外シーンでは、仮想宇宙の背景がAmbient Occlusionチャンネルで黒く表示されます。この情報を元の画像に乗算すると、背景が完全に黒くなります。


この問題を解決するために、このようなシーンをレンダリングする前に、Environment Render Passも有効にします。

これにより、仮想宇宙の背景が色で表示され、他のすべてのオブジェクトは黒で表されます。

次に、Mix Colorノードを追加し、そのモードをExclusionに変更し、Factorフィールドの値を1に設定します。その後、Environment Render Passをこのノードの第2のImage入力に接続します。
次に、元のレンダリングにAmbient Occlusionを適用するために使用したMultiplyノードの出力をExclusionノードの第1のImage入力に接続します。

覚えておいてください:このセットアップでは、Exclusionノードは最初の画像入力がImageとAmbient Occlusionの積である場合にのみ正しく機能します。したがって、Imageを直接Excludeに接続しないでください。
さて、これでこのチュートリアルは終了です!お役に立てれば幸いです!またお会いしましょう!