After Effects

2009年02月18日

陽炎(かげろう)やってみた その3 modo 302 AfterEffects 7

さて、modoの作業は終わったので、今度はレンダリングした連番画像をAfterEffectsに読み込んで、空気のゆらぎを付けて行く。まあここからは最初に書いた通り今月号のCGWorldのコンポジットアラカルトの記事を参考にしているよ。

まずはコンポジション→新規コンポジションで新しくコンポジションを1つ作る。まあ後からプリコンポーズでもいいけどね。

fig01

このコンポジションに「コントロール」という名前を付ける。このコンポジションにゆらぎのパターンのアニメを作成する。

このコンポジションに対してレイヤー→新規→平面で平面を1つ作成する。

fig04

そしてこの平面にエフェクト→ノイズ&グレイン→フラクタルノイズでエフェクトをかける。設定はとりあえずこんな感じ。遠景でユラユラしているのでスケールを絞ってパターンを細かくした。

fig03

次にタイムラインを展開して乱気流のオフセット、サブのオフセット、展開それぞれを選択してアニメーション→エクスプレッションを追加でそれぞれ以下の式を設定して時間でパラメータが変化するようにする。

  • 乱気流のオフセット:[ 0 , -time * 30 ]
  • サブのオフセット:[ 0 , -time * 30 ]
  • 展開:time * 60

fig02

これでノイズパターンがこんな感じでアニメーションするようになる。

fig05

このノイズによるエフェクトは下の画像のマークした付近にかけたいので、奥行き方向の距離を濃淡で表わしたデプスマップと、空を覆うグラデーションでマスクする。

fig06

ノイズを付けた平面の上にscene_z.bmpを読み込んで配置する。scene_z.bmpはレンダリング画像とサイズとかが違うので、スケールで画像が重なるようにあわせる。横と縦の比率もちょっと違ったみたいで70%,63%でうまく重なった。

fig07

次にデプスマップにエフェクト→色調補正→レベルでレベルエフェクトを加えて効果が及ぶ範囲を設定する。

fig08

遠くの方だけ明るく、手前は真っ黒になった。効果の範囲はこのレベルで調整する。

fig09

このレイヤをレイヤー→描画モード→乗算で乗算モードにして下のノイズに乗じる。その結果がこんな感じ。このままだと空の方までモヤモヤになってしまうので今度は上からグラデーションでマスクをかける。

fig10

レイヤー→新規→平面で新しく平面を作って、

fig14

エフェクト→描画→カラーカーブで空を覆うようなグラデーションを作成する。

fig11

こんな感じ。

fig12

このレイヤも描画モードを乗算にして重ねる。これでモヤモヤの範囲が限定できた。

fig13

再びコンポジション→新規コンポジションでコンポジションを作成し、modoでレンダリングした連番ファイルと先に作ったコンポジション(コントロール)を配置し、レイヤー→新規→調整レイヤーをその上に追加する。そしてコントロールは非表示にしておく。

fig15

調整レイヤーにシミュレーション→コースティックとブラー&シャープ→ブラー(合成)の2つのエフェクトを設定する。

fig16

コースティックの水とブラー合成を先に作ったコントロールのコンポジションでコントロールして歪みとボケを作って空気が揺らいでいる感じにする。

fig17

さらにこのシーンのコンポジションを新規に作ったコンポジションに入れてスケールをアニメーションするとこんな感じ。

fig18

だいたい陽炎は何とかなりそうだな。

それではまた次回。

カテゴリー別ページ



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)

2009年02月17日

陽炎(かげろう)やってみた その2 modo 302 AfterEffects 7

前回は遠景の地面が陽炎で水面のようになる現象を作ってみた。ただ残念な事に、地面に背景を投影しているので、下の画像のように鏡面に映り込まないものが多々あって、ちょっと不自然な感じがある。

fig01

そこで無い知恵を絞って解決策を考えてみた。で、結局、映っていないものは映るようにその場所に書き割りを立てるしかないという結論になったわけだ。幸いな事に相手は蜃気楼だからそんなに厳密な映り込みじゃなくてもいいので、必要な箇所に数枚の板を立てればなんとかなりそうな感じだ。

そこでこんな感じで板ポリを立てた。

fig02

カメラから見るとこんな感じ。

fig03

これらの板ポリにbackと言う名前でマテリアルを設定し、背景のカラー画像をルミナンスの色にマッピングし、アルファマップを反転したものをステンシルマップとしてマッピングした。そしてベースのMaterial(3)のディフューズ量を0%に、ルミナンス輝度を1.0W/srm2に設定した。今回の板ポリみたいに他から影が落ちたりライトによって明るさが変化したりすると困る場合はルミナンスの色に画像を貼って、明るさをルミナンス輝度で調整すると便利だよ。ビルボードみたいな書き割りではよく使われるTipsのようだ。

fig05

貼り付け方はフロントプロジェクションで、プロジェクションカメラも忘れず設定する。

fig07

これが地面のマテリアルと背景を無効にしてレンダリングしたところ。ステンシルマップで板ポリがくり貫かれている事がわかる。この状態でプレビューを見ながら板ポリを動かして調整するとやりやすい。地面は画面下から画面中央にかけてパースがかかっているので、板ポリは奥に配置するほど地面で下側の部分が覆い隠されて、手前に持ってくるほど下側の部分が露出するので、下側が切れたり見えなかったりする場合は板ポリを手前に移動すればいいし、板ポリの映像が鏡面から浮き上がってしまう場合は板ポリを奥に移動させればいい。

fig04

これが全部あわせたところ。今度は地面にいろいろと映りこんでいる。

