このチュートリアルでは、Blender のプロシージャルテクスチャを使って、Compositing 内で Mist や Depth の情報を変更し、冒頭でお見せしたような、アニメーションするまだら状のフォグマスクを作成する方法について解説します。
動画の書き起こし
皆さんこんにちは!このチュートリアルでは、Blender のプロシージャルテクスチャを使って、Compositing 内で Mist や Depth の情報を変更し、冒頭でお見せしたような、アニメーションするまだら状のフォグマスクを作成する方法について解説します。
Mist と Depth は、仮想カメラからオブジェクトまでの距離に基づいてマスクを生成します。これらの機能については、数日前に公開したチュートリアルで詳しく解説しました。
Blender のプロシージャルテクスチャは三次元なので、水平方向、垂直方向、さらに奥行き方向にも移動やスケーリングを行うことができます。これが Compositing においても適用されることを、これから見ていきましょう。
Clouds のようなプロシージャルテクスチャをプロジェクトに追加すると、Compositing ウィンドウ内で Input Texture ノードを使用して、ポストプロダクションでもそのテクスチャを利用できます。テクスチャを Viewer ノードに接続すると、ウィンドウの backdrop 上でリアルタイムに見た目を確認できます。

Offset 値でテクスチャを移動したり、Scale を変更したりすると、backdrop 上で変化を確認できます。特に、X の値を変更すると水平方向に変形し、Y の値を変更すると垂直方向に変形します。最後に、Z の値を変更すると、カメラに対して前後方向の変形が発生します。
各テクスチャ専用のタブでパラメータを調整し、その変化を backdrop 上でリアルタイムに確認することもできます。たとえば Clouds テクスチャでは、Size や Type といったパラメータを変更できます。

矢印キーや Timeline のツールを使うことで、アニメーション内のさまざまなフレームを移動できます。
ただし、テクスチャのパラメータにはまだアニメーションが設定されていないため、この時点ではテクスチャはアニメーションしません。ですが、これはすぐに解決できます。
パラメータにキーフレームを追加するには、対象のパラメータの上にマウスカーソルを置いて I キーを押すか、右クリックして表示されるメニューから Insert Keyframe を選択します。

たとえば、最初のフレームで Texture ノードの Size XYZ を 1 に設定してキーフレームを追加します。その後、フレーム 250 に移動し、Size XYZ の値を 0.1 に変更して、新しいキーフレームを追加します。

Timeline を移動した際に、アニメーションの開始時と終了時で変形速度が非常に遅く感じられる場合、それは Blender の補間処理によるものかもしれません。この挙動は、Graph Editor ウィンドウでキーフレームを調整することで変更できます。

ここで、Depth や Mist から得られる情報は、仮想カメラからの距離に応じたさまざまなエフェクト用マスクとして使用できます。
同様に、三次元のプロシージャルテクスチャから得られるグレースケール情報も、マスクやマスクを変調するファクターとして利用できます。
グレースケールのプロシージャルテクスチャを Depth や Mist の情報に乗算すると、その情報の一部領域を暗くできます。そして、これらの処理はアニメーション可能です。なぜなら、先ほど見たように、プロシージャルテクスチャは移動、拡大縮小、その他の変形が可能だからです。つまり、これこそが、このチュートリアル冒頭でお見せしたアニメーションを作成するために私が使用した方法です。

ご覧いただいたレンダリングは Mist チャンネルのみを使用して作成されています。つまり、興味深い効果ではありますが、これらは最終レンダリングではなく、設定したパラメータによって生成されたアニメーションフォグマスクの解析表示です。
3D シーンでは、Mist Start と Mist Depth の値を設定し、フォグが仮想カメラのすぐ前から始まり、シーン内で最も遠いオブジェクトを少し超えた位置で最大値、つまり白いマスクになるようにしました。
それでは、使用したノード構成を見ていきましょう。Render Layers から出力されている情報は Mist です。これは、表示しているものがフォグエフェクト用マスクそのものだからです。また、使用しているのは Depth ではなく Mist なので、値は 0 から 1 の範囲に収まっています。
今表示しているのは、テクスチャによる変調を行わず、そのまま Viewer ノードへ接続した Mist の出力情報です。

次に、Mist は Multiply ノードへ送られ、Clouds のプロシージャルテクスチャと乗算されます。
Clouds テクスチャの Offset XYZ パラメータにはアニメーションが設定されています。これによってテクスチャが移動し、特に水平方向と奥行き方向の動きが作られています。
最初のクリップでは、テクスチャの Size が 2 に設定されているため、非常に大きなパッチが生成されています。そのため、エフェクトはほとんど目立ちません。

この二つの情報を乗算した結果、Clouds テクスチャの暗い領域に対応して、Mist 情報がまだら状に暗くなります。
結果の強度はさまざまな方法で調整できます。私の場合は RGB Curves ノードを使用しました。

RGB Curves の出力は、その後 Blend Texture とさらに乗算されます。つまり、さらに暗くされます。この Blend Texture は、テクスチャの Color Ramp を編集することで作成した垂直グラデーションを提供しています。この部分は特に重要で、さらに興味深いカスタマイズが可能になります。

チュートリアル冒頭では、二種類の異なるアニメーションをお見せしました。
どちらの場合もノード構成は同じですが、変更したパラメータは Clouds Texture の Offset XYZ、つまり移動速度を制御する値と、Clouds Texture の Size、つまりエフェクト密度を制御する値です。そして特に重要なのが Blend Texture の Color Ramp で、これによって Clouds Texture を Mist パスに適用する領域が決まります。
特に二つ目のケースでは、Clouds Texture の Size を小さく設定して粒状感を強調し、エフェクトをより目立たせました。

さらに、Blend Texture の Ramp を変更して、エフェクトを帯状の範囲に限定し、前景や空の部分にはフォグがかからないようにしました。

Blend Texture のグラデーションは、Ramp を調整することでかなり自由に変更できます。また、そのパラメータにはキーフレームを設定してアニメーション化できるため、時間経過に応じて見た目を変化させることも可能です。
Blend Texture のパラメータをアニメーション化することで、フェードなどのエフェクトを作成できます。Blender には組み合わせ可能なツールやアニメーション可能なパラメータが非常に多く用意されているため、実現できる表現は非常に豊富です。
今回ご覧いただいたのは、Compositing においてプロシージャルテクスチャを使い、エフェクトを変調するためのシンプルな一例にすぎません。アニメーションにも静止画にも応用可能で、組み合わせや設定は実現したい目的によって変わります。
このチュートリアルが皆さんのお役に立てば幸いです!それではまたお会いしましょう!