All posts

【Resolve Fusion Vol.6】Cryptomatte入門|スポイトでマスク抽出し、ColorCorrectorで部分色変更

【Resolve Fusion Vol.6】Cryptomatte入門|スポイトでマスク抽出し、ColorCorrectorで部分色変更

結論から言うと、Cryptomatteは「Loaderから二股 → Cryptomatteでスポイト → ColorCorrectorのEffect Mask」で、特定パーツだけの色調補正ができます。 ノードは驚くほど少ないのに、境界はピクセル単位で滑らか。しかも 3Dの再レンダリングは不要 です。

本記事は Arnold編(3D側) の続編です。Arnold編で書き出した マネ風『笛を吹く少年』シーンのCryptomatte入りEXR を使い、Fusion側でスポイト操作まで一気に仕上げます。

前回(Vol.5) では、emission_pass を使ってライトセーバーのGlowを仕上げました。Vol.5が「光の演出」だったのに対し、Vol.6は 「どのパーツに手を入れるか」 の支配権です。

今回やることのイメージは次のとおりです。

  1. シャツだけ赤に
  2. 笛をゴールド→シルバーに ——Mergeなし、ColorCorrectorを直列で足す
  3. 画面全体をモノクロにして、赤シャツだけ色を残す ——シンドラーのリスト風のパートカラー

デモシーンはこれまでどおり、ベラスケス/マネへのオマージュであるマネ風ステージです。今回はそこに、『シンドラーのリスト』の有名なシーンへのオマージュとして、一点だけに色を残す 仕上げまで進めます。

※ 本記事を始める前に、【Maya×Arnold】Cryptomatte出力設定ガイド(Arnold編) の手順どおり マネ風シーンのCryptomatte入りEXR を用意してください。

【Maya×Arnold】Cryptomatte出力設定ガイド(Arnold編)

関連記事【Maya×Arnold】Cryptomatte出力設定ガイド|Object/Material/Assetの3種AOVとSidecar Manifests確認関連記事【Resolve Fusion Vol.1】ACEScg AOV加算マージの基礎関連記事【Resolve Fusion Vol.4】aiShadowMatteの影をぼかして色を変える|背景差し替えコンポジット関連記事【DaVinci Resolve Fusion vol.5】emissionパスからGlowを作る方法|ライトセーバーが映画のように光る関連記事DaVinci Resolve Fusion コンポジット完全ガイド関連記事Maya Arnold➔Fusion連携ワークフロー完全ロードマップ

シンドラーのリストへのオマージュ

デモシーンはこれまでどおり、ベラスケス/マネへのオマージュである マネ風ステージ の上に立っています。

今回はそこに、もうひとつ足してみます。スティーヴン・スピルバーグ監督『シンドラーのリスト』(1993)の、あの有名なシーンです。ほぼ モノクローム の画面のなかで、一人の少女だけが赤いコート で映る——。

(出典:スティーヴン・スピルバーグ監督『シンドラーのリスト』(1993)/TM & © Universal Pictures/クリップ配信:Movieclips(Rotten Tomatoes Movieclips))

いわゆる パートカラー(Part Color) ——画面のほとんどをモノクロにしつつ、一点だけ色を残す 演出です。Vol.6では、マネ風の少年をほぼモノクロにし、シャツだけ を赤くする、という形でやってみます。

かつては、このたびに RGBマスクを何枚も書き出す か、オブジェクトIDパスを別レンダー するか、のどちらかでした。マスクのエッジはボケやモーションブラーでガビガビ。髪の毛の隙間はマスク迷子。「3D、もう1枚マスク出して」と「え、また?」が往復する——そんな 遠回り が起きやすかったのです。

Cryptomatte は、その遠回りを短くする技術です。

レンダリング時に1本のEXRへ「どのピクセルにどのオブジェクトが何%いるか」を忍ばせておけば、コンポ側では スポイトでクリックするだけ で、きれいなマスクが手に入ります。Vol.1で組んだAOVパイプラインの上に、最後の自由のピース がはまる瞬間——それが今回のVol.6です。

もし修正指示が来たら——「このシャツ、やっぱり今すぐ赤にして!」

チュートリアル用に、こんなセリフを想像してみてください。

「全体はOKなんですが……この シャツの色だけ 、やっぱり今すぐ赤にしてもらえますか? 明日のプレゼンなんです。」

従来のワークフローなら、ここで手戻りが大きくなります。

  1. 3Dに戻ってマテリアル変更 → 再レンダリング(数時間〜一晩)
  2. またはマスク用パスを追加出力 → コンポで切り抜き → 色変更 → 合成(エッジがガビガビになりがち)
  3. 時間がないと、妥協したマスクで 「なんか合成感ある」 仕上がりになりやすい

Cryptomatteが入ったEXRが手元にあれば、話は別です。

  1. Fusionで Cryptomatteノード を開く
  2. シャツを スポイトでクリック
  3. ColorCorrector で赤にする
  4. 所要時間:数分

「ちょっとお待ちください」のあいだに差し替えが終わる——そういう使い方ができるのが、3Dを焼き直さないいちばんの強みです。

なぜ、ノードはこれだけなのに「完璧」で「超速」なのか

完成時のノード構成は、驚くほどシンプルです。ポイントは2つ——「Loaderから二股」 と、「Cryptomatteから緑と青の2本を繋ぐ」 です。

flowchart TD
    L1[Loader1]
    CM1[Cryptomatte1]
    CC1[ColorCorrector1]

    L1 --> CM1
    L1 --> CC1
    CM1 --> CC1
    CM1 -.-> CC1

    linkStyle 0 stroke:#F4C430,stroke-width:2px;
    linkStyle 1 stroke:#F4C430,stroke-width:2px;
    linkStyle 2 stroke:#4CAF50,stroke-width:2px;
    linkStyle 3 stroke:#00A2FF,stroke-width:2px;

(Loader → ColorCorrector(黄色)/Loader → Cryptomatte(オレンジ)/Cryptomatte → 緑の三角(Effect Mask)+青の三角(Solid Matte))

緑の三角のみ接続
緑と青の三角の両方接続

Cryptomatte の出力は 緑(Effect Mask)と青(Solid Matte)の2箇所に繋ぐ必要があります。

緑だけだと全体に効果がかかってしまう(画像左)ため、青にも同じ Cryptomatte を接続することでマスクの内側だけに色補正が限定されます(画像右)。

理由説明
マスク生成がノード内蔵白黒マスクを別途書き出す必要がない。Cryptomatteが ID→マスク変換 を全部やってくれる
重なり率まで記録済みボケたエッジの半透明をピクセル単位で保持。手作業の切り抜きより 自然
Vol.1〜5の土台があるACEScg・Effect Mask・加算Mergeの知識がそのまま使える。新しい概念は「スポイトで選ぶ」だけ

Arnold編でマネ風シーンに Cryptomatte AOVを足して書き出したEXRがあれば、あとはコンポ側はこの3ノードで何度でもいじれます。

補足:背景と地面について aiShadowMatteのマネ風ステージ では、床と壁の境界を消すために aiShadowMatte を使っています。Vol.6(Arnold編〜本記事)のデモでは、Cryptomatteの見え方やスポイト操作が分かりやすいように、背景と地面を通常のオブジェクト(チェッカーの湾曲ステージなど)に差し替えています。見た目はマネ風の世界観のまま、マスクとして拾いやすい構成です。

今回の目標と完成イメージ

Vol.6からはデモシーンを マネ風『笛を吹く少年』 に切り替えています(Arnold編 と同じ素材)。『シンドラーのリスト』風の パートカラー を、Cryptomatteでやってみます。

シナリオ: 「緑のシャツを赤に」「笛のゴールドをシルバーに」「背景も含めてモノクロにし、赤シャツだけ色を残す(シンドラーのリスト風)」——再レンダリングはしたくない。

やること: Cryptomatteで対象パーツだけマスクし、ColorCorrector で色を調整する。

実践で使う例は次のとおりです。

優先例操作の要点Layerの例
主例シャツを赤にHue / Gain で赤へcrypto_material または crypto_object
サブ例笛をゴールド→シルバーSaturationを下げ、少し冷たい色味へcrypto_object(メッシュだけ狙う)
オマージュ完成全体モノクロ+赤シャツだけカラー先に全画面 Saturation 0 → シャツだけマスクして赤crypto_material / crypto_object(シャツのみ)

笛は金属でも、ColorCorrectorだけで十分試せます(物理シェーダーの差し替えではありません)。

余力があれば、髪や肌の色替えなどを試してみてください。

シンドラーのリストへのオマージュ 原作映画は 世界がほぼモノクロ で、赤いコートだけが色 です。Vol.6の完成形も同じ——先に全画面をグレーにし、シャツだけ赤を乗せる。ステップ6でその形までつなげます。

flowchart TD
    L1[Loader1]
    CM1[Crypto_shirt]
    CC_DESAT[CC_desat]
    CC_SHIRT[CC_shirt]
    ACES1[ACESTransform1]
    MO1[MediaOut1]

    L1 --> CM1
    L1 --> CC_DESAT
    CC_DESAT --> CC_SHIRT
    CM1 --> CC_SHIRT
    CM1 -.-> CC_SHIRT
    CC_SHIRT --> ACES1
    ACES1 --> MO1

    linkStyle 0 stroke:#F4C430,stroke-width:2px;
    linkStyle 1 stroke:#F4C430,stroke-width:2px;
    linkStyle 2 stroke:#F4C430,stroke-width:2px;
    linkStyle 3 stroke:#4CAF50,stroke-width:2px;
    linkStyle 4 stroke:#00A2FF,stroke-width:2px;
    linkStyle 5 stroke:#F4C430,stroke-width:2px;
    linkStyle 6 stroke:#F4C430,stroke-width:2px;

Vol.1のフルAOVパイプラインとの関係 本記事ではわかりやすく Beauty相当の絵(RGBA) に直接グレードします。Vol.1のAOV加算チェーンの 手前でも後でも 、Cryptomatteマスクは同じ要領で使えます。Vol.1のパイプラインに組み込むときは、AOV加算が終わった ACES Transform の直前 に ColorCorrector を挟むと整理しやすいです。

ステップ1:EXRを読み込む(PartはRGBAのまま)

  1. Fusionページで Loader ノードを追加します(Shift + Space → Loader)。
  2. Inspector の File 欄で、Arnold編どおり出力した Cryptomatte入りEXR を指定します。
  3. Loader を選択したまま、Inspector の Format タブを開き、Part を RGBA(Beauty相当)に設定します。
  4. ビューアにマネ風キャラの完成画が表示されることを確認します。

