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})代码>