2010年12月13日

背景作成 その6

101212a.jpg

 背景はUV展開をとりあえず完了。
 テクスチャの使いまわしを考えなければいけないのだけれど、まずは普通に一通り開いてしまった。使いまわしはテクスチャを描きつつ調整していこうと思う。


 テクスチャ作成に入る前に、気になったので被写界深度をいろいろ調べなおす。
 aviutlでは無理そうだったので、潔くレンダリング時間はあきらめて、MAXのレンダリングで作ろうかと考え初めていたけれど、aviUtlの使い方をちゃんと調べたところ、一つ方法を思いついたので試してみた。

 http://www.nicovideo.jp/watch/sm11389396(aviUtlのアルファPNGでのクリッピング方法:ニコ動)
 aviUtlでは↑のようにアルファPNGでレイヤーをクリッピングできることが解ったので、z深度をアルファPNGに切り替えて、ぼかさないレイヤーをクリッピングすることで、擬似的な被写界深度を設定してみた。
101212b.jpg

101212c.jpg

 上が元画像で、下がz深度。
 z深度をMAXで書き出した後、Photoshopでz深度のグレースケールを、フォーカスを合わせる部分を残して、ぼかす部分を透明になるように弄って、PNGで保存しなおしておく。↑画像で言うと、白い部分を残して、黒い部分を透明になるようする。
101212d.jpg101212e.jpg

 aviUtlのレイヤーはこんな感じ。
 フォトショと逆で、上のレイヤーが画面上一番奥に表示されるので、まずレイヤー1に元画像を置いて、レイヤー2にレイヤー1をぼかすためのぼかしフィルターを置く。
 そのままだと、ただ全体をぼかした状態なので、次にレイヤー3にz深度をアルファPNGにしたものを読み込んでおいて、レイヤー4に再度元画像を読み込む。
 レイヤー4の設定を"上のオブジェクトにクリッピング"にすると、レイヤー3のアルファチャンネルにしたがって、レイヤー4がクリッピングされるので、ぼかした画像の上にぼかしていない画像を、z深度にしたがってクリッピングした状態で重ねることが出来る。
 あくまでも擬似的なので、静止画で見るとかなりショボイのだけれど、AfterEffectが無い身で、後処理で被写界深度を入れようと思ったら作業的にもさして面倒ではないし、割と有用だと思う。
 アルファPNG化するためのフォトショのバッチ処理が微妙に面倒なので、出来ればバッチ処理をせずにすむ方法を見つけたいのだけれど、今のとこ見つからず。
 

 それと、aviUtlでのz深度を使った被写界深度の方法が思いついたので、MAXでのz深度の書き出しを、もう少しちゃんとしたものは無いものかと探してみた。
 で、見つけたのが、zDepthDOFっていうプラグイン。
http://homepage.mac.com/bauer/portfolio_shaders/zDepthDOF/zDepthDOF.html
主にMayaやxsi用のプラグインでMAX用のはサポート外っぽいのだけれど、使ってみたら標準のz深度書き出しよりいろいろ設定できたので、z深度の書き出しはこれでいこうと思う。
 標準のRenderElementsでのz深度書き出しでは、近距離と遠距離を単純にグラデーションにすることしか出来ないけれど、zDepthDOFでは近距離と遠距離の他に、フォーカス距離とフォーカス範囲を設定できるので、手前と奥をぼかしてその中間のみフォーカスが合うってなこともできるようになった。
 標準のと違うのは、メンタルレイマテリアルで設定するため、使えばレンダリング時に勝手にやってくれるのでは無く、マテリアルとしてモデルに設定しなければならない。ただメンタルレイのマテリアル置き換えを使えば一括で置き換えられるため、さして作業の手間に違いは無い感じ。
 マテリアルである利点として、標準のz深度ではアルファは無視されるためアルファのあるモデルをちゃんと書き出すことは出来ないけれど、zDepthDOFでは、個別にちゃんとアルファも設定すれば、アルファ付のモデルでもちゃんと書き出すことが出来る。それと、フォーカス距離の値をアニメーションしてz深度を書き出すことによって、焦点の合う位置をアニメーションしたりもできる。

 zDepthDOFプラスaviUtlのぼかしフィルターなので、正確さもへったくれもないのだけれど、自分としては特に厳密さは必要ないので、これで十分だと思う。
 
タグ:3DCG
posted by 縦横 at 01:02| Comment(0) | 背景 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。