04:「色空間」の設定をしよう!
ここからはDaVinci Resolveを使って、コンポジットしていきます! 第2回と同様、色空間の設定から始めましょう。
【実践】よくわからなくてもOK!まずは手順通り触ってみよう!
〈Step 0〉プロジェクトの作成
▲【1】DaVinci Resolveを起動したら、[名称未設定のプロジェクト]をダブルクリックして新しいプロジェクトを起ち上げます
〈Step 1〉プロジェクト設定の変更
▲【3】[プロジェクト設定]を開いたら、①[マスター設定→タイムラインフレームレート]を②[24]に設定しておきます
▲【4】同じく[プロジェクト設定]の、①[カラーマネジメント→カラーサイエンス]を②[ACEScct]に、③[ACES出力デバイストランスフォーム]を[sRGB]に変更し最後に④[保存]します
〈Step 2〉素材データの読み込み
▲【5】左上のメディアプールに、先ほどレンダリングした連番画像(もしくは配布素材[38912_SampleCGC_linsrgb])と、配布素材[38912_SampleFootageC_ACEScg]をフォルダごとドラッグ&ドロップで読み込みます
▲【6】読み込んだ素材を全て選択し、右クリック→[ACE入力トランスフォーム→ACEScg]を選択します。[ACEScg]は一番下にあるはずです
〈Step 3〉新規Fusionコンポジションの作成
▲【7】画面下のタブから[Fusion]ページに移ります
〈Step 4〉色変換ノードを追加する
▲【10】前回同様、[Ctrl+Space]で[OCIO Colorspace(OCC)]を2つ追加し、図のように繋げます。ノードは[Shift+ドラッグ]で切り離し・割り込みができます
-
▲【11】①[MediaIn1]の右側に接続したノードはプロパティから[aces_1.0.3]フォルダ内の[config.ocio]を開いた後、このように[Source Space]と[Output Space]を設定します -
▲【12】②[MediaOut1]の下に接続したノードも同じように[config.ocio]ファイルを開き、このように[Source Space]と[Output Space]を設定します。[Output Space]のちがいに注意してください
▲【13】ノードを[右クリック→Rename...]でノードの表示名を変更します。①[MediaIn1]の右側に接続したノードは[InputTransform]に、②[MediaOut1]の下側に接続したノードは[ViewingTransform]に変更しました
▲【15】上の再生ビューアのグリッドアイコン[ビューLUT]をOFFにします。その横の四角いアイコンをクリックして再生ビューアを大きく表示すると作業しやすくなります
[Ctrl+S]でプロジェクトを保存しておきましょう!
【理論】なぜこうするの?
色空間の概念については前回すでに紹介したので詳細は省きますが「合成するためにはまず色空間(色の規格)を揃える必要がある」、これだけは覚えておいてくださいね。
毎度面倒......と思うかもしれませんが、例えば安い水彩絵具でツルツルのコピー用紙に描いて「水彩ってこういうものか」と思ってしまうのはもったいないですよね。そのあと実際にその道具を使っていくかはともかく、最初こそ良い紙に良い絵具で「まずはやってみる」べきです。ここで紹介している色空間はまさに良い紙と絵具なので、面倒ですが頑張っていきましょう!
05:「マージ」しよう!
DaVinci ResolveのFusionで、先ほどレンダリングした「マルチレイヤー」のCG画像を「マージ」していきます。
【実践】よくわからなくてもOK!まずは手順通り触ってみよう!
〈Step 0〉メインレイヤーの設定
▲【1】①メディアプールからCG画像[38912_SampleCGC_linsrgb_[0001-0006].exr]をノードグラフにドラッグ&ドロップし、配置します。②先ほど作成した[InputTransform]ノードをコピー&ペーストし、画像のように接続します
▲【2】わかりやすくするために[右クリック→Rename...]でノードの表示名を変更します。[MediaIn2]ノードを「CG_MainLayer」に、[InputTransform_1]ノードを「CG_InputTransform」にします
チャンネル名は[レイヤー名.パス名.RGBAチャンネル]で表されています。レイヤーは[MainLayer](メインの機械のみ)、パスは[Combined](統合)、RGBAチャンネルはそれぞれRed(R)、Green(G)、Blue(B)、Alpha(A)に合わせて設定してください。パスについては、先ほどZパスを外したのでCombinedしかないはずです。
▲【4】[CG_InputTransform]ノードを選択し、プロパティの[Source Space]を[Utility-Linear-sRGB]にします
〈Step 1〉影レイヤーの設定
▲【5】[CG_MainLayer]ノードと[CG_InputTransform]ノードをコピー&ペーストし、画像のように配置します
▲【6】コピーした[CG_MainLayer_1]ノードは[右クリック→Rename...]で「CG_ShadowLayer」に表示名を変更します
▲【7】[CG_ShadowLayer]ノードのプロパティの[Channels]を画像のように設定します
〈Step 2〉反射レイヤーの設定
▲【8】[CG_ShadowLayer]ノードと[CG_InputTransform_1]ノードをコピー&ペーストし、画像のように配置します。コピーした[CG_ShadowLayer_1]ノードは[右クリック→Rename...]で「CG_ReflectionsLayer」に表示名を変更します
▲【9】少し変則的ですが、[CG_ReflectionsLayer]ノードのプロパティの[Channels]を画像のように設定します。Alphaを[ReflectionsMask.Combined.R]にしているのに注意してください。くり返しますが[ReflectionsMask.Combined.R]です。最後の文字は「R」ですよ!
【理論】なぜこうするの?
DaVinci Resolve Fusionをはじめとしたコンポジットソフトでは、たびたび画像をRGBA(赤・緑・青・アルファ)で分けて考えます。アルファとは透過チャンネルのことです。よくPNG画像などで透過のものがありますが、あれらはRGBという色情報のチャンネルの他に「A(アルファ)チャンネル」をもっており、白が不透明、黒が透明であることを示しています。
今回、反射レイヤーのアルファに[RelfectionMask.Combined.R]を使用しましたが、これはBlenderで作成した[ReflectionsMask]レイヤーのR情報を透過情報=アルファとして使用しているためです。
〈Step 3〉実写にCGメインレイヤーを合成する
▲【10】[CG_MainLayer]の隣の[CG_InputTransform]の出力ソケットから、[MediaIn1]の隣の[InputTransform]の出力ソケットへ画像のように接続します
▲【11】[Merge]ノードが作られるので、画像のようにノードを動かします
▲【12】再生ビューがこのような表示になっていればOKです
〈Step 4〉CG影レイヤーを追加する
▲【13】[CG_ShadowLayer]の隣の[CG_InputTransform_1]の出力ソケットから、[MediaIn1]の隣の[InputTransform]の出力ソケットへ画像のように接続します
▲【14】[Merge]ノードが作られるので、画像のようにノードを動かします
▲【15】このように機械の下に影が追加されました。嬉しいですね
〈Step 5〉CG反射レイヤーを追加する
▲【16】[CG_ReflectionsLayer]の隣の[CG_InputTransform_2]の出力ソケットから、[MediaIn1]の隣の[InputTransform]の出力ソケットへ画像のように接続します
▲【17】[Merge]ノードが作られるので、画像のようにノードを動かします
▲【18】画像のように、実写の壁に反射が追加されました
〈Step 6〉Alpha Multiplyノードを追加する
▲【20】これはアルファの前処理の問題です。[Ctrl+Space]から[Alpha Multiply (AMI)]ノードを追加し、[CG_ReflectionsLayer]の隣の[CG_InputTransform_2]と[Merge3]の間に[Shift+ドラッグ]で割り込ませます
▲【21】微妙な変化ですが、全体的な壁の色の変化がなくなり、機械の反射のみが合成された状態になりました
ノードを選択した状態で[Ctrl+P]を押すとノードの有効化・無効化を切り替えられるので、[AlphaMultiply1]ノードや[Merge]ノードを有効化したり無効化したりしてそのちがいを見てみてください。
▲【22】わかりやすくするためにノードを選択した状態で[右クリック→Rename...]し、Mergeノードの表示名を図のように変更します。左から[Mrg_Reflections]、[Mrg_Shadow]、[Mrg_Main]としました
【理論】なぜこうするの?
通常、アルファチャンネル付きの透過画像は、透過している部分のRGBチャンネルが黒になるようあらかじめ処理されています。
この処理はFusionでは「Alpha Multiply」と呼ばれますが、今回の画像ではRGB情報はReflectionsLayerを、アルファ情報はReflectionsMaskと別々のものを使用したので、その処理が行われていません。
そのため、平たく言えば透過部分に色が残ってしまい、透過しているはずの部分が赤っぽくなってしまいました。そこで間に[AlphaMultiply]ノードを挟み処理することで、正常な透過データとして合成できるようにしました。