我在搅拌机中定义了一个模型:
如您所见,纹理是部分透明的(参见节点 - 我将白色背景转换为 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 中的一些设置?
尝试其中之一,应该可以解决您的问题:
(…).transparent = true
(…).alphaTest = 0.01
(…).depthTest = false
// (…).depthWrite = false is default in GLTFLoader, but you can try