BlenderからAfterEffectsへCryptmatteを持っていく方法

BlenderでレンダリングしたものをAfterEffects(以下AE)でコンポジットする際に、Cryptmatteの出力で苦労したので備忘録として残しておきます。
どなたかの参考になれば幸いです。

結論としては、OpenEXRMultiLayerで書き出せばCryptmatteをBlenderからAEに持っていくことができました。


AEでマルチレイヤー扱う際の注意点などもラストに書いてあるので、そちらも併せてごらんいただければと思います。



まず下記の画像をテストシーンとして用意しました。


1.レンダリング画像とCryptmatteや他AOVを別Layerとして書き出した場合

個人的にAOVは別で書き出すのが好きなので、レンダー画像とAOVを分けて出力してみました。


AEで読み込んでみると見事にCryptmatteが読み込めません。
これは以前に同じ現象になったことがあるため知っていたのですが、念のため検証しておきました。

次に行ってみましょう。


2.レンダー画像をMultilayerとして書き出した場合

この設定でレンダリングしてAEに持っていきます。

なんということでしょう!
CryptmatteをAEでも読み込むことができました。

変にこだわってレイヤー分けるよりも確実だと思います。


3.AOVだけをマルチレイヤーとして書き出した場合


2番目の検証でマルチレイヤーなら行けたので、
AOVだけをマルチレイヤーにして書き出しても行けるのじゃないかと思い実践してみました。

上記画像の通り、AEに持って行ってみたところダメでした。
EXtractorだとレイヤー情報はあるんですが、ID情報は消えているみたいですね、、


おまけ1,AEでEXRMultilayer扱う際の注意

blenderで出力したEXRMultilayerを読み込むと真っ黒で表示されます。
これはblenderの場合CompositeLayerに格納されているのが原因となっています。

その場合は3Dチャンネル→EXtractorからCompsitlayerを選択すると表示することができます。

もし画像が下記のように暗く表示された場合
正しくガンマが処理されていないので、

レベル補正でガンマ2.2かけると元通りの絵が出てきます。


おまけ2,AOV出力の際の名前変更
これは僕が知らなかっただけなのですが、
AOVを別々で書き出す際ファイルパスだけ入力すると、出力した画像名が
「image####」で書き出されてしまうのですが、

ノードの画面でNキーを押すと上記画像のようになり、
細かくファイルの名前など指定することができるようになります。
例えば、「test_」などで指定しておくと「test_####.exr」として書き出されます。

何かの参考になれば幸いです。
何か質問などあればお気軽にTwitterまでお願いします。


この記事が気に入ったらサポートをしてみませんか?