2009年9月6日日曜日

blender - GLSLのアルファ値を何とかする方法

この重なった部分で起こる現象。



GLSLMaterialビューで、アルファ付きテクスチャを重ねて表示すると現れるんだけど、
こいつが中々厄介で、これのせいで色々と汚いことになったりする

なぜこんなことが起こるのか。詳しくは知らないけど、zバッファの都合上、zソートしたものを、順番に描画しないと、綺麗にアルファが抜けないそうだ。順番にといっても、Blenderはそこまで面倒見ない。BlenderはBlender独自の順番で描画しているだけだ。

おk、じゃあBlenderの独自の順番を、z順にしたらどうか?
第一歩としては悪くない選択肢であるはず。

早速やってみた。こうなる。




多分これで問題無さげ。
どうやってるのかというと、手前から奥に、順番に手前→parent:奥、としているだけ。

もう少し分かりやすい例

なんと、joinした後も、このchild-parentの関係が維持されるようだ。
左は、全て独立したオブジェクト
右は、z順で、parentで関連付けた後、全てのメッシュオブジェクトをjointした。


次の問題は、視点(カメラ)は動くということだ。(続く…かも)

0 件のコメント: