THREE.js透明平面切割相邻物体纹理

时间:2014-01-22 00:23:59

标签: three.js alpha-transparency

transcut http://glasier.hk/image/transcut.png

每张脸都是这样的:

geometry = new THREE.PlaneGeometry(w,h,1,1,1);
base = new THREE.MeshBasicMaterial( { color: pass.color, transparent: true, side: THREE.DoubleSide} )
material = new THREE.MeshLambertMaterial( { map: THREE.ImageUtils.loadTexture(pass.img), transparent: true, opacity:1, side: THREE.DoubleSide });
shape = new THREE.Mesh(geometry, material);

我做错了什么?

1 个答案:

答案 0 :(得分:5)

它看起来像深度缓冲问题。 请参阅thisthat

您可以尝试使用材质的depthTest和depthWrite参数进行播放,也可以按自定义顺序绘制对象。您可以通过设置renderer.sortObjects = false并将透明纹理添加到场景中来完成此操作。