Java3D:具有透明PNG纹理的对象的顺序有问题
今天我尝试用Java3D编程一个小鱼缸。 鱼缸旋转,鱼被放在里面。 框中的鱼是Java 3D框,带有带有alpha通道的PNG图片。没有激活的透明度,对象的顺序是正确的。但是,当我启用它时,后面的一些鱼出现在前面,这看起来真的很不对劲。我尝试了最好的,最快的和混合的透明度选项,但我没有努力
有人知道问题出在哪里吗
Vector3f[] posf = new Vector3f[5]; posf[0] = new Vector3f(-0.22f, -0.1f, -0.2f); posf[1] = new Vector3f(-0.34f, 0.1f, 0.2f); posf[2] = new Vector3f(0.3f, -0.2f, 0.3f); Appearance fischapp = new Appearance(); fischapp.setTransparencyAttributes(new TransparencyAttributes(TransparencyAttributes.NICEST, 1f)); try { fischapp.setTexture(new TextureLoader(ImageIO.read(new File("nemo.png")), this).getTexture()); } catch(IOException exc) { System.out.println(exc.getMessage()); } for(int i = 0; i
!![备选案文][1]
谢谢大家!
# 1 楼答案
是的,你应该使用OrderedGroup而不是BranchGroup
及
# 2 楼答案
我建议使用OrderedGroup来确保您的鱼被拉回到前面