結論から言うと、CryptomatteはArnoldのAOVに3種類足してマルチパートEXRで書き出すだけでOKです。 Sidecar Manifests は デフォルトでオフ なので、通常はそのままで問題ありません。あとから オンにしない ことと、レンダー後に JSONが出ていないか確認する 程度で十分です。
本記事は、Fusion連載 【Resolve Fusion Vol.6】 の 3D側・前提編(Maya×Arnold)です。Vol.6は 2段構成 になっています。
- 本記事(いまここ) … Cryptomatte AOVを足して、マルチパートEXRを再レンダリングする
- Fusion Vol.6(続編) … スポイトでマスク抽出し、ColorCorrectorでパーツ単位に色調補正する
前回(Vol.5) では、emission_pass を使ってライトセーバーの Glow を仕上げました。Vol.6では、その先の 「どのパーツに手を入れるか」 を、Cryptomatteで自由に選べるようにします。
Vol.3 で学んだ renderSetup による 別EXRへの分離 は、レイヤー単位の話です。今回はその さらに一段細かい 粒度——「緑のシャツだけ色を変えたい」「笛だけ明るくしたい」といった パーツ単位の狙い撃ち を、3Dの再レンダリングなしでFusion上からやるための Cryptomatte(クリプトマット) を、Maya×Arnold側から正しく出力する手順をまとめます。
今回使うシーン——マネ風「笛を吹く少年」
Vol.1〜Vol.5では立方体・トーラスなどの幾何オブジェクトでパイプラインを組んできましたが、Vol.6(Cryptomatte)からはデモシーンを切り替えます。
使うのは、エドゥアール・マネの『笛を吹く少年』をモチーフにしたキャラクター+チェッカーの湾曲ステージ(サイクロラマ)です。すでに公開している aiShadowMatte(マネ風ステージ)の記事 と同じ世界観です。
Cryptomatteの説明には、幾何物体よりキャラクターの方が圧倒的に分かりやすいです。
| Cryptomatte | このシーンでのイメージ |
|---|---|
crypto_object | 髪・顔・シャツ・ズボン・靴・笛……メッシュ単位でバラバラに色分け |
crypto_material | 同じマテリアル同士がまとまる(肌/髪/シャツ/ズボン/靴/笛など) |
crypto_asset | うまく出ればキャラ全体が1色。割れても本連載の実践には問題ない(後述) |




Vol.6を読む順番
【Maya×Arnold】Cryptomatte出力設定ガイド|Object/Material/Assetの3種AOVとSidecar Manifests確認 ← いま読んでいる記事(3D側)
【Resolve Fusion Vol.6】Cryptomatte実践入門|スポイト感覚で狙ったオブジェクトを一発マスク抽出! ← 続編(Fusion側)

連載の前後
【Resolve Fusion Vol.5】emissionパスからGlowを作る方法|ライトセーバーが映画のように光る(前回)

【Maya】ArnoldでACEScgに対応したAOVレンダリング基本設定(Vol.1の3D側・前提)

【Resolve Fusion Vol.1】ACEScg AOV加算マージの基礎(Vol.1のFusion側・前提)

【Resolve Fusion Vol.3】Over合成入門|renderSetupで分けた別EXRをMergeノードで重ねる基本(レイヤー分離との違いの参考)

