Cryptomatte
From Wikipedia, the free encyclopedia
Cryptomatte(クリプトマット)とは、Psyop社 の Jonah Friedman と Andy Jones によって作成されたオープンソースソフトウェアである。また、このソフトウェアもしくは他の同等機能を持つソフトウェアを使って生成された特定スタイルの画像のことも「Cryptomatte」と呼んでいる。
|
| |
| 作者 |
Jonah Friedman Andy Jones |
|---|---|
| 開発元 | Psyop |
| 初版 | 2016年7月10日 |
| 最新版 |
1.4.0
/ 2021年5月3日 |
| リポジトリ |
github |
| プログラミング 言語 | Python、Lua |
| ライセンス | 三条項BSDライセンス |
| 公式サイト |
github |
Cryptomatte はその普偏性、人気3DCGソフトへの統合、その使いやすさによって業界のほぼスタンダードとなった。
レンダリング処理
このプログラムは、例えばシーン内の一つまたは複数のオブジェクトに対して「画像マスク」(イメージマスク。アナログのフイルム時代は「マット」と呼ばれるのが一般的で、デジタル時代においてもしばしばそう呼ばれる)を作成する際などに使える、そのシーンの「IDマット」を自動で生成してくれる。このIDマットは Cryptomatte と呼ばれる通り、非常に特徴的な外観を持つ。生成された Cryptomatte 画像は、各オブジェクトやマテリアルごとに異なるランダムな色が割り当てられているため、一般的に非常にカラフルな見た目となっている。レンダリング時に既に利用可能なデータを使用して、モーションブラー、透明度、被写界深度に対応するマットを自動で作成して通常のレンダリング画像と同時に吐き出してくれる便利なプログラムである[1]。
対応レンダリングエンジン
Cryptomatte 画像はBlender[2]、Autodesk Maya[3]、Autodesk 3ds Max[4]、Houdini[5]のような様々な3Dグラフィックソフトウェアによって生成することが可能であり、通常 OpenEXR ファイル形式でエクスポートされる。
プログラムが Cryptomatte 画像を生成できるかは、使用するレンダリングエンジンに依る。プログラムが複数のレンダリングエンジンをサポートしている場合、あるエンジンでは Cryptomatte 画像を生成できても、他のエンジンでは生成できないということがある。例えばBlenderではバージョン2.80より前は Cryptomatte 画像の生成をサポートしていなかった[6]。2.80では、パストレーシングレンダリングエンジン「Cycles」のみが Cryptomatte 画像の生成をサポートし、新しく追加されたリアルタイムレンダリングエンジン「Eevee」ではサポートしていなかった。Eevee に Cryptomatte 画像の生成のサポートが追加されたのは、Eeveeが初めて発表されてから1年半後にリリースされたバージョン2.92であった[7]。
以下のレンダリングエンジンは Cryptomatte 画像の生成に対応している:
| レンダリングエンジン名 | 搭載 | 追加されたバージョン |
|---|---|---|
| Arnold [8][9] | 3ds Max Maya |
Arnold 5.2 |
| Cycles [6] | Blender | Blender 2.80 |
| Eevee [7] | Blender | Blender 2.92 |
| Mantra [10] | Houdini | Houdini 16.5 |
| Karma [11] | Houdini | Houdini 18.5 |
| Modo renderer / mPath[12] | Modo | Modo 14.2 |
| Redshift [13] | Cinema 4D (CPU版のみ搭載) | Redshift 2.6.11 |
| Radeon ProRender [14] | Radeon ProRender 3.1 | |
| 3Delight [15] | Katana | |
| Unreal Engine (Movie Render Queue) [16] | Unreal Engine | 4.26 |
| Octane Render [17] | ||
| RenderMan [18] | ||
| V-Ray [19] | V-Ray 3.6 | |
| Corona Renderer | Corona Renderer 8 |
対応コンポジットソフトウェア
| コンポジットソフト名 | 追加されたバージョン |
|---|---|
| Autodesk Flame | 2020[20] |
| After Effects | 17.0[21] |
| Nuke | 13.0[22] |
| Blender (コンポジットノード) | 2.8 |
| Houdini (COP) | 16.5[10] |
| V-Ray (V-Ray Frame Buffer) | 5 Update 1[23] |
| Adobe Photoshop | Exr-IO 2.0[24] |
ワークフロー例
3Dシーンにおいて Cryptomatte 画像はそれぞれのオブジェクトに一意のIDを割り当てて生成される。通常、オブジェクト同士は明白に異なる色を持っているため、オブジェクトの多いシーンでは非常にカラフルとなる。IDマットはシーンにおいて一つまたは複数のオブジェクトを取り出して使うことができる。また、IDマットはデジタル合成のためにエクスポートしたり、3Dソフトウェア自身で使うことができる。
例えばのワークフローでは、画像の特定部分のみにエフェクトを掛けるための制限用マスクを生成するために Cryptomatte 画像が使われる。それによってシーン全体を再レンダリングする必要なく、素早くマスクを作成することが可能となる。
画像に対するワークフロー例:
- 単純なレンダリングされた3Dシーン
- シーンのCyptomatte画像外観
- 立方体を選択オブジェクトとしてCryptomatte 画像から生成したマスク
動画に対する同様のワークフロー:
- 単純なレンダリングされた3Dシーン
- シーンのCyptomatte画像外観
- 立方体を選択オブジェクトとしてCryptomatte 画像から生成したマスク
- Cryptomatte画像 (上)、レンダリング画像 (中)、生成したマスク (下)を合わせたもの
この例のマスクは中央の立方体だけ影響するように視覚効果を制限するために使用可能となっている。
ライセンス
開発者はこのプログラムのソースコードを公開し、それを「オープンスタンダードを中心としたエコシステムにするために」三条項BSDライセンスの下でライセンスした。開発者らの目標は「Cryptomatte 画像を生成できるレンダラーや、その画像をデコードするデジタル合成アプリケーションのプラグインなど、多様なエコシステムを実現すること」であった[1]。
関連項目
- ディープ・イメージ・コンポジティング