THREE.js GLTFLoader alpha 不显示透明度(显示白色背景)

问题描述 投票:0回答:1

我在搅拌机中定义了一个模型:

如您所见,纹理是部分透明的(参见节点 - 我将白色背景转换为 Alpha):

并确保将 BlendMode 启用为 AlphaClip(不适用于 BlendMode = 不透明):

但是,当这样加载到 Three.js 时:

            const gltfLoader = new GLTFLoader();
            var loader = gltfLoader.load(gltfPath, (result) => {
                let root: Group = result.scene


                root.scale.setScalar(10);
                root.name = name;
                root.castShadow = true; 
                root.receiveShadow = true;
                //root.rotation.x = -90;

                let objectWrapper = new Object3D();
                objectWrapper.add(root);

                resolve(objectWrapper);
                console.log("Called!")
            });
        });

Alpha 无法正常工作 - 我该如何解决这个问题? alpha 有什么替代方法吗? GLTFLoader 中的一些设置?

javascript three.js alpha
1个回答
0
投票

尝试其中之一,应该可以解决您的问题:

(…).transparent = true
(…).alphaTest = 0.01
(…).depthTest = false
// (…).depthWrite = false is default in GLTFLoader, but you can try
© www.soinside.com 2019 - 2024. All rights reserved.