在three.js中相互干扰的透明纹理

在three.js中相互干扰的透明纹理,three.js,textures,transparency,Three.js,Textures,Transparency,我创造了一个简单的人形。睫毛使用透明的纹理。 但是,只要我为面纹理启用透明度,就会在不应该的地方创建透明度。 你可以通过睫毛下方的面部纹理进行观察 使用以下线条切换面透明度以查看效果: mesh.material.materials[3].transparent = false mesh.material.materials[3].transparent = true 我希望为面部纹理启用透明度,那么如何解决此问题 演示: (等待模型加载) 代码: 透明几何体手动进行深度排序,有关更多信息,请

我创造了一个简单的人形。睫毛使用透明的纹理。 但是,只要我为面纹理启用透明度,就会在不应该的地方创建透明度。 你可以通过睫毛下方的面部纹理进行观察

使用以下线条切换面透明度以查看效果:

mesh.material.materials[3].transparent = false
mesh.material.materials[3].transparent = true
我希望为面部纹理启用透明度,那么如何解决此问题

演示: (等待模型加载)

代码:

透明几何体手动进行深度排序,有关更多信息,请参阅Toji的这一标准答案:

如果希望此场景正常工作,则必须拆分模型,并将睫毛渲染为单独的(子)网格。这样,three.js可以使用普通z缓冲区方法渲染面部的其余部分,然后分别应用睫毛(从深度排序的transaprent对象队列)