Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在three.js中使用具有透明度的纹理?_Javascript_Three.js - Fatal编程技术网

Javascript 如何在three.js中使用具有透明度的纹理?

Javascript 如何在three.js中使用具有透明度的纹理?,javascript,three.js,Javascript,Three.js,我想组装一组网格,如下所示: material = new THREE.MeshBasicMaterial({ transparent: true, map: texture }); material.needsUpdate = true; var materials = []; materials.push(material); materials.push(ne

我想组装一组网格,如下所示:

material = new THREE.MeshBasicMaterial({
            transparent: true,
            map: texture
        });
        material.needsUpdate = true;

        var materials = [];
        materials.push(material);

        materials.push(new THREE.MeshBasicMaterial({
            color: 0x000000,
            wireframe: true,
            transparent: true
        }));

        mesh = THREE.SceneUtils.createMultiMaterialObject(geom, materials);

黑色轮廓矩形表示我希望如何组装它们。我有8块、4条边和4个角作为纹理(具有透明度)。然后,我有一个第九个纹理,我想在其他纹理下面有一个,这个纹理由紫色区域表示。几何图形看起来不错,纹理图像是16x16 PNG。首先,我尝试了使用MeshBasicMaterial的基本方法,得到了矩形,但没有得到纹理。根据其他地方的一些建议,我尝试了以下方法:

material = new THREE.MeshBasicMaterial({
            transparent: true,
            map: texture
        });
        material.needsUpdate = true;

        var materials = [];
        materials.push(material);

        materials.push(new THREE.MeshBasicMaterial({
            color: 0x000000,
            wireframe: true,
            transparent: true
        }));

        mesh = THREE.SceneUtils.createMultiMaterialObject(geom, materials);

但这也不起作用。我也尝试过使用ShaderMaterial,但我想我还没有得到足够好的GLSL来让它工作。我究竟如何获得透明png纹理以映射到ShapeGeometrics?

是否将不透明度值“不透明度:0”更改为1
material=new THREE.MeshBasicMaterial({opacity:0.6,transparent:true,map:texture})