Painting with Polygons using Maya

http://www.outside-hollywood.com/siggraph/ をMayaで試してみた(1時間くらい)。

うまくいかなかったんだけど、誰かが答えを教えてくれると思ってレビュー。


3Dが固いと言われる理由の一つに、三次元的に正しすぎる輪郭があると思います。
どんなにきれいな輪郭線を描いても、形状が正確すぎて、機械的にみえてしまう。それを打破しようと色んなノンフォト系の論文がでています。


このサイトでは、それを超シンプルな方法で打破しています。思考の流れをまとめるとこんな感じ。

  • 輪郭はディスプレイスメントで形状自体変えればいいじゃん
  • だけどそれだとただのバキバキなオブジェクトになっちゃう
  • だからディスプレイスメント部分を透明というか、それっぽく重なってみせたい。
  • だから、ディスプレイスメントにモーションブラーを適用。一フレーム間でディスプレイスの強さを0→1→0と高速に動かす。そうすると、オブジェクトの形状変化部分にモーションブラーがかかり、それっぽく見える。


この手法の特徴は、最後の部分だけ。クソ簡単なので試してみる。


やってみた


まず、ティーポットを用意。レンダリング時間を抑えるためにレイトレースシャドウのノイズはそのままです。(デプスマップは死んでも使わん。)
f:id:sumiosmith:20110227113925j:image:w300



というわけでディスプレイスメントを3Dフラクタルで行う。レンダラはmental rayです。
f:id:sumiosmith:20110227113926j:image:w300



お約束の爆発。まじめに修正する。
f:id:sumiosmith:20110227113927j:image:w300



はい、ここまで5分。
そして次にアニメーションの設定ですね。ハイパーシェードでディスプレイスメント用3Dフラクタルのalpha gainに0→0.5→0とキーを打ちます。
f:id:sumiosmith:20110227114929j:image:w600
f:id:sumiosmith:20110227114902j:image:w300



そしてモーションブラーをONにする。mental rayでもちろんFullです。
f:id:sumiosmith:20110227115202j:image



・・・・とここまでやったが・・・・・画像がただのディスプレイスメントのまんま。
色々パラメータいじったり、Mayaが落ちたりで早くも一時間。人の大切な休日をなんだと思ってんだ。
というわけで、明日会社のデザイナにでも聞いてみよう。


リアルタイム性について

でも、これ、物体の輪郭をやわらかくぼかすためだけに、モーションブラーなんて比較的ヘビイな処理かましてるな。
リアルタイムにするならば、

  • ディスプレイスメントはジオメトリシェーダor頂点ノイズで。
  • モーションブラーは、いわゆる残像系エフェクトの頂点つなぐ方法でやる?
  • それよりも、2パスでディスプレイスメントと普通のモデルを・・・・

とかあるかもしれないけど、費用対効果に見合った行動かは謎。
やらなきゃと思いつつ、心のスタックに積んでおこう(深さ3)。