[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00543] Re: Text2Dの色が後ろにある物の色と混合する問題
━ For the all People ━
http://www.perso.co.jp
今野です。
> Text2Dを使用しているのですが、Text2Dの後ろ(視点より遠い位置)に
> 物体(例えば直方体)などがありまして、
> 視点から見て重なっている場合にText2Dの色が変わってしまいます
> (後ろの物体の色の影響を受けているように思います)。
> Text2Dの方が後ろの物体よりもどんなに視点に近くても起ります。
ちょっと気になったのでソースを見てみたのですが、Text2Dは背景との
混合を前提にした仕様のようで、そのようにインプリメントされていますね。
具体的には、以下の抜粋したインプリメント部分の中で、混合指定
(TransparencyAttributes.BLENDED)を行ったAppearanceが
Text2Dに設定されているのが原因のようです。
TransparencyAttributes transp = new TransparencyAttributes();
transp.setTransparencyMode(TransparencyAttributes.BLENDED);
transp.setTransparency(0f);
Appearance appearance = new Appearance();
appearance.setTransparencyAttributes(transp);
混合したくないのであれば、シーングラフに追加する前にText2Dに
以下のように明示的に混合しないAppearanceを再設定すれば問題
ないでしょう。
Text2D tex2d = new Text2D( ....... );
TransparencyAttributes transp = new TransparencyAttributes();
transp.setTransparencyMode(TransparencyAttributes.NONE);
Appearance app = new Appearance();
app.setTransparencyAttributes(transp);
tex2d.setAppearance(app);
上記の設定は確実ですが、ちょっと冗長です。単に以下のような
コードでもOKかもしれません。
Text2D tex2d = new Text2D( ....... );
tex2d.setAppearance(new Appearance());
以上簡単ですが、ご参考まで (^ ^)
-----------------------------------------------
Satoshi Konno
http://www.cyber.koganei.tokyo.jp
skonno@xxxxxxxxxx