我正在使用平面,挤压样条和圆柱几何构建教育工具.飞机有纹理贴图,其余的是基本材质或兰伯特材质.
>在唯一的地图上的平面上的纹理贴图,它确实有一个alpha
渠道.
>纹理贴图已经过测试.GIF和.PNG
>所有对象都有“透明:真实”
> renderer = new THREE.WebGLRenderer({antialias:true});
注意:这是以下链接中列出的完全相同的问题.它还没有解决,我的代表不够评论.
in three.js,alpha channel works inconsistently
正如mmaclaurin所说,它可能是基于绘制顺序和摄像机位置的变化.我正在使用THREE.TrackballControls并限制相机移动到两个轴.
感谢您花时间阅读本文以及您提供的任何帮助!
平面物体的例子:
var T4map = new THREE.ImageUtils.loadTexture( 'medium_T4.png' ); var T4Material = new THREE.MeshBasicMaterial( { opacity: .96,transparent:true,map: T4map } ); var T4Geometry = new THREE.PlaneGeometry(810,699,10,10); var T4 = new THREE.Mesh(T4Geometry,T4Material); T4.position.y = -CNspacing; T4.doubleSided = true; scene.add(T4);
问题最明显的挤压样条几何示例:
var mesh = THREE.SceneUtils.createMultiMaterialObject( geometry,[ new THREE.MeshLambertMaterial( { color: 0xaaff00,opacity: 0.5,transparent: true } ),mesh.position.set( x,y,z ); mesh.scale.set( s,s,s ); parent.add( mesh );
解决方法
尝试使用depthTest.通常这会有所帮助:
new THREE.MeshBasicMaterial( { side:THREE.BackSide,map:texture,transparency:true,opacity:0.9,depthWrite: false,depthTest: false });
还有许多与您的主题相关的其他问题,例如:transparent bug