カメラの話をしよう!・コンポジット編CGcompo3D、コンポジット、マッチムーブ、カメラ、撮影について色々書きます。第四弾・コンポジット編さて趣旨的にコレがメインですかね?コンポジット編と言うことで特にレンズ編で上げた項目をどのようにCG上で再現するか!コンポジットをする時カメラを通して起こる現象の順番で効果をつけると良いといいますね。ボケ、収差、フレアなどはレンズで起き、ブラー、グレインなどはカメラ側で起きるものです。すべてがそうでは無いですが、基本このルールを守れば比較的効率良く効果付が出来ると思います。※以下紹介する方法はあくまで自分のやり方なのでこれが答えってやつでは無いです。一般的なものから自分が模索して考案してる方法、プラグイン使えよってのもあります。コンポジットて色々な方法があってコレ以外にも色々やりかたはあると思います。それを考えるのが楽しいと思います。そんな中で、中には実用的でないためボツにしているやり方もありますがw他にもこんなやりかたもあるよってのがあれば是非教えて下さい。・Vignette:ビネット・周辺減光AEなどでは黒平面にマスクを切リ、ぼかしたものを乗せたり、乗算したりする方法が一般的かと思います。下手に乗せるといかにも乗せました感が出てしまい残念なものになります。実際には周辺の光量が落ちて発生するので、円形グラデーションのかかった画像をマスクとして周辺の露出値を下げたほうが調整もしやすく、より自然な見え方になります。前回の説明とかぶりますが、丸いレンズの周辺が暗くなっているので光学的にはマスクは円形が正しく、アナモフィックレンズを模す場合楕円形となります。これらの表現は演出的に使用するため、カラコレに近い使われかたが多いとおもいます。field):被写界深度・ボケ基本レンダリング時のZ情報を元にブラー処理をします。正しいボケにするにはDOFエフェクト、デフォーカスエフェクトを使用することになると思います。フィジカル系(物理)のレンダラであればレンダリング時に処理する場合もあると思います。簡易的な処理であればデプス画像をマスクとし通常のぼかしやボックスブラーなのでもなんとなくは見えます。正確には輝度値(光のエネルギー)の強い部分がよりはっきりとボケて、点光源などにはボケ形状が現れます。ダイナミックレンジの広い(HDR)16、32bitなどの画像の方がより光学的に正しいボケを再現できます。今年のE3などを見ているとゲームでもリアルタイムでのDOF処理をHDRで処理していました。ボケの形状や輝度値に応じての処理をするにはAEなどではサードパーティ製のプラグインを使うことになると思います。※AEの標準のレンズブラー、CS6で確認していませんがCS5では16bitまでしか対応してないです。その他にもいくつかプラグインがありますが、基本はそれらのプラグインの使用がよいとおもいます。(実際のレンズでは条件に応じてフレアが出たり出なかったりします。形状や強度のコントロールもしづらいです。Flaresがリアルなフレアを作れる理由として内包されているテクスチャが実写を元に作られている点にあると思います。闇雲に使っては良くないと思います。前回話したとおり絞りの形状、やレンズの構成、タイプによって特性が変化します。映画になどでは基本同じカメラ、レンズが使われる事が多いと思ので、カットごとや同じショット内でフレアのタイプが違うとか普通起きにくいと思います。※当然レンズよって出方が違うのでレンズを変えた場合は変わるので一概には言えません・・・近頃綺麗で簡単に後処理出来るようになったのでフレアの処理をしている作品を多く目にしますが、フレアを見せたい訳では無いと思うので被写体より目立っちゃうのはいかがなものかとおもいます。※アート系やPV・MVなんかはいんですけど最近のカメラであればそこまでがっつりフレアが出る事も無いですし、カメラマンからすれば通常あってはならない事です。そこにフレアを足す以上ある程度のルールは作っておくべきだと思います。Flaresなどでも機能として用意されていますが、中身は普通にテクスチャ素材です。ガラスに写った汚れや、汚れた紙などの素材を上から乗せることで再現できます。光に反射して映りこむことが多いので、光源を考慮して強さをコントロールした方が自然に見えます。光の強さを元にマスクを作っておくか・distortion:歪曲収差レンズディストーションです。基本ディストーション系のエフェクトで対応します。前に述べたようにレンズによって様々なので確実な歪み値としての正解はないです。広角になるほどCGで合っても若干の歪みを入れた方が見やすい印象があります。ハリウッド映画などのメイキングを見ていると実写作品であればフル3Dカットにもレンズディストーションを最終的に加えているものを多く目にします。(おそらくワークフロー編で書いたようにライブラリがあるんじゃないかと?)樽型収差を加える場合内側に歪むので、最終サイズより、大きめの解像度で出力しておく必要があります。(正確には一回り広い画角での出力が必要です。aberration:色収差まず最近色収差の効いた映像を見かける事が多いのですが(気にし始めたからってのもあると思いますが)個人的に~100%表示の時に収差がはっきり入って見えるのはどうなのかな?と思います。収差が入っているとフォトリアルに見えますが、キツく処理してしまうと解像感の低下(全体的にボケたような)や、長時間になると目の疲れにもつながると思います。演出処理で無い限り、理想はキツめでも200%表示でかかっているのがわかる程度が理想だと思っています。PVやMV、モーグラのように演出的するときや非常に短い作品であればがっつりした処理もありだと思います。実写合成の場合実写プレートをよく見て何色がどちらにずれているか確認して合わせると良いです。色収差が出ている場合レンズディストーションがかかっている事が多いので合わせて処理すると良いかもしれません。レンズ編で言ったようにレンズによって強さも変わり、広角域の方が起きやすいなどがあります。全編にわたって同じ強さの色収差が起きているのはおかしいと言うことになります。再現の方法ですが当然プラグインなんかでも出来ますがプラグイン無なくても可能です。倍率収差の場合R・G・Bに分解した画像をずらすだけです。いくつかやり方があるので順番にそれぞれずらしたチャンネルの色と補色にあたる色が出ます。ブルー/イエローフリンジそして倍率収差が再現できます。(これを使いある程度補正することも可能です)特定色しかずらさない場合ずらす色以外を分解する必要は無いです(今回は便宜上全部分解したものとして行きます)R・G・Bそれぞれずらす事で色の出方も変わります。発生する色収差で一般的に1番多いのはグリーン/マゼンタのズレだと思います。以下参考画像はわかりやすくRGBすべてをずらし、数値も大きくわかりやすく処理しています。共通項目・R・G・Bに分解の仕方AEの場合チャンネ>チャンネルルシフトを使うのが1番簡単だと思います。レベル補正やトーンカーブでも可能です。チャンネルシフト・分けたい色以外のチャンネルをフルオフにする(上からR・G・B)・レベル補正・トーンカーブ(同じく赤に分けた例)こうして分解した画像を加算で重ねるだけです。(この時点では元の絵と同じはずです)その他ノード系のソフトであればチャンネル分解・合成などのノードがあると思うのでそちらで。・自然に見せるために綺麗に見せるためにはズラした色にほんの僅かにブラーをかけると馴染みもよくなります。実際には波長のズレ(グラデーション)なのでそこまできっぱりチャンネルのエッジが出ることは少ないため。※レンズによってははっきり出ることもあります。・方法その一スケールをかける。Photoshopのレンズ補正フィルターによる処理もこれと同じです。スケール値は0.1~0.3程度の変動で十分だと思います。本当に中心を除いて収差が出るのであまりオススメしません。全体的にピクセルがずれるので解像感が落ちます。※Photoshopのレンズ補正フィルターでR・Bで+、Gで-に振るとスケールをかけた色以外にスケール処理をしているようです。R・Bで+、Gで-に振る本当に全体がぼけてしまいます。(ぼかし処理もされているのでなおさら)色収差を加えるためではなく、補正エフェクトなのでこういう仕様なのかと。・方法そのニレンズディストーション処理。こちらのほうが光学的にも正しい方です。周辺のみがずれるので中心部の解像感の低下も起こりにくいです。この方法で、ずらしたチャンネルをぼかす場合面倒ですが周辺のみぼかすようにマスクを使用したほうが良いです。することで解像感を落とさず色収差を加えれます。・方法その三ズームブラーを使うこれも中心部までずれてしまうのでマスクなどを使い周辺のみにかかるようにすると良いと思います。滲んだような色のズレ方をするのでキツめにかける時に効果的です。Blurを使用すると良いです。・その他ディストーション系の処理をすれば色々効果的な事が可能です。※いずれも光学は無視してAEでの例を挙げるとディスプレイスメントマップ、タービュレントディスプレイス、バジル、などを使うと面白い効果が出ます。(それぞれのチャンネルに少しずつ数値を変えて適応)当然純粋にレイヤーをずらすだけでも色収差表現の一つになります。Fringing:パープルフリンジ(ブルーフリンジ)これも再現する必要があるのか!ってとこですが方法を紹介共通項目ブルーフリンジを例として青のチャンネル画像(チャンネルのルミナンス)1に変換します。輝度値の画像(元素材の輝度画像をレベルで絞ったもの)2をマスクとして先程の画像1をマスク処理します3。1の上に3を比較明で乗せます4。はじめにR・G・Bに分解した手順でBを4に差し替えます。(この時点ではオリジナル画像と同じはずです)※パープルフリンジの場合は青に加え赤チャンネルも青と同様の手順で処理をします。そのままだとマゼンタになるので赤チャンネルの3の透明度を下げることで紫になりますで準備ができたので以下の手順でそれぞれ再現が可能です。3の画像にスケール(レンズディストーション・ズーム)等をかけます。3の画像にブラーをかけます。以上の手順でパープルフリンジ、ブルーフリンジを再現可能です。・軸上収差の再現あまりこれを再現って事は無いと思うのですが・・・、デプス情報を使い再現可能です。フォーカスポイントの前後でずれるので、フォーカスポイントを決め、その前後でデプスマスクを作ります。そのマスクを元に特定のチャンネルにブラーをかける方法が1番簡単です。一つはパープルフリンジのブラー処理と同じ要領で手前は赤、奥は緑のようにデプスのマスクを使いブラーをかけます。・ガブレ(画ブレ)コンポで足す2Dガブレってなんとなく最終処理にしがちですよね?というか自分もそうです。実際のカメラで起きるガブレってカメラが揺れてるのでレンズを通る前に起きてるわけです。フレアは光軸の中心を通るわけなのでこの中心がずれるのはおかしいです。ビネットもレンズの中心からはズレません。フレア、ボケなどにブラーはかかりますね。レンズを通ったあとシャッター速度によるものなので。グレインにガブレでブラーがかかるのはおかしいです。センサー(フィルム)によるものなので。これって気にしてみても気づかないレベルの”おかしい”なのでいんでしょうかね?どうなんでしょう?中々コレを守って2Dでのガブレ処理を加えるのって手間ですよねぇ。ぶれはエクスプレッション処理が1番楽ですね。次に手付け、あと面倒ではありますが実写をトラッキングしてその動きを適応しする方法とかがありますね。3d上であらかじめカメラに揺れをつけておく。・グレイングレイン系のエフェクトでの適応が一番簡単です。実写合成の場合実際に使用するカメラからグレイン素材を作るのが良いです。・作り方その一グレインマッチ系のエフェクトを使い黒平面にノイズを付加する。これを書きだしておいてスクリーン合成・作り方そのニ極力ムラのない平面を撮影(黒・白バック、グリーンやブルーバックなどなんでも)フォーカスを外しておくとムラが少なくて良いです。これを取り込みAEで言えばレイヤー上に2つ複製して用意します。片方にブラー処理をしてノイズを無くします。するとノイズだけが残ります。コレを書き出し同じくスクリーン合成で乗せます。レンズの蓋をして全くの暗闇を撮影しておく手もありますが、カメラの性能等に合わせて選べばと思います。いずれもノイズがとれているかどうかは露出上げないと目視しづらいと思います。ノイズをキツめにかけたい場合書きだした平面の露出やレベルを上げてスクリーンでのせるとノイズがキツくなります。弱めたい場合はその逆。素材として書きだすときある程度調整しておくと汎用性が上がると思います。暗い、明るい、ISO感度などによってノイズの強度や色味も変わるので何パターンか用意しておくのが理想かも。以上コンポジットでの再現方法でした!いずれも地味なものなので静止状態で作業しているとどうしてもキツめに処理してしまいがちになると思うので注意して隠し味程度に使うのが1番だと思います。おまけ収差をまとめたAEのコンポとBlender(ノードコンポジット)ファイルを公開しておきます。プロフィールAuthor:kurono73CG業界4年目。コンポジット、マッチムーブ、マスクワーク(キーイングロト)を得意としています。基本独学で勉強したことを記事にしています。記事等へのリンクはご自由にどうぞ。Pro,Boujou,Nukeリンク、記事等に問題がある場合、お仕事のご相談、質問はtwitterかコメント又はメールフォームまでお願いします。