【重要】Formatで crypto_object を選んでも真っ暗——あせらないでください

Loaderの Format タブで Part を crypto_object に切り替えると、ビューアが真っ黒 になることがあります。

それは失敗ではありません。 Cryptomatteの生データは、Beautyのような「絵」ではなく、ID情報が詰まったfloatデータです。FormatタブでRGB表示しても、ほとんど黒く見えるのが普通です(Arnold編で Preview in EXR をオフにしている場合は、なおさらです)。

やり方結果
Loaderの Format で crypto_object を見ようとする真っ暗になりがち(正常)
Loaderは RGBAのまま → Cryptomatteノード に渡すパズルカラー が見える(正しい手順)

カラフルなプレビューは、Loaderではなく 次のステップの Cryptomatteノード が作ります。Partは必ず RGBAに戻して から先へ進んでください。

読み込めないとき/名前が出ないとき Arnold編の Sidecar Manifests がオン だと、JSONが別ファイルに散らばり、後のスポイトで名前が読めないことがあります。EXR埋め込み(Sidecarオフ) で書き直してください。

ステップ2:Cryptomatteノードを接続する

  1. Shift + Space → Cryptomatte と入力してノードを追加します。
  2. Loader の出力 → Cryptomatte の メイン入力(オレンジ) に接続します。
  3. ノードグラフ上で Cryptomatteノードを 選択 し、ビューアにそのノードを表示します。

画面が 赤・緑・紫などのパズルカラー に変われば、Cryptomatteデータは正常に読めています。まだマスクではなく 「データの地図」 です。

暗く見えて選択しづらかったらGain/Gammaのどちらか(この画像では両方)を上げる。

パズルカラーが少し暗く見える View Mode: Colors はスポイトで選ぶための 色分けプレビュー なので、Beautyほど明るくありません。暗めでも問題ありません。見にくければ、ビューア右上の ⋯(3点メニュー)→ Gain/Gamma で Gain スライダーを少し上げてください(プレビュー表示だけの調整で、画像データは変わりません)。

  1. Inspector の View Layer(または Layer)で、切り替えたいレイヤーを選びます。
Layer選ぶときマネ風シーンでの例
crypto_objectメッシュ単体 だけ狙う笛だけ(ゴールド→シルバー)
crypto_material同じマテリアル をまとめてシャツ生地をまとめて赤へ
crypto_assetアセットごと 大きくうまく出ればキャラ全体。割れても本記事では問題ない(Arnold編)

シャツをまとめて変えたいときは crypto_material、笛のメッシュだけ狙うときは crypto_object が分かりやすいです。Invert の例はステップ6-2(背景+笛を選んで反転 → キャラだけモノクロ)で扱います。

ステップ3:スポイトでマスクを作る

ここからが Cryptomatte 最大の楽しみどころ です。

3-1. 準備

  1. Cryptomatteノードが 選択されている こと
  2. ビューアに パズルカラー が出ていること
  3. Inspector の View Mode が Colors になっていること(初期確認用)
  4. Pick(スポイト/Add)ボタンが見えること

DaVinci Resolveのバージョンによって、ボタン表記が Add / Remove や Pick(+) など少し違うことがあります。意味は同じで、「リストに足す/外す」です。

3-2. 最初の1クリック(シャツを選ぶ)

  1. Inspector の Pick(+) または Add をオンにします。
  2. ビューア上で シャツ部分 を 左クリック します。
  3. Selected Matte List にオブジェクト名またはマテリアル名が入ります(例:shirt_SHD)。
  4. このとき View Mode が Colors だと、選んだ領域は 明るい黄色でハイライト されます。絵の上でどこを掴んだかが一目で分かるので、スポイト作業中はこのモード が向いています。
シャツを選択した状態

ACEScgのままだと画面が暗く、見にくいことがあります(画像左側)。

確認用に ACES Transform → MediaOut を別ビューアに出しておくと、選択範囲が格段に分かりやすいです(画像右側)。

3-3. 複数パーツを足す/選びすぎを直す

  • 足す: Pick(+)/ Add のまま、追加したいパーツをクリック
  • 外す: Remove(−)に切り替え、余計な部分をクリック

あとで キャラだけモノクロ にしたいときも、同じ Add / Remove が使えます。ステップ6-2では、背景と笛の2つだけ Add して Invert する例を紹介します(Arnold編 で触れたとおり、crypto_asset が一色でなくても問題ありません)。

3-4. View Mode を Matte にする(必須)

スポイトが終わったら、Inspector の View Mode を Matte に切り替えます。

View Mode見え方役割
Colors絵の上に 黄色いハイライトスポイトで選ぶときだけ
Matte選んだ部分が 白、それ以外が 黒Effect Mask に渡すとき(必須)

(View Mode: Matte/shirt_SHD 選択時。シャツだけが白いマスクになっている)

確認チェックリスト:

  • View Mode が Matte(Colorsのままにしない)
  • 狙ったパーツが 白、それ以外が 黒
  • Selected Matte List に意図した名前がある(例:shirt_SHD)
  • エッジが極端にガビガビしていない