Cryptomatteとは?従来の白黒マスクとの決定的な違い
コンポジットで「特定のオブジェクトだけ色を変える」作業——いわゆる パートカラー は、映画でもゲームCMでも日常的に行われます。
しかし従来のマスク出力には、3Dアーティストにとって 限界 がありました。
| 従来手法 | 何がつらいか | 忘れるとどうなるか |
|---|---|---|
| RGBマスク(R/G/Bで3色塗り分け) | 1枚で3パーツまで。30パーツなら10枚のEXR | ファイルが雪だるま式に増え、どのマスクがどのパーツか分からなくなる |
| オブジェクトID(単色のID番号) | モーションブラー・DOFでエッジが混ざると数値がブレる | 輪郭が ガビガビ(ジャギー) 。髪の毛の隙間は マスク迷子 の温床 |
Cryptomatte は、この2つをまとめて過去に送る技術です。
- 1本のマルチパートOpenEXR に、シーン内のオブジェクト/マテリアル情報がまとめて入る
- 1ピクセルに 複数オブジェクトの重なり率(%) まで記録される
- ボケたエッジやモーションブラーのグラデーションも、Vol.4で学んだ 半透明アルファ と同じくらい丁寧に保持される
だからFusion側では、スポイトでクリックするだけで「そのパーツだけ」のマスクが取れる——という流れになります。
ビューアのサイケデリックな色に騙されるな!


FusionやNukeでCryptomatteをビューアに出すと、画面が 赤・緑・紫のパズル みたいになります。「こんな雑な色分けで、オブジェクトが100個あったら被って混ざるんじゃ?」と不安になりますよね。私も最初はそう思いました(笑)。
安心してください。あのカラフルな表示は、人間が見やすいようにした「仮のプレビュー」です。
裏側では、オブジェクト名やマテリアル名を 32bit浮動小数点のID に変換してピクセルに刻んでいます。名前が重複しない限り、データが被ってマスクが混ざることはありません。パーツが増えても、スポイトで名前ベースに選べます。
ArnoldでCryptomatteを登録する基本手順
Vol.1と同じく、マルチパートOpenEXR への書き出しを前提にします。Cryptomatteは Beautyパスとは別レイヤー として同じEXRに同居させます。
ステップ1:AOVを3種類追加する
- Render Settings(レンダー設定) を開く(
Renderメニュー >Render Settings、またはショートカット) - 左のカテゴリから Arnold を展開し、AOVs タブをクリック
- 画面左側の AOV Browser リストをスクロールし、次の3つを探す
crypto_objectcrypto_materialcrypto_asset
- それぞれをダブルクリックするか、右矢印ボタンで Active AOVs(右側のリスト)へ追加する

