若模型使用了双面贴图,PNG贴图且存在透明区域,则有可能会让透明区域透过去看到背景或者模型的对面内容
解决办法:
// 对于模型和材质在一起的f3d文件
var mat:Shader3D = hd.getMaterialByName( "Mat1" ) as Shader3D;
mat.filters.push( new AlphaMaskFilter( 0.0001 ));
//mat.twoSided = true;// 贴图若被Embed到了f3d文件中,则不需要这两句,否则可能不显示模型
//mat.build();
//hd.setMaterial( mat );// 不用再设置,因为材质已经被系统自动赋予给了模型
// 对于单独模型,创建材质再赋予的情况如下设置
var material5:Shader3D = new Shader3D( "test5" );
material5.filters.push( new TextureFilter( new Texture3D( "assets/textures/hd.png" )));
material5.filters.push( new AlphaMaskFilter( 0.0001 ));
material5.twoSided = true;
material5.build();
hd.setMaterial( material5 );