流れのおさらい

  1. Colors でスポイト(どこを選んだかが見やすい)
  2. Matte に切り替える(白黒マスクとして出力する)
  3. Cryptomatte を ColorCorrector の 緑の三角(Effect Mask)と青の三角(Solid Matte)の両方 に繋ぐ(2本)

選択したあとは Matte にする。確認用というより、マスクとして使うための切り替えです。

ステップ4:ColorCorrectorでシャツだけ色を変える

ここがいちばんつまずきやすいところです。絵(Beauty)とマスクは別ルート で ColorCorrector に入れます。

4-1. 完成形のイメージ(先にこれだけ覚える)

flowchart TD
    L1[Loader1]
    CM1[Cryptomatte1]
    CC1[ColorCorrector1]

    L1 --> CM1
    L1 --> CC1
    CM1 --> CC1
    CM1 -.-> CC1

    linkStyle 0 stroke:#F4C430,stroke-width:2px;
    linkStyle 1 stroke:#F4C430,stroke-width:2px;
    linkStyle 2 stroke:#4CAF50,stroke-width:2px;
    linkStyle 3 stroke:#00A2FF,stroke-width:2px;

重要:Cryptomatte の出力は緑と青の2箇所に繋ぐ
緑の三角(Effect Mask)だけだと画面全体に効果がかかってしまいます。
同じ Cryptomatte の出力を青の三角(Solid Matte)にも繋ぐことで、マスクの内側だけに色補正が限定されます。

線つなぐものColorCorrectorの端子役割
①Loader → ColorCorrector黄色色を変えたい 絵そのもの
②Cryptomatte → ColorCorrector緑の三角Effect Mask
③Cryptomatte → ColorCorrector青の三角Solid Matte(これがないと全体に効いてしまう)
④ColorCorrector → ACES → MediaOut(出力)最終確認

やってはいけない配線(一本道):

flowchart TD
    L1[Loader1]
    CM1[Cryptomatte1]
    CC1[ColorCorrector1]

    L1 --> CC1
    CM1 -.-x|❌ NG: 緑のみでは全画面になる<br>青も繋ぐ必要があります| CC1

    linkStyle 0 stroke:#F4C430,stroke-width:2px;
    linkStyle 1 stroke:#4CAF50,stroke-width:2px;

こうすると、白黒マスク自体がグレード対象になり、シャツの色は変わりません。

(NG例:Cryptomatte → ColorCorrectorの黄色。ビューアに白黒マスクだけが出て、絵が通っていない)

4-2. 接続の手順(手を動かす順番)

前提:ステップ3までで、Cryptomatte に shirt_SHD が入っており、View Mode: Matte でシャツが白いこと。

  1. Shift + Space → ColorCorrector を追加する
  2. Loader の出力 から線を引き、ColorCorrector の 黄色(正面の入力) に繋ぐ
    • もし Cryptomatte → ColorCorrector(黄色)が繋がっていたら、いったん外す
  3. Cryptomatte の出力 から線を引き、ColorCorrector の 緑の三角(Effect Mask) に繋ぐさらに、同じ Cryptomatte の出力 から 青の三角(Solid Matte) にも繋ぐ
    (緑だけだと全体に効果がかかる。必ず2本繋ぐ)
  4. ColorCorrector の出力 → ACES Transform → MediaOut の順に繋ぐ
  5. 左ビューアに Cryptomatte(Matte確認用)、右ビューアに ACES Transform または MediaOut を出しておくと安心

緑だけの場合(NG):画面全体が赤くなる

緑+青の場合(OK):シャツだけ赤くなる

接続後のチェック:

  • ColorCorrector の 黄色 に入っているのは Loader(絵)
  • ColorCorrector の 緑の三角 に入っているのは Cryptomatte(Effect Mask)
  • ColorCorrector の 青の三角 に入っているのは Cryptomatte(Solid Matte)
  • Cryptomatte から線が 2本 出ている(緑と青の両方)
  • Loader から線が 二股 に分かれている(絵ルート/Cryptomatteルート)

4-3. シャツを赤くする

  1. ビューアを ACES Transform(または MediaOut)に切り替える
  2. ColorCorrector を選択し、Colors タブで色を寄せる
触るところ目安(シャツを赤くする場合)
カラーホイール(Master)赤〜マゼンタ寄り にドラッグ
Gain1.0より上げる(例:2前後。赤の乗りが良くなる)
Strength / Tint など好みで微調整

緑のシャツを赤に寄せるときは、Hueだけだと弱いことがあります。Gainを上げつつ赤方向へ が分かりやすいです。

  1. 結果の確認:シャツだけ赤、ズボン・笛・背景・髪はそのまま

(左:CryptomatteのMatte/右:ACES Transform後。正しい配線ならシャツだけ赤になる)

ACES Transform の設定は Vol.1 と同じです。

  • ACES Version: ACES 2.0
  • Input Transform: ACEScg - CSC
  • Output Transform: sRGB piecewise

ACES Transform なしだと効果が分かりにくい 素材は ACEScg(リニア)のままです。最終確認は必ず ACES Transform 経由で行ってください。