renderSetup との関係 Cryptomatteは グローバルAOV です。Vol.3の
renderSetupレイヤーに登録する必要はありません。Vol.1どおりのマルチパートEXR出力設定のまま、上記3つを足すだけでOKです。
ステップ2:出力形式を確認する
Vol.1の設定を踏襲してください。
- ファイル形式: OpenEXR(マルチパート)
- カラースペース: ACEScg(リニア)——ログ空間の ACEScc ではありません
- データタイプ: 32bit float
- 書き出し方法: Batch Render(バッチレンダー) でディスクに出力(後述)
Cryptomatteレイヤーも同じEXRに入るため、別フォルダにマスク用EXRを増やす必要はありません。
ステップ3:Cryptomatte入りのEXRを書き出す
Vol.1〜Vol.5で使った幾何オブジェクトの素材には Cryptomatte が含まれていません。また Vol.6 ではデモシーン自体も マネ風「笛を吹く少年」 に切り替えています(地面・背景など、シーン側の改造も含む)。
したがって「以前のEXRにもう一度AOVだけ足す」という話ではありません。本記事のマネ風シーンに Cryptomatte AOVを足した状態で、Batch Render してください。 連載のVol.6(Fusion編)では、ここで書き出したEXRを使います。
【知っておきたい】Sidecar Manifests とは?——デフォルトはオフで、そのままでOK
Arnoldの Sidecar Manifests は、デフォルトでは オフ(チェックなし) です。つまり、何も触らなければマニフェストはEXRに埋め込まれ、本連載のVol.6でもそのまま使えます。
それでもここで触れるのは、名前が紛らわしい うえ、うっかりオンにすると後工程が面倒になる からです。「JSONが出る=壊れている」わけではなく、オンにしたときだけ 別ファイル管理が始まる——という理解を持っておきましょう。
そもそもマニフェスト(manifest)とは?
Cryptomatteには、ピクセルの数値IDと 人間が読める名前(torusShape や gold_metal など)を対応づける辞書——マニフェスト が必ず付きます。
この辞書の置き場所が2パターンあります。
| 方式 | データの居場所 | Fusion/Nuke向き |
|---|---|---|
| 埋め込み(デフォルト推奨) | EXRヘッダーのメタデータ内 | ◎ EXR1本で完結 |
| Sidecar(別ファイル) | EXRと同じフォルダの .json | △ パス管理が必要 |
Arnoldの Cryptomatteシェーダー にある Sidecar Manifests チェックボックスが、この二択を切り替えます。
Sidecarをオンにすると何が不便か——Fusionに渡すときの話
「JSONが1個付いてくるだけでしょ?」——一見そう思えますが、Sidecarをオンにした場合 は次のような手間が増えます。
1. ファイル数が爆発する
100フレームのアニメーションで、3種類のCryptomatte(object / material / asset)をSidecar出力すると、理論上 最大300個のJSON がフォルダに散らばります。さらにレンダーファーム(ネットワークレンダリング)では、ワーカーごとに出力先が微妙に違うこともあります。
EXRだけ別フォルダにコピーしたり、ZIPにEXRだけまとめたりすると、JSONが1枚でも欠けることがあります。そうなるとFusionでスポイトしたとき、名前が 空欄 になったり 数字の羅列 だけが並びます——Arnoldのドキュメントやフォーラムでも「マニフェストが読めない」とよく報告されている症状です。本連載のVol.6でも、まずEXR単体で動く状態を前提に進めます。
2. EXRの中に「JSONへの相対パス」が書かれる
Sidecar方式では、EXRのメタデータに ../manifest.1001.json のような 相対パス が記録されます。つまり EXR単体では完結していません。
- EXRだけ別ドライブにコピー → マスク迷子
- クラウドストレージにEXRだけアップ → マスク迷子
- 納品ZIPにEXRフォルダだけ詰める → マスク迷子
EXRだけ手元にコピーしてFusionを開くと、マニフェストが見つからずスポイトが機能しません。
「JSON、どこに出た?」とフォルダを探す羽目になるので、ここはくれぐれも注意しておきましょう。
3. レンダーファームでパスが壊れる
レンダーファームでは、ワーカーPCごとにドライブレターが違います(Z:\render\ と D:\jobs\)。Sidecarの相対パスは、レンダーしたマシン上では正しくても、コンポのPCでは解決できない ことがあります。
さらに、レンダーファーム環境では複数ワーカーが同じJSON名で上書きし合ったり、出力フォルダの権限がなくJSONだけ書き出しに失敗したりする——といった話も、Arnoldフォーラムなどで報告されています。Beautyは問題なくてもマスクだけ死ぬ、という状態はSidecar方式で起きやすいようです。
4. Fusion / Nuke側の手間が増える
埋め込み方式なら、Cryptomatteノードは そのまま EXRを読めばスポイトが動きます。
Sidecar方式だと、Nukeでは Manifest Source を Sidecar に切り替え、JSONファイルを 手動で指定 する必要があります。Fusionでも同様に、パスが切れていると名前が読めません。Vol.6でやりたい「スポイトで選んで補正」が、パス探しから始まることになります。
5. 「JSONがないと名前は認識できないのでは?」は逆
初心者がよく陥る誤解です。埋め込み(Sidecarオフ)でも、名前はEXRの中にちゃんと入っています。 JSONは「外付けの辞書」であって、必須ではないのです。
逆に言えば、SidecarをオンにしたのにJSONを渡し忘れる と、名前が読めなくなる——という報告がArnoldのフォーラムなどにあります。デフォルトのオフ設定のままなら、この心配はありません。
この記事のおすすめ 個人制作や本連載の範囲なら、「EXRだけ渡せばFusionで動く」 状態にしておくのがいちばん安全です。3D側でJSONの管理まで引き受ける必要はありません。
Sidecarが必要な場面(参考)
全部が悪、というわけではありません。Arnoldの deferred stand-in(遅延読み込みのプロシージャル)のように、レンダー完了後にオブジェクト名が確定する 特殊ケースでは、Sidecarの方が安全なことがあります。
ただ、今回のような簡単なシーンや個人制作なら、まずは 埋め込み(Sidecarオフ) で問題ありません。本連載のFusion Vol.6も、この前提で進めます。
【手順】Sidecar Manifests の確認(デフォルトはオフ)
やることはシンプルです。デフォルト(オフ)のままなら触らなくてOK——ただし名前が紛らわしいので、どこを見ればいいかだけ整理します。
| 用語 | 何か | 触る? |
|---|---|---|
| Cryptomatte Filter | Beautyのぼかしに合わせてIDをランキングする 自動フィルタ | 基本は 触らない(Arnoldが自動設定) |
Cryptomatteシェーダー(_aov_cryptomatte) | マニフェストの出し方など 全体設定 | 確認のために開く(通常は設定を変えない) |
| Sidecar Manifests | マニフェストをJSON別出力する チェックボックス | オフ(チェックなし)のまま。オンなら外す |
AOVタブで crypto_object を選ぶと Filter 欄に crypto_object_filter と表示されますが、これは上の表の Cryptomatte Filter で、Sidecarのスイッチではありません。オフであることを確認したいときは、Cryptomatteシェーダー本体 を開いてください。
手順A:Hypershade から開く(いちばん楽、おすすめ)
- Windows > Rendering Editors > Hypershade を開く
- 左上の Browser で Materials タブを選ぶ
- 一覧から
_aov_cryptomatteをクリックして選択する(名前が途中で切れて_aov_crypto...のように見えても問題ありません) - 右下の Property Editor に、Cryptomatteシェーダーの設定がそのまま表示されます(Attribute Editor と同じ内容です)
Sidecar Manifestsが オフ(チェックなし) になっているか確認する。デフォルトではオフ です。オン(チェックあり)になっていたら、チェックを外してください。Cryptomatte DepthやStrip Obj Namespacesなどが一緒に並んでいれば、この画面で合っています

