C4D→AEにおけるACES覚え書き

普段Cinema4DでRedshift Renderを使用している。
その際にPostFX>DisplayModeをOCIO:ACES sRGBにしていてその色をとても気に入っている。
今回はさらに一歩進めて、AeでACES sRGBを使用しつつコンポジットするための流れを調べてみた。
※あくまで操作の流れということと個人的なメモなので参考までに

OCIOとACES

  • OCIO:SonyPictures Imageworksが開発したシステムで、簡単にカラースペース変換できるもので、AfterEffectsでもプラグインというかたちで使用できる
  • ACES:カラーマネジメントの仕組みで、OCIOを利用することで使用することができる
    ※詳細は「シーンリニアワークフロー/ACES」といったワードで検索してみてください
最終的なAeでのレンダリング画像

メリット

  • リニアワークフローとなるので、色の調整の自由度が高い
    →一見白飛びしているような部分もExposureなどでデティールを取り戻せる
16vs32bit
暗くなったときに注目。32bitリニアだと白の部分もデータが残っているのがわかる
  • 他の実写素材との合成も自然になる……らしい

デメリット

  • 16bitFloatのOpenEXRでよいっぽいが、Aeでは32bitでないとリニアワークフローを導入できない
    →書き出しが重い?
  • 下準備が若干面倒

ワークフロー実践

C4Dでレンダリングするまで

作業中の設定

  • 最終のイメージに近い状態で作業したいので、RedshiftRender>PostFX>OCIO:ACES sRGBにして作業する
  • 他のPostFX(bokeやFlare、Streakなど)はAOVとして書き出せないのでなるべく使わない。使ってもAeで再現するための雰囲気確認として使用する
  • PostFX>Exposureは使わない!Beautyにしか影響しないため、色や明るさなどがDiffuseなどと開きができて面倒
  • PostFXはDisplayMode以外はレンダービューからではなく、Redshift Camera Tagを使用したほうがよい →後述するが不要なPostFXを切るのに楽

レンダリングの設定をする

※必ず小さなサイズでテストレンダリングをしてAeに読み込んでおかしくないかを確認すべし

  1. PostFXでDisplayModeをLinearにする
1.Linearにして、他のPostFXは切っておく
  1. 他のPostFXを切る(Redshift Camera Tagのついたカメラを使用しているなら、それを複製し、タグだけ削除すれば楽)
  1. マルチパス書き出しをONにしてOpenEXRを選択
3.OpenEXRの設定は正しいかどうかは不明。でもここを16bitにしても問題ないことは確認済み
  1. AOVはすべて32bitにする→Aeで32bit画像として認識される
4.Bit Per Chanelは32bitにして、Multi-Pass OutputはONにする(別途書き出したい場合はDirect Outputから)

確認用としてACES sRGBにしたものを表示させられるようにCinema4Dは起動しておいたほうがいい。
難しい場合は、小さなサイズでよいのでACES sRGBのものも書き出しておく。

最終的にこのような暗い状態(リニア)で書き出す

Aeでの合成

  1. exrを読み込む。(コンタクトシートも一緒に作成してくれる!)
  2. ProjectSetting>Color>Depthで「32bits~」にする
  3. Working Space>「ACEScg~」にする
  1. View>Use Display Color Managementをオフにする
    →この状態でexr:BeautyがC4DのRenderView(Linear)の画と一致していればok。リニアな状態で表示されているということになる
これはOnの状態
  1. exr:Beautyと各AOVの合成結果が一致するようにする(AOVでのBeautyのコンポジットは別の記事で)
  2. 調整レイヤーを一番上に作成し、OCIOエフェクトを適用し、exrをACES cg->ACES ccに変換する
OpenEXRをcgからccに変換。実写素材だとその都度InputSpaceが変わる模様
  1. 調整レイヤーを更に上に作成し、OCIOエフェクトを適用し、exrをACES cc->Output sRGBに変換する
    →C4Dの作業中(ACES sRGB)の画と一致していればok
画像はRec.709になっているが、sRGBでもいい
書き出しは「RGBを保持」これでうまくいった

リニアワークフローでのカラコレ

  • OCIOでACES ccに変換がされる前までがリニアな状態なので、そこまでで調整をする
  • もし実写素材と組み合わせるときはACESccに変換して、Output sRGBの変換が掛かる前までで調整したほうがいいっぽい
  • 各AOVに分かれているので、要素ごとにExposureやCurvesなどでつめていく
  • 各AOVはそれぞれCompになっているはずなので、ガイドレイヤでOCIOを適用したふたつの調整レイヤを入れておくと作業しやすいかも

以下よくやりそうな処理の仕方をまとめてみた

DeepGlow

基本的に光っている部分だけにかかればいいので、ReflectionやGI、Specularあたりにかけると良さそう。
Threshold(しきい値)でグローのかかる範囲を調整する。 C4Dの素材以外と合成する場合は、おそらく一番最後にコンポジットするのが正しいのだと思う。

ColorCorrect系:Exposure/Curves/Coloristaなど

リニア段階が一番劣化が少ない。
合成後の調整は前述したとおりOutput sRGBより前に。
ただし、ACES ccに変換されているときは彩度が低く、sRGBに変換されてから突然緑青系が強くなる(ように個人的に感じる)ので、限定した色を抑えたい場合はsRGB後にLumetriやColoristaを使用するのも個人的にはありな気がする。

あまり派手な調整をしないようにしたもの

感想

ここまで書いてきてなんだけど、純粋にコンポジットだけならFusionのほうがわかりやすいかもと思っている。
ノードベースになれてくると、レイヤーがちょっと面倒に感じる。
Redshift Object IDを利用して、AOV:Object書き出しもFusionだとコンポジット時にObject IDを指定できるし。
でもAe使い慣れているんだよなあ。。と葛藤がある。