色が変わらないときの点検(この順で)

  1. ColorCorrector の黄色に Loader(または前段のCC)が来ているか(Cryptomatteが黄色に来ていたらNG)
  2. Cryptomatte が 緑の三角(Effect Mask)と青の三角(Solid Matte)の両方 に来ているか(緑だけだと全体に効く)
  3. Cryptomatte の View Mode が Matte か(Colors のままだとマスクとして効かない)
  4. Selected Matte List に狙った名前があるか(例:shirt_SHD)
  5. ビューアは ACES Transform / MediaOut を見ているか(Cryptomatte単体だと白黒のまま)

ステップ5:応用——笛をゴールドからシルバーに

シャツができたら、同じ型をもう一組足す だけです。笛は金属でも、物理シェーダーの差し替えは不要 です。ColorCorrectorで十分「ゴールド→シルバー」にできます。

Mergeは使いません

シャツ赤と笛シルバーを 同時に 出したいときも、Merge は不要です。Mergeは「別々の絵を重ねる」ためのノードです。ここでは 1枚のBeautyに、マスク違いのグレードを直列でかける だけです。

flowchart TD
    L1[Loader1]
    CS[Crypto_shirt]
    CC_S[CC_shirt]
    CF[Crypto_flute]
    CC_F[CC_flute]
    ACES1[ACESTransform1]
    MO1[[MediaOut1]]

    L1 --> CS
    L1 --> CC_S
    CS --> CC_S
    CS -.-> CC_S
    CC_S --> CF
    CC_S --> CC_F
    CF --> CC_F
    CF -.-> CC_F
    CC_F --> ACES1
    ACES1 --> MO1

    linkStyle 0 stroke:#F4C430,stroke-width:2px;
    linkStyle 1 stroke:#F4C430,stroke-width:2px;
    linkStyle 2 stroke:#4CAF50,stroke-width:2px;
    linkStyle 3 stroke:#00A2FF,stroke-width:2px;
    linkStyle 4 stroke:#F4C430,stroke-width:2px;
    linkStyle 5 stroke:#F4C430,stroke-width:2px;
    linkStyle 6 stroke:#4CAF50,stroke-width:2px;
    linkStyle 7 stroke:#00A2FF,stroke-width:2px;
    linkStyle 8 stroke:#F4C430,stroke-width:2px;
    linkStyle 9 stroke:#F4C430,stroke-width:2px;
やることノード
絵の流れLoader → CC_shirt → CC_flute → ACES → MediaOut(直列)
シャツ用マスクCrypto_shirt → CC_shirt の 緑+青
笛用マスクCrypto_flute → CC_flute の 緑+青

1つのCryptomatteのリストを消して付け替えると、シャツ用マスクが消えます。パーツごとにCryptomatteを分ける のが分かりやすいです。
マスクはどちらも 緑(Effect Mask)と青(Solid Matte)の2本 を繋いでください(緑だけだと全体に効いてしまいます)。

手順(crypto_object)

  1. Cryptomatte を もう1つ 追加(例:Crypto_flute)
  2. View Layer を crypto_object に
  3. Pick → 笛 をクリック(View Mode: Matte で白黒確認)
  4. ColorCorrector を もう1つ 追加(例:CC_flute)
  5. CC_shirt の出力 → CC_flute の黄色(メイン) と Crypto_flute の入力
  6. Crypto_flute → CC_flute の緑の三角(Effect Mask) と 青の三角(Solid Matte)(2本)
  7. CC_flute → ACES Transform → MediaOut
  8. だいたい次のように触る
触るところ目安
Saturation下げる(金の黄みを抜く)
Midtones / Gainほんの少し青〜シアン寄り、またはニュートラルに
Gain(全体)必要なら少し明るく(シルバー感)

ハイライトのキラッとした部分は残りやすいので、「金属っぽさ」は保ちつつ色味だけ変えやすいです。完璧なPBRメタル変換ではなく、コンポでの見た目寄せ だと割り切ってください。

同じ金属マテリアルが他にある場合、crypto_material だと一緒に変わることがあります。笛だけ狙うなら crypto_object がおすすめです。

ステップ6:応用——全体モノクロ+赤シャツだけ(シンドラーのリスト風)

ここがオマージュの完成形です。背景もキャラも白黒、シャツだけ赤——映画と同じ「世界はモノクロ/一点だけ色」にします。

いちばんわかりやすいのは、マスクの反転を使わず、次の2手です。

  1. 画面全体 をグレーにする(Effect Maskなし)
  2. Cryptomatteで シャツだけ マスクして赤くする

6-1. おすすめ:全画面グレー → シャツだけ赤

flowchart TD
    L1[Loader1]
    CM1[Crypto_shirt]
    CC_DESAT[CC_desat]
    CC_SHIRT[CC_shirt]
    ACES1[ACESTransform1]
    MO1[[MediaOut1]]

    L1 --> CM1
    L1 --> CC_DESAT
    CC_DESAT --> CC_SHIRT
    CM1 -- " " --> CC_SHIRT
    CM1 -. " " .-> CC_SHIRT
    CC_SHIRT --> ACES1
    ACES1 --> MO1

    linkStyle 0 stroke:#F4C430,stroke-width:2px;
    linkStyle 1 stroke:#F4C430,stroke-width:2px;
    linkStyle 2 stroke:#F4C430,stroke-width:2px;
    linkStyle 3 stroke:#4CAF50,stroke-width:2px;
    linkStyle 4 stroke:#00A2FF,stroke-width:2px;
    linkStyle 5 stroke:#F4C430,stroke-width:2px;
    linkStyle 6 stroke:#F4C430,stroke-width:2px;