どういう機能?
Sidecar Manifestsオン = マニフェストを.jsonで別出力。EXRは「辞書の置き場所への道順」だけ持つ。なぜオフにするの? オフ = マニフェストをEXRヘッダーに埋め込み。コンポに EXR1本渡せば完結 するからです。
- 設定は
crypto_object/crypto_material/crypto_asset共通のグローバル設定 です。1回確認すれば、3つのAOVすべてに反映されます - シーンを保存する
手順B:Render Settings の AOVタブからたどる(代替)
AOVの設定画面から辿りたい場合は、次の手順です。
- Render Settings > Arnold > AOVs タブを開いたまま、Active AOVs リストで
crypto_objectを 1回クリック して選択する - 画面下側の
crypto_objectの行を見る。行のいちばん右にある ▼(下向きの三角形) をクリックするとメニューが出ます。いちばん下のSelect Filterを選ぶ

Ctrl + Aで Attribute Editor(アトリビュートエディタ) を開く(または前面に出す)。aiAOV_crypto_objectタブが表示されていれば、このAOVノードまでたどり着けています。Filter 欄にcrypto_object_filterが見えても——ここは触らなくてOK です(Sidecarのスイッチではありません)
Custom AOVセクションを開く。Shader 欄に_aov_cryptomatteと表示されているはずです。欄の右側にあるマップボタン(四角に矢印が入ったアイコン)をクリックする

- タブが
cryptomatte(または_aov_cryptomatte)に切り替われば、Cryptomatteシェーダーノードまでたどり着けています。aiAOV_crypto_objectタブのままではSidecar Manifestsは出ません——設定はシェーダーノード側にあります _aov_cryptomatteタブの上部にあるSidecar Manifestsを確認する(手順Aと同じく、デフォルトはオフ)