fig11

それから距離感を出すためにフォグを設定する。

fig10

環境カラーを使うことで先に配置した板ポリや地面には影響が出ない(濃くなるにつれて背景画像になるけどそもそも地面も板ポリも背景画像を投影して貼ってあるので変わらない)ようにして、フォグ密度を0.2%にした。これでOgreがちょっと薄ぼんやりしたコントラストになる。

fig06

次に反射のゆらぎをアニメーションさせる。

アニメーションパネルに切り替えてノイズのテクスチャロケーターのY軸位置を0フレームで0mm、30フレームで15cmにそれぞれキーを打って、グラフエディタを立ち上げてチャンネルを「リニア」に切り替えて後動作を「オフセット繰り返し」に設定する。

fig08

これがその結果。映りこんでいる部分が揺らいでいる。

fig09

あとはAfterEffectsで空気のゆらぎを付けていく。modoだけでゆらぎを付ける場合は透過する板ポリをカメラの手前に置いてノイズのバンプマップで透過して来る光線を歪ませるとかって事になるだろうね。その場合屈折率がマッピングできないのがちょっと辛いとこなんだよね。1度レンダリングした画像を背景にしてから新たに揺らぎだけ付けるシーンを用意した方がコントロールしやすいかも。今回はAEで処理するつもり。

それではまた次回。

カテゴリー別ページ



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)

2009年02月16日

陽炎(かげろう)やってみた その1 modo 302 AfterEffects 7

バレンタインデーに隣のおばあさんからおにぎりを2つ貰っただけですが何か?

ショートムービーの舞台は荒野なので遠景では陽炎が発生するわけで、ここらでどうやって表現するかを検討してみようとあいなったわけだ。

嬉しい事に今月号(2009年3月号)のCGWORLDのコンポジットアラカルトでも同じようなテーマが取り上げられているので、AE部分はかなり参考にさせてもらった。

で、陽炎なんだけど空気が暖まってゆらゆら遠景がぼやける部分と屈折で地面が鏡のようになる部分に分けて考えてみた。

まずはVueで下の画面のようなシーンを作ってカラー・デプス・アルファの3画像をレンダリングで作った。

カラー

fig02

デプス

fig03

アルファ

fig04

次にmodo上で地面を表わす板ポリ一枚とその上にOgreを1体立たせた。板ポリはカメラの視野をカバーするように広げる。

fig05

これがレンダリングしたところ。Orgaを遠くに配置して、板ポリは前後に大きく伸ばしてある。

fig07

この板ポリにgroundという名前のマテリアルを設定した。そしてgroundにVueで作った背景のカラー画像を読み込んでフロントプロジェクションマップで貼り付けた。さらに同じ画像をEnvironmentグループ内にも配置し、これも同様にフロントプロジェクションマップとして貼り付けた。

fig06

これがレンダリングしたところ。

fig08

これに効果を加えて行く。陽炎の資料映像をいろいろ見ると、地面が水面のようになって物体が反転して映っている。これを実現するためにカメラから見た時の地面の法線とカメラ視線との角度で範囲を決めて、その範囲の反射量を上げてみる。そのためにgroundマテリアルにエフェクト「反射量」でグラデーションシェーダーを挿入した。

fig09

グラデーションの入力パラメータを「入射角」にして、グラデーションエディタでこんな曲線を設定する。この曲線の盛り上がっている範囲が反射する範囲で、プレビューを見ながら調整した。

fig10

下の図の左のカメラから出ている線と平面の法線との角度AやBがグラディエントシェーダーの入力パラメータ「入射角」で、平面に対してカメラをこのように設置した場合、カメラから遠ざかる程、角度は大きくなる。上のグラフの横軸がこの角度に対応していて、100%が90度のようだ。そしてグラフの縦軸が反射量で、グラフが上に行くほど鏡に近くなる。だからこのグラフが盛り上がっている部分が鏡のようになり、グラフの盛り上がっている部分を左に移動させれば鏡になっている部分がカメラに近付き、右に移動させればカメラから遠ざかる。

fig01

これがレンダリングしたところ。遠くの地平線付近に反射を設定できたけど、このように白っぽくなってしまっている。これは反射にディフューズが加算されてしまっているからで、

fig11

Materialのエネルギー保存にチェックを入れて光量の出入りのバランスを取ると、

fig12

このように反射量に反比例してディフューズ量が減る。

fig13

このままだと反射がキレイ過ぎるからちょっとノイズを加えみる。

fig14

ノイズはバンプのままかけてもわかり辛いので、エフェクトをディフューズ量にしてプレビューを見ながら調整した。

fig15

このままだとバンプが地面全体にかかっちゃうので、グループを1つ作ってノイズバンプを入れ、さらに反射量100%のConstantを追加した。これでグループは反射量100%でノイズで凸凹のシェーダーグループになるので、これを入射角のグラディエントでグループマスクすることで切り抜いて外側のディフューズ(画像:scene)+Material(2)と合成したわけだ。

fig16

これがその結果。バンプにマスクがかかったのはちょっとわかり辛いな。

fig17

さて、こうやってかけてきたエフェクトだけど、手前のサボテンとかにも影響が出ちゃっているのでマスクして影響を取り除きたい。そこでアルファマップを読み込んで反転してグループマスクとしてグラディエントのグループマスクに乗じた。

fig18

これでサボテンがマスクされて地面だけにエフェクトがかかった。

fig19

長くなったので続きはまた次回。サンプルデータはOgreは添付出来ないので青い球体に置き換えてあるよ。

カテゴリー別ページ



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)
Archives