手順

  1. ColorCorrector を追加(例:CC_desat)
  2. Loader → CC_desat の黄色。Effect Mask(緑の三角)には 何も繋がない
  3. CC_desat の Saturation を 0 にする → 画面全体がモノクロになる
  4. その出力を CC_shirt の黄色へ繋ぐ(ステップ4で作ったものを流用可)
  5. Crypto_shirt(shirt_SHD)→ CC_shirt の緑の三角 と 青の三角(2本)
  6. CC_shirt で赤寄りに調整(Gain+カラーホイールなど)
  7. CC_shirt → ACES Transform → MediaOut

確認:

  • CC_desat の緑の三角は 空(全体に効いている)
  • CC_shirt の 緑+青 に Cryptomatte が来ている
  • 左ビューア(CC_desat)で 画面全体がモノクロ になっている
  • 最終ビューで 赤はシャツだけ、背景・肌・ズボン・笛はモノクロ

(左:CC_desat 直後=画面全体モノクロ/右:ACES Transform後=赤シャツだけカラー。Loader → CC_desat → CC_shirt の直列+ Crypto_shirt → 緑+青)

なぜこの順がわかりやすいか 「世界をモノクロにする」と「一点だけ色を残す」がノードで分離されます。Invert はここでは不要です。ステップ4で作った CC_shirt と Crypto_shirt をそのまま流用できます。

6-2. Invertの使いどころ——「キャラだけモノクロ」にする

6-1のオマージュ(全体モノクロ+赤シャツ)に Invert を使うのは おすすめしません。全画面 desat のほうが単純だからです。

Invert が活きるのは、「残したい部分より、グレーにしたい部分のほうが少ない」 ときです。

例: キャラクター全体をモノクロにしたいが、背景と笛は色のまま にしたい。

crypto_asset でキャラ一発選択、という話ではありません(Arnold編 のとおり、パーツ割れすることもあります)。肌・髪・シャツ・ズボン……を全部 Add するより、キャラ以外の要素だけ選んで Invert したほうが早い、という場面です。

今回のマネ風シーンなら、キャラ以外はだいたい 2つ です。

  • 背景(マネ風ステージ)
  • 笛(フルート)
flowchart TD
    L1[Loader1]
    CD[Crypto_desat]
    CC_D[CC_desat]
    ACES1[ACESTransform1]
    MO1[[MediaOut1]]

    L1 --> CD
    L1 --> CC_D
    CD -.-> CC_D
    CC_D --> ACES1
    ACES1 --> MO1

    linkStyle 0 stroke:#F4C430,stroke-width:2px;
    linkStyle 1 stroke:#F4C430,stroke-width:2px;
    linkStyle 2 stroke:#00A2FF,stroke-width:2px;
    linkStyle 3 stroke:#F4C430,stroke-width:2px;
    linkStyle 4 stroke:#F4C430,stroke-width:2px;

手順

  1. Cryptomatte を追加(例:Crypto_desat)。入力は Loader
  2. Pick(+)/ Add で 背景 をクリック
  3. 続けて 笛 をクリック(Selected Matte List に2件。例:loftedSurfaceShape1=背景、pCylinderShape1=笛)
  4. View Mode: Matte で、白=背景+笛、黒=キャラ になっているか確認
  5. ColorCorrector を追加(例:CC_desat)
  6. Loader → CC_desat の黄色
  7. Crypto_desat → CC_desat の緑の三角 と 青の三角(2本)
  8. ColorCorrector のマスク設定で Invert(マスク反転) をオン
  9. Saturation を 0 にする

結果:キャラだけグレー、背景と笛は色のまま。

(左:Crypto_desat の Matte=白が背景+笛/右:ACES Transform後=キャラだけモノクロ。loftedSurfaceShape1+pCylinderShape1 を Add → Invert)

選び方クリック数のイメージ
キャラの全パーツを Add肌・髪・シャツ・ズボン・靴…… 多い
背景+笛を Add → Invert2回 + Invert

6-1との使い分け

やりたいことおすすめ
世界全体をモノクロ+シャツだけ赤(オマージュ)6-1(全画面 desat → シャツだけ赤)
背景や笛は色のまま、キャラだけ モノクロ6-2(少数を選んで Invert)

Invert は「反転して範囲を広げる」道具です。オマージュのように ほぼ全部グレー にするなら、わざわざ Invert する必要はありません。

6-3. 完成イメージ

結果は、モノクロームの世界+赤いシャツだけ。マネ風ステージも白黒になり、スピルバーグの赤いコートと同じ視線誘導になります。

crypto_object / crypto_material / crypto_asset の違い(おさらい)

Layer単位マネ風での使いどころ
crypto_objectメッシュ笛だけ狙い撃ち(ゴールド→シルバー)
crypto_materialマテリアルシャツ生地をまとめて赤へ
crypto_assetアセット名うまく出ればキャラ全体。割れても複数スポイトや Invert で足りる

Vol.1の幾何オブジェクトシーンでは、1オブジェクト=1マテリアルに近く、3種を切り替えても差が出にくいことがあります。

キャラクターのマネ風シーンだからこそ、Layerの違いが体感しやすい——それがVol.6でシーンを切り替えた理由です。

