我正在做一个作业项目,在three.js中导入gltf文件时遇到问题。我用搅拌机2.9制作我的gltf文件。因此,如果我导出gltf separate(+bin+纹理(,我可以使用gltf加载器导入模型,但问题是,本应透明的纹理却不是,即使我在在线gltf加载器上测试文件,它们也不是透明的。但是,如果我导出为嵌入式gltf,那么在线gltf查看器上的所有内容都能正常工作,但在我的项目中,我会收到以下错误:
未捕获(承诺中(error{target:img,isTrusted:true,srcElement:img,eventPhase:0,bubbles:false,cancellable:false,returnValue:true,defaultPrevented:false,composed:false,timeStamp:768,…}
有人知道怎么了吗?我花了几个小时尝试不同的东西,当我阅读一些论坛和blender上的官方文档时,我几乎确信我在blender中的节点设置是正确的。或者,我可以用单独导出的gltf来修复任何问题,以使透明度发挥作用吗?
感谢
尝试添加渲染器({alpha:true}(添加透明芳烃的可能性我不确定,但它应该工作
请添加您的代码,看看代码是否有其他问题
感谢大家的回答。我现在通过在渲染器中添加以下两行来解决单独的gltf版本的问题:
gl.enable(gl.BLEND);
gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
然后我能够透过纹理看到,但在Blender中,只有属于同一对象的东西,其他的都是白色的,但后来我发现这是因为这个对象是第一个被绘制的对象之一,这就是为什么我想它采用了画布白色,而不是背景中的对象。再次感谢