2016-12-05 32 views
0

我在某些精靈的top and bottom兩側獲得了一些artifactsThese are the shaders我正在使用,如果有問題。我正在使用v76。THREE.js中png紋理頂部和底部的文物v76

而且我建造這些精靈是這樣的:

var object = new THREE.Object3D(); 
var textureLoader = new THREE.TextureLoader(); 
textureLoader.load('path/to/image.png', function(texture) { 
    texture.wrapS = THREE.RepeatWrapping; 
    texture.wrapT = THREE.RepeatWrapping; 
    texture.anisotropy = 16; 
    var geometry = new THREE.PlaneBufferGeometry(15, 15); 
    var material = new THREE.MeshPhongMaterial({ 
     map: texture, 
     color: 0xffffff, 
     transparent: true, 
     alphaTest: 0.2, 
     side: DoubleSide, 
    }); 
    var mesh = new THREE.Mesh(geometry, material); 
    mesh.castShadow = true; 
    mesh.receiveShadow = true; 
    mesh.customDepthMaterial = new ShaderMaterial({ 
     uniforms: { texture: { type: 't', value: this.material.map } }, 
     vertexShader: vertexShader, 
     fragmentShader: fragmentShader, 
    }); 
    object.add(mesh); 
}) 

回答

1

不要設置你的紋理與THREE.RepeatWrapping包裹。這可能會在紋理邊緣留下意圖用作精靈的僞影。

+0

即使您的建議,我也無法修復它,儘管我最終得到了答案的混合,並在着色器中使用了alphaTest和值,直到它們「消失」到不可見 – bitten