激しく動くシーンでもエッジがガビガビにならない理由

静止画でも、マスクのエッジを拡大してみてください。

従来の オブジェクトID マスクは、DOFやモーションブラーでボケた境界が チリチリ になりがちでした。Cryptomatteのマスクは、ボケの グラデーションに沿って 滑らかに落ちています。

1ピクセルの中に 「オブジェクトAが30%、背景Bが70%」 といった重なり情報が複数層記録されているからです。Vol.4で学んだ プリマルチプライド の半透明エッジと、考え方が近いです。

だから、髪の毛の隙間やモーションブラーがあっても、パートカラーが成立しやすくなります。

よくあるトラブルと対処

Loaderの Format で crypto_object を選ぶと真っ暗

原因: Cryptomatteの生データをBeautyのように見ようとしている。

対処: あせらなくて大丈夫。 Part を RGBA に戻し、Cryptomatteノードに渡してください。パズルカラーはCryptomatteノード側に出ます。

Cryptomatteノードでも真っ黒/パズルカラーにならない

原因: Cryptomatte未出力の古いEXRを読んでいる、またはメタデータが読めていない。

対処: Arnold編 どおり Batch Render したマネ風EXRを使う。Sidecarオフも確認。

パズルカラーが暗い

原因:Colors は Beauty 用の表示ではなく、オブジェクトごとに色を分けた 選択用プレビュー なので、本来やや暗く見える。

対処: ビューア右上の ⋯ → Gain/Gamma で Gain を上げる(プレビュー用。ColorCorrector の Gain ではない)。作業上は暗いままでも問題なし。

Pickしても反応しない

原因: Cryptomatteノードが選択されていない、または Pick/Add がオフ。

対処: ノードを選択し直し、Pickをオンにしてからビューアでクリック。View Layer も確認。

スポイトで選んでもシャツの色が変わらない/白黒のまま

原因A: Cryptomatte を ColorCorrector の 黄色(メイン) に直列接続している。マスクが「絵」の代わりになっている。

対処A:

  1. Cryptomatte → ColorCorrector(黄色)の線を外す
  2. Loader → ColorCorrector(黄色)
  3. Cryptomatte → ColorCorrector の緑の三角(Effect Mask) と 青の三角(Solid Matte)(2本。緑だけだと全体に効いてしまう)
  4. ビューアは ACES Transform / MediaOut を見る

原因B: Cryptomatte の View Mode が Colors のまま。

対処B: Matte に切り替える。 Colors のままだと Effect Mask として効かず、シャツの色が変わらないことがあります。

原因C: Cryptomatte を 緑の三角だけ に繋いでいる(青の三角が空)。

対処C: 同じ Cryptomatte の出力を青の三角(Solid Matte)にも繋ぐ。 緑だけだと画面全体に色補正がかかることがあります。

Gainをいじっても変化がない

原因: ACEScg のまま CC 単体を見ている。

対処: ACES Transform 経由 で最終出力を確認する。

調整のヒント

ここまでの手順を一通りやってみたあと、「次は何を触ればいいんだっけ?」 と迷ったとき用の早見表です。Cryptomatte連載の実践パートを振り返ると、やることは大きく 2種類 に分かれます。

  1. どこに効かせるか —— Cryptomatte(View Layer・Pick/Add・Remove)
  2. どう見せるか —— ColorCorrector(Hue・Gain・Saturation など)

マスクを ColorCorrector に渡すときは、本文どおり 緑の三角(Effect Mask)と青の三角(Solid Matte)の2本 を忘れないでください。緑だけだと、意図したパーツではなく 画面全体 に色補正がかかることがあります。

下の表は、よくある「やりたいこと」から、最初に触るノード と Inspectorのどこ を逆引きしたものです。数値はシーンやモニターによって変わるので、表はあくまで出発点として使ってください。最終的な見え方は、必ず ACES Transform 経由(MediaOut 直前)で確認するのがおすすめです。

やりたいことノード触るところ
マスクの切り口を変えるCryptomatteView Layer
パーツを足す/外すCryptomattePick(+)/Add ・ Remove
シャツを赤にColorCorrectorHue / Gain
笛をシルバーにColorCorrectorSaturation 下げ+少し冷たい色味
全体をモノクロ(オマージュ)ColorCorrectorEffect Maskなしで Saturation を 0 → その後シャツだけ赤
キャラだけモノクロ(背景・笛は色のまま)ColorCorrector背景+笛を Add → Effect Mask + Invert → Saturation を 0
最終確認ACES TransformMediaOut直前に1回

View Layer で迷ったら、笛のような 単体パーツ は crypto_object、同じマテリアルが複数あるときは crypto_material から試すとよいです。色の強さは Gain、色味の方向はカラーホイール、金属っぽさの調整は Saturation と Midtones の組み合わせが多いです。

シンドラーのリスト風(全体モノクロ+一点だけ色)は Invert なし の全画面 desat → シャツだけ赤、が一番シンプルです。Invert が活きるのは キャラだけモノクロ のように、選ぶ対象が少ないほうが楽なときだけ、と覚えておくと迷いにくいです。

まとめ

