2010年7月16日金曜日

luxblend25でポータルを使う。が、その前にGUIが表示されず。

luxblend25の更新によりポータルが使えるようになったとのこと。
早速試してみようとしたもののblenderでluxblend25関連のGUIが表示されない状況が発生。

ログを見てみるとef/ui.pyがエラーを起こしているらしい。となるとluxblend25でなく
Exporter Frameworkの問題の可能性大。

で、それっぽいものを調べていたら公式フォーラムにこんなポストが
This is the EF patch for no_bg --> emboss, for fixing not shown gui-elements.
Important: it is inverted now !!
とのことで、たしかにエラーメッセージにもno_bgがどうたらとかあった気がする。
早速ファイルにコピペしてパッチを当てようとしたけどうまく当たらず。

パッチの中身を見てみるとscripts/io/ef/ui.pyの2ヶ所とscripts/io/ef/util/util.pyの
1ヶ所だけの修正。大した手間でないので手動で修正してちゃんとUIが表示されることを確認。
luxblend25向けのパッチも上記のポストにあったけどこちらは最新の開発版には適用済みでした。

ついでに修正済みのui.pyとutil.pyをこちらにアップ。めんどくさがりな人はどうぞ。

ただ、この方法も万能ではなく、blenderのバージョンへの依存がある様です。
手元の環境ではr30288あたりでは問題なく動いていたのですが、開発版を更新していったところ
r30407あたりでGUIは表示されるもののLuxRenderが起動されなくなってしまいました。


というわけで無事にUIが正しく表示されるようになったのでポータルを使ってみます。

blender2.5を起動して、2.4系のluxblendと同様にマテリアルを探してみるけどportal
もしくはexit portal的なものがどこにもない・・・



で、ふと隣のオブジェクトデータのタブを見てみると一番下にExit Portalのチェックを発見。



分かりづらいw
ポータルとは関係ないけどUse Subdivisionもここか。こっちは前からあったのかもしれないけど。


というわけでポータルの設定の場所がわかったのでテスト。
まずは屋外のシーン。レンダ設定はluxblend25のデフォルトのまま、レンダ時間は6分。
ポータルはピラミッド状に配置と説明してみるが、実はblenderのシーンの画面キャプチャを
忘れただけだったりorz。上がポータル無し、下がポータル有り。
リンク先の原寸サイズで見ないと違いが分かりづらいかも。





ポータルありの方がfireflyノイズが少ない気もするけど、屋外だとあまり差はでないのかも。
もしくはlux本体でのfireflyノイズ対策が効いているというのもありそう。

つぎは屋内。レンダ設定は同じくデフォルトのまま。差が出るかもしれないのでレンダ時間は
長めに10分に変更。blenderのシーンはこんな感じ。



窓の部分にあるのがポータル。定番のパターン。
で、結果はこんな感じ。同じく上がポータル無し、下が有り。





こちらもよく見比べないとわからない程度だけど、ポータルありの方がレンダの進捗が早く
ノイズが少なめ。球体への映り込みをくらべるとわかりやすいかも。


他にもいくつか試した際の雰囲気としては、レンダ時間が長くなるほどじわじわとポータルの
有無の差が大きくなってくる感じ。lux本体の各種ノイズ対策や効率改善のおかげでv0.6の頃の
ようにぱっと見て分かるほどの大きな差というのは出にくくなっているのかもしれませんが、
動作の原理を考えるとポータルの効果がゼロということはないはずです。

少しでもノイズを減らしたい時やクオリティ重視で比較的長時間のレンダを想定している場合、
それほど手間はかからないので、おまじない程度にポータルを設置しておくと意外なご利益が
あるかもしれません。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手