Cryptomatte(クリプトマット)とは、Psyop社 の Jonah Friedman と Andy Jones によって作成されたオープンソースソフトウェアである。また、このソフトウェアもしくは他の同等機能を持つソフトウェアを使って生成された特定スタイルの画像のことも「Cryptomatte」と呼んでいる。

Cryptomatte はその普偏性、人気3DCGソフトへの統合、その使いやすさによって業界のほぼスタンダードとなった。

レンダリング処理

このプログラムは、例えばシーン内の一つまたは複数のオブジェクトに対して「画像マスク」(イメージマスク。アナログのフイルム時代は「マット」と呼ばれるのが一般的で、デジタル時代においてもしばしばそう呼ばれる)を作成する際などに使える、そのシーンの「IDマット」を自動で生成してくれる。このIDマットは Cryptomatte と呼ばれる通り、非常に特徴的な外観を持つ。生成された Cryptomatte 画像は、各オブジェクトやマテリアルごとに異なるランダムな色が割り当てられているため、一般的に非常にカラフルな見た目となっている。レンダリング時に既に利用可能なデータを使用して、モーションブラー、透明度、被写界深度に対応するマットを自動で作成して通常のレンダリング画像と同時に吐き出してくれる便利なプログラムである。

対応レンダリングエンジン

Cryptomatte 画像はBlender、Autodesk Maya、Autodesk 3ds Max、Houdiniのような様々な3Dグラフィックソフトウェアによって生成することが可能であり、通常 OpenEXR ファイル形式でエクスポートされる。

プログラムが Cryptomatte 画像を生成できるかは、使用するレンダリングエンジンに依る。プログラムが複数のレンダリングエンジンをサポートしている場合、あるエンジンでは Cryptomatte 画像を生成できても、他のエンジンでは生成できないということがある。例えばBlenderではバージョン2.80より前は Cryptomatte 画像の生成をサポートしていなかった。2.80では、パストレーシングレンダリングエンジン「Cycles」のみが Cryptomatte 画像の生成をサポートし、新しく追加されたリアルタイムレンダリングエンジン「Eevee」ではサポートしていなかった。Eevee に Cryptomatte 画像の生成のサポートが追加されたのは、Eeveeが初めて発表されてから1年半後にリリースされたバージョン2.92であった。

以下のレンダリングエンジンは Cryptomatte 画像の生成に対応している:

対応コンポジットソフトウェア

ワークフロー例

3Dシーンにおいて Cryptomatte 画像はそれぞれのオブジェクトに一意のIDを割り当てて生成される。通常、オブジェクト同士は明白に異なる色を持っているため、オブジェクトの多いシーンでは非常にカラフルとなる。IDマットはシーンにおいて一つまたは複数のオブジェクトを取り出して使うことができる。また、IDマットはデジタル合成のためにエクスポートしたり、3Dソフトウェア自身で使うことができる。

例えばのワークフローでは、画像の特定部分のみにエフェクトを掛けるための制限用マスクを生成するために Cryptomatte 画像が使われる。それによってシーン全体を再レンダリングする必要なく、素早くマスクを作成することが可能となる。

画像に対するワークフロー例:

動画に対する同様のワークフロー:

この例のマスクは中央の立方体だけ影響するように視覚効果を制限するために使用可能となっている。

ライセンス

開発者はこのプログラムのソースコードを公開し、それを「オープンスタンダードを中心としたエコシステムにするために」三条項BSDライセンスの下でライセンスした。開発者らの目標は「Cryptomatte 画像を生成できるレンダラーや、その画像をデコードするデジタル合成アプリケーションのプラグインなど、多様なエコシステムを実現すること」であった。

関連項目

  • ディープ・イメージ・コンポジティング

外部リンク

  • Cryptomatte on github.com
  • Fully automatic ID mattes with support for motion blur and transparency (SIGGRAPH 2015よりPDFファイル)

出典


Nuke Cryptomatte YouTube

Cryptomatte Nuke install & Download How to Use Cryptomatte in nuke

Continuous Add and Remove for Cryptomatte Usability Developer Forum

HOW TO RENDER AND USE CRYPTOMATTE IN MAYA AND NUKE VFX VIBE YouTube

Blender Cryptomatte在Nuke13中无法识别问题 哔哩哔哩