【Resolve Fusion Vol.2】AOV加算マージ後に背景を差し替える──アルファ消失をEffect Maskで解決する方法

当ページのリンクには広告が含まれています。
fusion vol.2 アイキャッチ

Vol.1(前回の記事)では、Maya+ArnoldでレンダリングしたマルチパートEXRをFusionに読み込み、diffuse / specular / transmission / emission の4パスを加算マージしてビューティを再構築し、ACES Transformをかけるところまで解説しました。

今回はその続きとして、背景色の差し替え を扱います。

「再構築したビューティを好きな色の背景に乗せる」というシンプルに見えるこのステップに、Fusionのノードベースならではの重要な落とし穴が潜んでいます。その原因と解決策を順に説明します。

目次

Vol.1(前回の記事)のネットワークのおさらい

今回の出発点はVol.1(前回の記事)で組んだ以下のノードツリーです。

Fusionビューアでは、Mayaのレンダービューと一致した正しい絵が映っているはずです。

今回のゴール: このネットワークの出力に任意の背景色(単色またはグラデーション)を差し替えて書き出せるようにする。

「Backgroundノードを置けば一発では?」──なぜそうならないのか

まず、直感的に思いつく方法を試してみましょう。

背景用に用意した赤いBackground

差し替え用の赤いグラデーションのBackgroundを用意しました。

  1. Shift + SpaceBackground ノードを追加し、好みの色(例:赤)を設定する。
  2. 新しい Merge ノード(Merge4)を追加する。
  3. Background を 黄色(Background端子) に、ACES Transformの出力を 緑(Foreground端子) に繋ぐ。

試してみると、背景色が全く見えない(背景が塞がれてしまっている)状態 になるはずです。

原因はアルファにあります。

アルファ消失の仕組み

Vol.1(前回の記事)の加算Merge設定(Alpha Gain = 0.0)を思い出してください。

  • Alpha Gain = 0.0 は「このマージノードにおいて、カラー(RGB)を計算する際にForegroundのアルファを完全に無視(0倍)して純粋な加算にする」という設定です。
  • RGBの足し算には必須の設定ですが、この代償として透過情報(アルファチャンネル)の計算が破綻し、ノードを通過するたびにマスクとしての機能が削られていきます。
  • Merge1 → Merge2 → Merge3 と通過した後の最終出力は、RGBは正しく合成されていますが、アルファチャンネルは本来の形を失い、画面全体が「1(完全不透明な白)」に埋め尽くされてしまいます。

確認してみましょう。Merge3の出力をビューアに表示し、チャンネルをアルファ(A)に切り替えると、本来あるはずの床の透過マスクが消えて、画面全体が真っ白(アルファ1)になっているはずです。

これが、背景を差し替えようとしたときに「背景色が全く見えない(手前の物体の絵で背景が完全に塞がれてしまう)」根本の原因です。

これが、背景を差し替えようとしたときにおかしくなる根本の原因です。

解決策:元のアルファを「Effect Mask」で戻す

RGBとAlphaを別々に管理するのがノードベース思考の基本です。今回は 加算Mergeが捨ててしまったアルファを、外から手動で戻します。

ステップ1:Beauty(RGBA)のアルファを取り出す

EXRのRGBAパス(全体のアルファ)をもう1枚 Loader で読み込みます。

  1. 既存のLoaderを Ctrl + CCtrl + V でコピー(インスタンスは使わない)。
  2. コピーしたLoaderの名前を alpha_master に変更。
  3. Inspector の「Format」タブ → PartRGBAに設定。
  4. Channels の AlphaAに設定。
alpha_masterのアルファチャンネル

確認として、alpha_master をビューアに表示してアルファ(A)チャンネルに切り替えると、床の輪郭がきれいな白のマスクとして映るはずです。Maya側でaiFlat背景プレーンに Matte をオンにしていれば、床の奥(aiFlat が映る領域)はアルファ0(黒)のまま透けています(Maya側の設定は以下の記事で)。ステップ2:MergeのEffect Maskにアルファを接続する

ステップ2:MergeのEffect Maskにアルファを接続する

アルファが戻ったので、背景を差し替えます。

  1. Shift + SpaceBackground ノードを追加し、差し替えたい背景色を設定する(例:赤)。
  2. Merge4通常のOverで合成 する。
    • Background(黄色端子): 赤いグラデーションのBackgroundノードを接続。
    • Foreground(緑端子): 加算されてきたMergeの出力を接続。
    • Apply Mode: Normal
    • Alpha Gain: 1.0 (デフォルトのまま)
    • Subtractive/Additive: 0.0 (デフォルトのまま)
  3. alpha_master の出力を Merge4青い端子(Effect Mask) に接続します。

(※ここで一度 Enter を2回押して箇条書きを終了させ、以下を個別のブロックにします。SWELLの「キャプション付きブロック」や「アラートブロック」を使うとより効果的です)

💡 ここがチェックポイント!

  1. Merge4 ノードを選択し、インスペクタの一番右にある 「Settings(歯車マーク)」 タブを開いてみてください。中ほどにある 「Channel」がデフォルトの『Alpha』になっていること を確認します。ここが「Luminance」など別の項目になっていると、せっかく戻したアルファが正しくマスクとして認識されない原因になります。

