Javascript 使用alphaMap不会在我的材质中提供透明度
我正在尝试创建链接曲面。我有两个纹理;具有白色背景(漫反射)金属链接金属外观的标准地图: 我还有一张阿尔法地图: 我正在尝试将这两种方法应用于Javascript 使用alphaMap不会在我的材质中提供透明度,javascript,three.js,alpha,alphablending,Javascript,Three.js,Alpha,Alphablending,我正在尝试创建链接曲面。我有两个纹理;具有白色背景(漫反射)金属链接金属外观的标准地图: 我还有一张阿尔法地图: 我正在尝试将这两种方法应用于MeshBasicMaterial,但运气不佳: var chainlinkMask = THREE.ImageUtils.loadTexture('textures/chainlink_Large-Panels_mask.png'); chainlinkMask.wrapS = THREE.RepeatWrapping; chainlinkMask.
MeshBasicMaterial
,但运气不佳:
var chainlinkMask = THREE.ImageUtils.loadTexture('textures/chainlink_Large-Panels_mask.png');
chainlinkMask.wrapS = THREE.RepeatWrapping;
chainlinkMask.wrapT = THREE.RepeatWrapping;
chainlinkMask.repeat.set( 2, 2 );
var chainlinkDiffuse = THREE.ImageUtils.loadTexture('textures/chainlink_Large-Panels_Diffuse.png');
chainlinkDiffuse.wrapS = THREE.RepeatWrapping;
chainlinkDiffuse.wrapT = THREE.RepeatWrapping;
chainlinkDiffuse.repeat.set( 2, 2 );
material.map = chainlinkMask;
material.alphaMap = chainlinkDiffuse;
material.transparency = true;
material.side = THREE.DoubleSide;
这给了我以下信息:
如您所见,alpha贴图没有被应用
为什么不呢
非常感谢您的帮助。尝试将
透明
参数设置为真
而不是透明
material.transparent = true;
如果使用alpha贴图,请在定义材质时使用以下两种图案之一:
alphaMap: texture,
transparent: true,
或
如果可能,请使用后者,并避免透明为真时可能出现的瑕疵
three.js r.85直接使用
材质。例如,透明的会导致渲染问题。您有两个交叉平面,每个交叉平面都应用了material.transparent=true
,以及material.side=DoubleSide
。旋转它,您将看到渲染问题。
只需使用上面提到的解决方案@WestLangley
alphaMap: texture,
alphaTest: 0.5, // if transparent is false
transparent: false,