今回は先日の記事「NukeのLenscareの話」の最後でちょっと触れたことを検証してみました。要はOpenEXRにBounding Boxが設定されていた場合、AfterEffectsではそれを正しく認識できるかということです。まず簡単に結論を言ってしまうと、BoundingBoxが設定されているとAfterEffectsではうまく認識されませんでした。これといった解決策もわからないままでしたが、とりあえず検証した結果だけ書いておこうと思います。
先日と同じOpenEXR(TheFoundry「NUKE General UI | The Viewer -Viewer Basics」より)をAfterEffectsにインポートしてみます。インポートしたフッテージを見てみると、BoundingBoxでクロップされてしまっています。
[関連記事]
ProEXR
AfterEffectsでRGBtoYCbCr(1)
AfterEffectsでのリニア合成のお話(1)
フッテージの情報を見てみても、クロップ後のサイズで認識されており切り取られた部分は見当たりません。AEの環境設定やアイテムの設定を見てみたのですが、Photoshop形式のレイヤーに関してはデータ部分をクロップする/しないという設定があるのですが、OpenEXR形式では該当する設定がみあたりません。
同じアイテムをNukeで読み込んでみると、実際のサイズとクリップ後のサイズが確認できます。サムネール画像ではちょっとわかりにくいのですが、点線でBoundingBoxの領域が表示され、下部にbboxの設定情報が表示されています。
Nukeだけでなく、すでに旧世代のソフトとなっているShakeでも認識できます。Shakeの場合は緑色の線でBounding Boxを表示。
ちなみにこのBoundingBoxは、OpenEXRの仕様ではDisplay WindowとData Windowとして定義されています。この例では、クロップされるような設定ですが、1つの画像でまったく異なる場所を指定したり、ピクセルのアスペクト比を変更したりすることもできます。
一番困るのは、これがPhotoshopで開こうが、AfterEffectsで開こうが、クロップされた画像(Data Window)しか表示されず、元々のサイズ(Display Window)が一見してわからないというところ。
作業中のマシンにAfterEffectsとPhotoshopしか入っていない場合、受取ったOpenEXRにBounding Boxが設定されていたら、元のサイズ(DisplayWindow)とBounding Boxの設定をどうやって判断するのか...っていうか、このままではBounding Boxが設定されてるかどうかもわかりません。Bounding Boxは1フレーム単位で設定可能ですので、1フレームごとに違う場所やサイズを設定されている場合もあります。
AfterEffectsのみでOpenEXRを扱って作業されているプロダクションもあると思うので、たぶん回避策とかあるんだと思うんですけど、検索してもなかなかそれらしい解が見つからずにおります。もしご存知の方いらっしゃったら是非お教えください。(コメント欄ないのでtwitter @hiroshisaitoか右上の各種アイコンよりお願いします)
[関連記事]
ProEXR
AfterEffectsでRGBtoYCbCr(1)
AfterEffectsでのリニア合成のお話(1)