ついでに確認しておきたい設定(_aov_cryptomatte ノード内)
| パラメータ | 推奨 | 理由 |
|---|---|---|
| Sidecar Manifests | オフ(デフォルト) | 本記事の主旨。すでにオンならチェックを外す |
| Cryptomatte Depth | 6(デフォルトのまま) | 1ピクセルあたりの重なり記録数。6で十分 |
| Preview in EXR | オフ(デフォルト推奨) | プレビュー用レイヤーはデコーダが使わない。容量の無駄 |
レンダリング時の注意
- Batch Render でディスクに書き出す(
Render > Batch Render) - Arnold RenderView から「Multi-Layer EXRを保存」だけだと、メタデータが欠ける ことがあり、Fusionで名前が読めない事例があります。Vol.6用の素材は バッチレンダー で出してください
- Cryptomatte AOVのカラースペースは Raw のまま(OCIOの出力変換をかけない)。
Apply Output Transform to RendererがオンだとCryptomatteデータが壊れる報告もあるので、Vol.1のACEScg設定を踏襲しつつ、Crypto系だけは変換が掛からない状態を確認してください

「Object」「Material」「Asset」の使い分け
3種類まとめて出力しておき、Fusion側の Cryptomatte ノードの Layer で切り替える のがおすすめです。容量は1本のマルチパートEXRに収まるので、迷ったら3つ全部オンでOKです。
| Layer名 | 単位 | こんなとき使う | マネ風シーンでの見え方 |
|---|---|---|---|
| crypto_object | メッシュ(Shape)単位 | 「このパーツだけ」と オブジェクト名 で狙う | 髪・顔・シャツ・関節・笛……パーツごとに色が分かれる |
| crypto_material | マテリアル(シェーダー)単位 | 同じ材質を まとめて 色調補正したい | 同じ肌マテリアルの顔・手が同色。シャツ/ズボン/靴は別色 |
| crypto_asset | アセット名(名前空間など)単位 | 複数アセットが並ぶカットで キャラごと/セットごと に大まかに取る | うまく出れば1色。割れても本連載の実践には問題ない(後述) |
Vol.6(Fusion編)の実践例 では、たとえば「緑のシャツだけ色を変える」ために crypto_material を選びます。同じシャツマテリアルが他にもあればまとめて変わります。シャツのメッシュ1枚だけ変えたいなら crypto_object です。日常のパートカラー作業の主役は、だいたいこの2つです。
crypto_asset について——一色にならなくても大丈夫
マネ風キャラで Cryptomatte を出すと、だいたい次のようになります。
| AOV | 結果 | 判定 |
|---|---|---|
crypto_object | パーツごとに色が分かれる | 正常(メッシュ単位だから) |
crypto_material | マテリアル単位でまとまる(肌/髪/シャツ/ズボンなど) | 正常 |
crypto_asset | object と同様にパーツごとに色が分かれることがある | よくある。Vol.6の実践では必須ではない |
「Assetなのにキャラが1色にならない」と気になるかもしれませんが、本連載(Vol.6)の目的——シャツや笛などパーツ単位の色変え——には crypto_object / crypto_material で十分 です。crypto_asset が割れても、先に進んで問題ありません。
crypto_asset は何のためのレイヤーか
Cryptomatte の3種のうち、いちばんよく触るのは crypto_object と crypto_material です。
crypto_asset は、もともと シーンに複数のアセットが並ぶとき(キャラA・キャラB・背景セットなど)に、「このキャラ全体」「このセット全体」といった 大きな塊 を一発で取るためのレイヤーです。Mayaではだいたい リファレンスの名前空間(namespace) をアセット名の手がかりにします。
今回のマネ風シーンも、アニメーション用にキャラクターリグを リファレンスで読み込んでいます。それでも crypto_asset がパーツごとに割れることはあります。名前空間の付け方、Arnoldの書き出し設定(例:Export Full Paths)、リグ内部のネストなど、環境によって自動判定が期待どおりにならないことがあるためです。
親子関係(Outlinerのグループ)をきれいにしても、crypto_asset はまとまりません。 階層ではなく、名前空間や明示したアセット名を見ています。
なお crypto_material も同様で、親子関係ではまとまりません。 見ているのはアサインされているシェーダー名だけです。顔と手が同じ肌マテリアルなら同色になり、シャツ/ズボンが別マテリアルなら別色になる——マネ風シーンの見え方はその結果です。
本記事でのスタンス
- 3種類とも出力しておく(容量は1本のEXRに収まる)
- Fusionではまず
crypto_material/crypto_objectを使う crypto_assetが1色にならなくても 気にしない- キャラ全体を1マスクで取りたくなったら、そのときは Fusion 側で object / material を 複数スポイトで足す やり方でも足りることが多い
キャラ全体を crypto_asset で必ず1色にする手順は、カットにキャラが何体も並ぶようなパイプライン向けの話です。入門のVol.6では深追いしません。
出力後のチェックリスト
レンダリングが終わったら、次を確認してください。
- EXRが1本(またはシーケンス)で、マルチパートになっている
- 同じフォルダに大量の
.jsonが出ていない —— 出ていたらSidecar Manifestsがオンです。設定を見直して再レンダー - Fusionの Loader で Part を切り替え、
crypto_objectなどのレイヤーが選べる - Cryptomatte ノードを通すと パズルカラー になる(正常)
- スポイトでオブジェクト名が 文字列として 選べる(数字だけの羅列になっていない)