(※ここから新しく「順序付きリストブロック」を作成し、SWELL側の設定で開始値を「5」に設定します)

  1. Merge4 のビューアをアルファチャンネルに切り替えて確認。床のシルエットが白く(alpha_masterのアルファチャンネルが)出ていれば成功です。
  2. Merge4 の出力を Media Out につながる ACES Transform に接続します。

これで、背景の色が変わりました。

ポイント:MayaのMatteがここで活きる

Maya Arnold の設定記事で、背景プレーン(aiFlat)に Matte をオン にしていた理由がここで明確になります。

  • Matte がオンのオブジェクトは、アルファ0(完全透明)として出力されます。
  • そのため、床の地平線より奥のエリアは、alpha_master のアルファが0のまま になっています。
  • Merge4のOver合成では「アルファ0の箇所は背景(黄色)が100%透けて見える」ため、地平線の先から自然に背景色が現れます。

逆に、Mayaの設定でMatteをオンにしていなければ、地平線の先のアルファは1(不透明)になっており、背景色を置いても黒いままで透けません。

(応用)グラデーションや画像への差し替え

BackgroundノードをGradientや別のLoaderに替えるだけで、同じフローのまま使えます。

  • Gradient: Shift + SpaceGradient で追加。Linear(直線グラデーション)で上から暗く、下は明るくするとスタジオ風の自然な背景になります。
  • 実写背景: Loaderで背景素材(連番/動画)を読み込み、黄色端子に繋ぐだけです。ただし実写合成の場合は影の映り込みなども考慮が必要なため、別途解説予定。

(補足)AOVを使わないシンプルな方法

AOVパスに分ける必要がない場合や、手早く確認したい場合は、もっとシンプルな方法があります。Beauty の RGBA を1枚そのまま読み込んで Over 合成するだけ です。

  1. Loader を1枚追加し、Format タブの PartRGBA に設定する。
  2. Channels の R / G / B / A をそれぞれ R / G / B / A に設定する。
  3. ACES Transform → Merge(Over合成)→ MediaOut と繋ぐ。

alpha_masterEffect Mask も不要で、アルファが最初から生きているため、Merge のデフォルト設定(Normal / Alpha Gain: 1.0)のまま自然に背景が透けます。

ではなぜ AOV 加算の方法を使うのか?

  • AOV パスに分けると、Fusion のグレードやマスクをパス単位で当てられます。 たとえば「スペキュラだけ明るくする」「影のディフューズを落とす」といったコンポ段階での細かい調整が可能です。
  • シンプルな RGBA 合成では Beauty の絵が確定したまま「コントロールできる余地がない」ため、本格的なルックデベロップメント(LookDev)には向きません。
  • 本シリーズは「AOV ワークフローを使いこなす」ことを目的にしているので、以降の記事も AOV ベースで進めます。

ただし、「とにかく背景を差し替えて書き出したい」という目的であれば、RGBA 1枚の最短ルートで十分です。用途に合わせて使い分けてください。

まとめ & 次回予告

今回のポイント:

  • AOV加算Merge(Alpha Gain = 0.0)を重ねると、最終出力のアルファが消滅する。
  • 別途Loaderで BeautyのAlpha を取り出し、加算Mergeチェーンの末尾ノードの Effect Mask(青端子) に接続してアルファを復元する。
  • 背景差し替えのMerge(Merge4)は通常のOver合成(Apply Mode: Normal / Alpha Gain: 1.0 / Additive: 0.0)で行います。前回の加算Mergeとは全く異なる設定になるので、ここでの戻し忘れに注意してください
  • Maya側で背景プレーンに Matte をオンにしていれば、地平線の先は透過済みなので、背景色がそのまま自然に透けて見える。

次回(Vol.3)予告:

Vol.2ではArnoldの汎用AOVシーンで背景差し替えの基本を習得しました。Vol.3では、より実務的なシーンへ応用します。

aiShadowMatte(影だけが浮かぶ「絵画的なステージ」)を使ったシーンで、コンポ段階から背景色を自由に差し替えるチュートリアルです。

  • aiShadowMatte は影の透過グラデーションをアルファにベイクする特殊マテリアルです。単純なEffect Maskで接地影をそのまま保ちながら背景色を変えようとすると、キャラクターの輪郭がジャギー(ガビガビ)になる問題が起きます。
  • その原因は 「プリマルチプライ(Pre-multiplied Alpha)」 の扱いにあります。Vol.3ではこの問題の正体と、Fusionのノードで一発で解決する方法を解説します。
fusion vol.2 アイキャッチ

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

フリーの3DCGアニメーター。
メインツールはMaya(使用歴20年以上)です。お仕事ではSoftimage(XSI)やMotionBuilderの使用経験もあり。思いに手付け(キーフレームアニメーション)が多いですが、キャプチャーもいけます。サブスキルとしてはリグ(Maya限定ですが)も少々いけます。

ゲームが昔から大好きなので「ゲーマー」としての側面からもいろいろ発信出来ればと考えています。
CG歴よりもゲーマー歴のほうがずっと長いもので(笑)。

twitterアカウント
@inopoa1

よろしくお願いします。

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次