2013年11月10日日曜日

VFXワークフロー 色合わせ Color Matching

カラーマネジメントが・・・とかシーンリニアが・・・・とか難しい事を色々言ってきましたが、これらによるVFX制作現場のメリットを紹介したいと思います。今回は管理する側ではなくアーティスト目線の内容になります。


説明にNukeを使用していますが、どのソフトを使っても考え方は同じなのでNuke以外では出来ないという事はありません(多分・・・) 。

まず、素材が届きました。
今回の素材ですがカラーマネジメントがされ、できるだけ適切に管理されているsRGB素材です。「特殊なカラコレやガンマ補正やトーンマッピング等がされていない素材」みたいに思っておいてください。
CG(実写でも問題ないです)
実写
この素材をシーンリニアに展開して合成(ポン乗せ)します。

色が合ってないないですね。適切に管理されているのに何で合ってないんだ?という細かい事は気にしないで下さい。異なる環境で撮影された素材だと思っておいて下さい。今回は分かりやすいように違いを分かりやすくしてあります。

さて、この色を合わせるのですが普段どのように合わせていますか?手前のCGの色を背景に合わせます。普段行っている作業のイメージを脳内で思い浮かべてみて下さい。実写同士でも考え方は同じです。まず、どのフィルタを試しますか?

答えを下に書きますので行間少し開けます。

























特別な画像処理を行っていない場合、画像の色が異なる大きなポイントは「ホワイトバランス(色温度)」と「露出」。この2点のみです。

CGの「ホワイトバランス」と「露出」を背景と合わせればいいのですね。そして、画像処理でこれらを行う場合は基本的にはRGBの乗算だけで行えます。CGのRGBの数値を掛け算して背景の色と同じ数値になるようにします。乗算は暗くなるのではなくて掛け算!
概念はCGW176(? )のシーンリニアワークフローの基礎解説で紹介しています。

Nukeの場合の一例を紹介します。

1.合わせたいターゲットの色を選ぶ
「ホワイトバランス」 「露出」を合わせたいのでグレーの色が好ましいと思います。今回はチャートの白を使ってみます。多分、どれでも大体同じになると思います。実写撮影の際に18%グレーを撮影していたら、それをターゲットにするのもいいと思います。

ターゲットにする色の数値をメモする
(色の精度を気にする際はカラーチェッカーパスポートではノイズや表面の凹凸により精度が下がります。
VFX制作では気にしなくても良いレベルだとも思いますが)


 2.合わせる素材の同じ色の数値を表示する

 3.この数値(RGB)をターゲットと同じ色になるように調整する。
Multiplyノードを追加してRGBを個別に調整出来るように設定
Multiplyの各数値の所でKeybordのカーソル↑↓してターゲットの色と同じ数値になるように倍率を変える。
乗算=掛け算
ちなみに←→で調整するケタを変えれます。

Q.「何ケタまで合わせるの?」
A.「まずは自分の目で何桁まで色の違いが認識できるか試してみるのはどうでしょうか?」
大体、合った結果が得られる。誤差は今回は環境の違いによるところが大きいと思います。
CGの環境ですが、背景の環境とは異なる環境でレンダリングしてます。

CGがちょっと明るく感じる(感覚)ので露出を落とします。
Multiplyでもいいですし、GradeノードでもExposureノードでもいいです。
光のスケールを小さくしていい感じに見えるように調整します(感覚)

これが色合わせの基本となる考え方になると思います。まずは「ホワイトバランス」 と「露出」を合わせる
画像処理における露出調整も乗算であるため、基本的には1つのフィルタのみで大体の色合わせが可能。
そして、最後にTonemapping。
今回ブラックポイントを合わせていないのでCGの球体がちょっと黒すぎですね。
ブラックポイントを合わせることも大事ですね。
ガンマ補正等で全体をちょっと調整すると、その違いがとても目立ちます。
(ガントレットチェック??とかいう単語を聞いたことがあります。)
ブラックポイントを合わせていないのでCGの黒い球が馴染んでないですよね。

ブラックポイントにも気を使う。
「ホワイトバランス」「露出」「ブラックポイント」全て同じくらい大切ですが、
ブラックポイントは後の工程で問題となってくる場合が
多く、作業しているときには気づきにくいので特に注意したいといった感じでしょうか。

例えば、合成時には気にならなかったけどTonemappingやカラコレなどでその違いが浮き彫りになるなどなど。
今回は説明のためにMultiply Nodeを使用していますが、僕は普段Nukeで作業する際は基本的な色合わせの要素が大体揃っているGrade Nodeを使う事が多いです。パラメーターもWhiteBlance、Gain、multiplyなど細かい使い分けの理由はあるのですが、結構気分でばらばらな気がします。

AEだとどのフィルタが近いでしょうか?「レベル個々の調整」とか「露出」フィルタでRGBの値を別々に調整する感じでしょうか?「HDRコンバータ」?というようなフィルタもあったような。

