Three.js将envmap与半透明纹理混合

时间:2015-02-01 18:59:46

标签: three.js

我有一架带有MeshBasicMaterial和cubecamera的飞机。我将cubecamera.renderTarget指定为我的素材的envmap,并将png图像指定为我素材的纹理。 png图像是普通的,除了它的中心。我想要实现的是让反射 - cubecamera envmap只在png透明的地方可见。

这可能吗?如果是这样,请引导我,因为我是three.js的新人。 目前我的资料如下:

productMaterial = new THREE.MeshBasicMaterial( {
    map: productModelTexture,
    envMap: that.cubeCamera.renderTarget,
    combine: THREE.MixOperation,
    reflectivity: 0.25,
    color: that.models.settings.color,
    specular: that.models.settings.specular,
    side: THREE.FrontSide,
    transparent: true,
    fog: false
} );

1 个答案:

答案 0 :(得分:0)

您应该将透明度alpha导出到自己的图像映射,而不是使用透明的PNG,并使用材质的 alphaMap 属性来设置透明度。

http://threejs.org/docs/#Reference/Materials/MeshPhongMaterial