使用 alphaMap 不会在我的材质中提供透明度

Mik*_*ike 4 javascript alpha alphablending three.js

我正在尝试创建链连接表面。我有 2 个纹理;具有金属链接的金属外观和白色背景(漫反射)的标准贴图:

我还有一张 alpha 贴图:

我试图将这两个应用到一个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;
Run Code Online (Sandbox Code Playgroud)

这给了我以下内容:

正如您所看到的,Alpha 贴图没有被应用。

为什么不?

任何帮助表示赞赏。

小智 5

尝试将transparent参数设置为true而不是transparency

material.transparent = true;
Run Code Online (Sandbox Code Playgroud)