ポイント内容
デモシーンマネ風『笛を吹く少年』(Arnold編と同じ)
ノード構成Loaderから二股 → CC【黄色】=絵/Cryptomatte→CC【緑+青】→ ACES Transform
Loaderの罠Formatで crypto を見ると真っ暗 → RGBAのまま進む
実践例シャツ赤/笛ゴールド→シルバー/全体モノクロ+赤シャツだけ(シンドラーのリスト風)
再レンダー不要(Cryptomatte入りEXRがあれば)

Vol.1からここまで——コンポジットの基本スキル

ここまでの 「Maya×Arnold → DaVinci Resolve Fusion」 連載は、内容的には一段落です。連載そのものが終わるわけではありません。ただ、コンポジットの基本スキルとしては、Vol.1〜Vol.6の内容がとても重要 だと思っています。

ここまでで積み上げたスキル

回テーマ身につく力
Vol.1AOV加算マージの基礎ACEScgのEXRを読み、MergeでBeautyを再構築する
Vol.2アルファ消失と背景差し替えEffect Maskでアルファを復元し、背景を変える
Vol.3renderSetupとOver合成分けたレイヤーをOverで奥から積み上げる
Vol.4aiShadowMatteと影の加工プリマルチプライドを理解し、影をぼかして色を変える
Vol.5emissionからGlowCC + Blur + 加算Mergeで発光を足す
Vol.6Cryptomatteスポイトで パーツ単位グレード ——再レンダーなしの修正対応

Nukeにも通じる思考法

  • ACES カラーマネジメント
  • リニア空間 で足し算し、最後にトーンマップ
  • Effect Mask で「どこに効かせるか」を分離
  • Cryptomatte でスポイトマスク抽出

Fusionは 無料でほぼ全機能が使える 練習場です。ここで培ったノードの繋ぎ方は、将来どのコンポソフトに移っても資産になります。

怖がらなくて大丈夫です。ノードを間違えても、配線を外して繋ぎ直せばいい。ピクセルが変わる瞬間の楽しさ を、ぜひ味わってください。

なぜ、このシリーズを書いたか

このようなコンポジットの基本スキルを、オープンに、日本語で学べる場所が他にあまり見つかりませんでした。なので、3Dアニメーターのくせに専門外のコンポジットを、調べながら・学びながら連載として書いてきました。

AIの時代になって、こうした コンポジットの基本スキル がいっそう重要になる——そう感じています。

理由はシンプルで、AIが出してくれる画像や動画は、たいてい「そのまま完成品」ではない からです。プロンプトを何度調整しても、背景だけ差し替えたい、特定パーツの色だけ直したい、3Dレンダーと生成素材を自然につなぎたい、といった 部分的なコントロール が必要になる場面は、これからも残るはずです。実際、VFX現場でも「ComfyUIや動画生成AIで素材を作り、NukeやResolveでマスク・合成・色合わせする」という ハイブリッドなワークフロー が増えています(例:DerekVFX「Next Stop Paris」 では、AI生成結果をCryptomatteなどで 選択的に戻し込む 手法まで紹介されています)。

しかし、コンポの知識が効くのは 後工程だけ ではありません。生成時のコントロール にも使われます。ComfyUIなどでは、3Dレンダーや実写から出した デプスマップ を条件に渡して構図やカメラを固定したり、Canny(輪郭・エッジ) でシルエットを縛ったり、OpenPose でポーズや動きを指定したりします。セグメンテーション(マスク)やノーマルマップを渡すワークフローもあります。いずれも「画像の見た目」そのものではなく、構造やレイアウトを別パスとして分離して渡す ——Vol.1でAOVを分けて扱ってきたのと、発想は同じです。

つまりAIは 素材やバリエーションを大量に出すエンジン になりやすく、最終的に「どこをどう直すか」を決めて仕上げるのは、これまでどおりコンポの仕事 です。Vol.6のCryptomatteのようなマスク抽出は3Dレンダー向けですが、「Effect Maskで範囲を限定する」「レイヤーを分けて合成する」「色空間を意識して最後にトーンマップする」といった 考え方そのもの は、AI生成物の 生成時 にも 後工程 にもそのまま使えます。

だからこそ、コンポジター以外の人——私のような 3Dアニメーター も含めて——こうした基本を身につけておく価値がある、と思っています。AIに全部任せるのではなく、生成結果を意図どおりにコントロールできる側 に回るための土台です。だからこのシリーズを続けています。誰かの役に立てば幸いです。

内容としては一段落ですが、このシリーズの記事はまだ続きます。今後もよろしくお願いします。

次回予告:Vol.7 モーションベクター

とりあえず、ここで一区切りとなりますが、シリーズは続きます。

次回 Vol.7 では モーションベクター を扱います。3Dで出すモーションブラーと、Fusionの2Dポスト処理の使い分け——ACEScg環境で色が滲む問題の対処も予定しています。

関連記事【Maya×Arnold】コンポ用Motion Vector(モーションベクトル)の正しい出力設定関連記事【DaVinci Resolve Fusion vol.5】emissionパスからGlowを作る方法|ライトセーバーが映画のように光る関連記事Maya Arnold➔Fusion連携ワークフロー完全ロードマップ関連記事DaVinci Resolve Fusion コンポジット完全ガイド関連記事【Maya x Arnold】Maya Arnold レンダリング&AOV出力設定まとめ【完全保存版】

コメント

まだコメントはありません