まとめ——次はFusionで「スポイト魔法」の番です
| ポイント | 内容 |
|---|---|
| デモシーン | マネ風「笛を吹く少年」+チェッカーステージ(Vol.6から切替) |
| 追加するAOV | crypto_object / crypto_material / crypto_asset |
| 出力先 | Vol.1と同じ マルチパートOpenEXR(ACEScg・32bit float) |
| Sidecar Manifests | オフのまま(デフォルト)。オンにするとJSON別出力になり管理が面倒 |
| 設定場所 | cryptomatte(_aov_cryptomatte) ノードの Attribute Editor |
| crypto_asset が割れるとき | Vol.6では問題ない。主役は object / material |
| renderSetup | 不要。グローバルAOVとして足すだけ |
| 書き出し | Batch Render でディスク出力 |
ここまでの作業で、3D側の準備は完了です。
Vol.1で組んだAOVパイプラインに、「どのパーツか」という名札 が1本のEXRに乗った状態になりました。あとはFusionに放り込んで、Cryptomatteノードの スポイトをカチカチ するだけ。
続く Fusion Vol.6 では、このEXRを使って——
- パズルカラーの画面から、緑のシャツだけ を一瞬で白黒マスク化
- Vol.4・Vol.5で慣れた ColorCorrector と Effect Mask(緑の三角) で、シャツの色を差し替え
- 再レンダリングゼロ で、クライアントの「やっぱり色変えて」に笑顔で応える
……という、連載いちばん「コンポって楽しい!」と感じる回が待っています。設定さえ正しければ、Fusion側は驚くほどあっさりいきます。3Dでちゃんと名札を付けておいてよかった、と思う瞬間が必ず来ますよ。
crypto_asset がパーツごとに割れていても、Vol.6の実践(シャツや笛の色変え)は crypto_material / crypto_object で十分 進みます。キャラ全体を1色にする手順は、この入門では深追いしません。
【Resolve Fusion Vol.6】Cryptomatte実践入門|スポイト感覚で狙ったオブジェクトを一発マスク抽出! —— Cryptomatte入りEXRの書き出しが終わったら、こちらへどうぞ。












コメント