今回の色合わせの他にも、このような事が至る所であります。ほぼ全てと言っても過言ではないかもしれません。多分、考え方ややり方を変えないとメリットを最大に生かせない気がします。また、そのような環境になる事でアーティストはよりアーティスティックな舞台での活躍が可能になるのではないかなと思っている今日この頃です。
また、シーンリニア以外の空間では今回のやり方では色が合わないので注意して下さい。

トーンやガンマがかかっていると合わせるグレーのサンプルが増えるという事ですかね?AEやPhotshopで明るさを調整する標準的なフィルタで「レベル補正」を多く使うのは、ガンマ補正がかかった画像を扱うため、「明るさを調整する際に必ずガンマを調整する必要がある」というのが大きな理由ではないかと最近思ってます。「レベル補正」=使いやすいという感覚、間違ってないと思います。

カラーマネジメントにはこのような側面もあるという事がなんとなく伝わったでしょうか?「正しい色を再現する」 「加工しやすい素材管理」。目的によって様々な側面があると思います。

画像処理の基礎知識や合成の基礎知識がない場合はそちらの勉強も必要かもしれません。これらがないと、NUKEの機能を十分に生かせないまま扱ってしまうかもしれません。

(NUKE推しのような記事ですみません。僕は普段PhotoshopもAEも普通に使ってます。また、仕事によってシーンリニアでない方が早い事もあるのでビデオカラースペースのコンポジットをする時もあります。状況で使い分けています。)

話ついでにですが、普段僕が使っているカスタムGradeノードを紹介します。
「user」タブをちょっとだけカスタマイズしてあります。

1.ホワイトバランス合わせる機能

1.カラーピッカー
2.ホワイトバランスを合わせたい色をピック
3.ボタンを押すとピックした色でホワイトバランスを合わせる
計算した数値をmultiplyに渡してあげるとてもシンプルな仕組みです。
ホワイトバランスもRGBの平均値を使う方法のとてもシンプルな計算式にしてます。
R+G+B/3.0みたいな
2.特定の色を同じ数値にする機能
今回説明した色合わせの方法をツール化したものです。

自分の色をピック
合わせたい色をピック
ボタンを押すと色が合う。
今回は白色ですが、どんな色でもそこそこ合わせる事が出来るので、テクスチャーなどの各素材の色が違う際などにも重宝してます。砂のテクスチャー集めて、それぞれ色が違う時にまずこれで合わせてから加工などなど。
こちらも2つの色の差分をmultiplyに渡してあげる非常にシンプルな仕組み
算数のドリルの色版が発売されないかと妄想していたりする今日この頃でもあります。合成においては基本的には足し算、引き算、掛け算、割り算くらいしか使わないですし・・・

1X0.5 = 0.5

とても簡単ですよね。これをRGBの色に置き換えて考えるだけです。上の計算式が理解出来れば、そのうち慣れます。今日はこの辺で失礼します。

-------------------
追記:ここでやり方を紹介していますが、あくまでも一例です。これは学校で教えてる際に気を付けている事ですが、一つのやり方を紹介した際に学生はそれに固執してしまう傾向があります。 「正解」だと思ってしまうのでしょうかね?勉強は本質を学ぶ事が重要であり、使い方やアプローチ等は自分で考える事が重要だと僕は思ってます。正解は沢山あって、状況や環境によっても変わったりしてしまうんですね。本質から答えを自分で考え導き出す事が「クリエイティブ」だと思うのですがクリエーターの皆さん、どう思いますか?

一方で、お手本を素早く理解して、正確に再現出来ることも立派な才能だと僕は思います。

僕のブログでは具体的な設定等はあまり掲載しないようにしているのはそのような意図があります。思い上がりかもしれませんが、例えば、今回の説明をColorLookUpで説明した場合、そのやり方が主流になってしまうという事も考えられるし「山岸さんが紹介していた」とか思われるのも困りますので・・・。来年は違うやり方をしている可能性もありますし。また、学生がそのまま真似してしまう事を想像するととても怖いです。授業では補足を沢山入れれますが、Blogではなかなかそうも行かないので・・・。僕が望んでいるのは、このような情報をきっかけに沢山の議論やアプローチが出てくればいいなという思いが強いです。後は、画像処理や合成、色がとても重要な業界であるはずなのに、それらの基礎知識が業界として全く共有されていない不思議と。学生はお金を払って習っているような内容をblogという無料の形で公開してしまう事は果たして業界としていいのかという思いと。その辺りをご理解頂けたらと思います。とかいいつつ、調べればすぐ分かる大した情報でもないのですが(笑)

今回のケースですがNUKEだとColorLookUpの機能を使っても同じ事が可能ですよね。NUKEを使ってる人は他のアプローチも考えてみるのもいい勉強になるかもしれないですね。

0 件のコメント:

コメントを投稿