Cryptomatte

Cryptomatte は  の Jonah Friedman と Andy Jones によって作成されたオープンソースソフトウェアであり、また、そのソフトウェアや同等機能を持つ他のソフトウェアによって生成された特定スタイルの画像のためにも同義的に使われている。

Cryptomatte はその普偏性、一般的な3Dグラフィックソフトウェアへの統合、使いやすさにより業界の準スタンダードとなった。

レンダリング処理 
このプログラムは、例えばシーン内の一つまたは複数のオブジェクトに対して画像マスクを作成する際に使用することができるシーンの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ファイル)

出典 

フリーソフトウェアとオープンソースソフトウェア

2016年のソフトウェア