BlenderでPointPass

May 7, 2011
blnkrelighttest.jpg

ふとBlenderでPointPass出せないかと思ってやってみた。BlenderはPPass出力オプションがないので、グローバル座標をマテリアルに焼き込んでOpenEXRでレンダリングしたものをNukeに読み込み、Phongシェーダーを使ってライティングしたのが上の画像。

一見ちゃんとライティングできてるように見えますが、実は座標系がめちゃくちゃでライトの位置がこれっぽっちも正しくライティングに反映されてません。が、「Blenderは垂直方向がZ軸」ということに気がついて修正。それでもFBXで出力したCameraが変な方向向いてるし...座標系は変換したのに、なぜ傾く?! ああ、CameraのローカルOrientationか...

とりあえず座標系の問題を切り分けるためにわかりやすいシーンを用意して検証してみると、やっぱりCameraのOrientationが90°回転してる。BlenderのFBX Exporterのソースコードを修正してカメラをNukeに再度読み込んだら直った。

blnkrelighttest_2.jpg

...と思ったらNormalも怪しくなってきた...

blnkrelighttest_3.jpg

とりあえずBlenderでのPPassの出力はこんな感じ。一連の作業をムービーでタイムラプスでキャプチャしてたつもりが、ソフトの設定間違えてうまくキャプチャできてなかった。とほほ。

急に面倒くさくなったので、とりあえず今日はここまで。BlenderでPPass出すなんていうことに需要があるのかわかんないけど、また時間あったらきちんと検証して書こうと思います。

[関連記事] BlenderでPointPass(2)