2009-11-05

カラーカーブとエクスプレッションで3Dレイヤーのz深度マップ

カラーカーブとエクスプレッションで3Dレイヤーをz深度マップで表示する方法を考えました。

原理は、カメラのレイヤー空間に固定された2点の座標を3Dレイヤー空間の座標に変換し、それを元に3Dレイヤーにカラーカーブを適応することでz深度マップを作成します。

以下では、コンポジションに”カメラ 1″と”ヌル 1″を追加し、”ヌル 1″に調整用のエクスプレッション制御スライダを2つ追加、名前をwhite,blackに変更したものを用意した場合のエクスプレッションを示します。whiteとblackの値で、カメラから向かって奥側にしたい色の値を上げておきます。(以下のエクスプレションではwhiteとblackの値が同じときエラーになります。)

z深度表示したい3Dレイヤーに塗り、カラーカーブエフェクトをこの順に適応します。塗りエフェクトを適応するのはカメラに対し3Dレイヤーが正面を向いている場合、そのレイヤーを1色で塗りつぶすためです。

“塗り”エフェクトの”カラー”に

C=thisComp.layer("カメラ 1");
white=thisComp.layer("ヌル 1").effect("white")("スライダ");
black=thisComp.layer("ヌル 1").effect("black")("スライダ");
 
wc=C.fromWorld(toWorld([0,0,0]));
lum=(wc[2]-black)/(white-black);
hslToRgb([0,0,lum,1])


“カラーカーブ”エフェクトの”元の画像とブレンド”に

C=thisComp.layer("カメラ 1");
 
n=toWorldVec([0,0,1]);
nc=C.toWorldVec([0,0,1]);
 
0;
if(dot(n,nc)==1){100;}


これらのエクスプレッションで3Dレイヤーがカメラに対し正面を向いている場合、3Dレイヤーが1色で塗りつぶされることになります。

最後に、”カラーカーブ”の”開始点”(色は黒)、”終了点”(白)に

C=thisComp.layer("カメラ 1");
 
n=toWorldVec([0,0,1]);
nc=C.toWorldVec([0,0,1]);
 
value;
if(dot(n,nc)!=1){
 
wwp=C.toWorld([0,0,thisComp.layer("ヌル 1").effect("black")("スライダ")]);
//終了点にはここの"black"を"white"に書き換え
lwp=fromWorld(wwp);
the=Math.acos(dot(n,nc));
len=lwp[2]*Math.tan(Math.PI/2-the);
lnc=fromWorldVec(nc);
lnc_foot=normalize(foot(lnc));
foot(lwp)+lnc_foot*len
 
}
 
function foot(vec){
return foot=[vec[0],vec[1],0];
}


以上のようにエクスプレッションに書き込むことで3Dレイヤーがグレースケールのz深度マップのように表示されます。

 

応用例として

コンポジット編集で被写体深度を入れる、霧のような演出を入れる

コロラマ、トライトーンなどで色付けをしてみる

などが考えられます。また、これらのエクスプレッションはカメラのレイヤー空間に固定された2点に対し3次元的にカラーカーブをかけさせますが、各エクスプレッションのC=(カメラレイヤー)の部分を、たとえばC=(ヌルレイヤー)などに置き換えることでそのヌルレイヤー空間の2点に対しカラーカーブをかけさせるエクスプレッションに変えることもできます。



タグ : , , [タグを追加する]


この記事の投稿者について:devo

フィードバック

1 Star2 Stars3 Stars4 Stars5 Stars
(評価回数:5 , 平均:5.00)
Loading...Loading...

この記事に対する 7 の反応があります


  1. 1 AE-USERS 11月 5th, 2009 at 14:26

    新着記事 : カラーカーブとエクスプレッションで3Dレイヤーのz深度マップ http://bit.ly/4519wF

  2. 2 AEUSERS(AEP Project) 11月 5th, 2009 at 14:26

    新着記事 : カラーカーブとエクスプレッションで3Dレイヤーのz深度マップ http://bit.ly/4519wF

  3. 3 you-key kurihara 11月 5th, 2009 at 14:34

    RT @AEUSERS: 新着記事 : カラーカーブとエクスプレッションで3Dレイヤーのz深度マップ http://bit.ly/4519wF

  4. 4 uzura 11月 6th, 2009 at 04:21

    カラーカーブとエクスプレッションで3Dレイヤーのz深度マップ | AEP Project: カラーカーブとエクスプレッションで3Dレイヤーをz深度マップで表示する方法を考えました。 原理は、カメラのレイヤー空間に固定された.. http://bit.ly/36rkV2

  5. 5 酔歌 11月 6th, 2009 at 13:10

    AEP Project様・・・僕にはさっぱりですhttp://bit.ly/4519wF

  6. 6 翼Pはbot 12月 26th, 2009 at 14:15

    . @Ridger_ @KabkinP 私はよくわからないけど、お二人なら理解できる? AEでZ深度マップつくる方法 http://bit.ly/4vuTMd

  1. 1 カラーカーブとエクスプレッションで3Dレイヤーのz深度マップ | エクスプレッション - After Effects - 動画編集ソフト - アプリケーション | Jishuu.net Pingback on 7月 7th, 2012 at 13:16

コメントをどうぞ!




特集