javascript - 使用 alphaMap 不会在我的 Material 中提供透明度

标签 javascript three.js alpha alphablending

我正在尝试创建链环表面。我有 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;

这给了我以下信息:

如您所见,未应用 alpha 贴图。

为什么不呢?

感谢任何帮助。

最佳答案

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

material.transparent = true;

关于javascript - 使用 alphaMap 不会在我的 Material 中提供透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43983307/

相关文章:

javascript - 将数据传递给其他组件

javascript - 使用 three.js 单击网格获取像素的颜色值

user-interface - 使用 Three.js 将 UI 元素直接绘制到 WebGL 区域

iPhone:更改 CGImage 的 CGImageAlphaInfo

Java - 删除低于某个 alpha 值的像素

javascript - 获取 iframe 的源代码

javascript - 我们如何使用 javascript 或 jquery 获取由 chrome 计算的元素的高度和宽度?

javascript - onclick javascript 重定向到另一个页面

javascript - Three.js raycaster.intersectObject 当 THREE.Points 只有 1 个顶点或顶点排列成直线时不相交

c++ - 在不丢失 alpha 值的情况下将 QColor 转换为 QString