Opengl es 使用three.js的OpenGL透明度和深度问题

Opengl es 使用three.js的OpenGL透明度和深度问题,opengl-es,three.js,webgl,Opengl Es,Three.js,Webgl,我正在使用three.js进行一个小游戏,它使用透明的纹理。事情进展顺利,直到我注意到深度测试的一些错误: 从一个角度看很好 别有用心 一些研究让我看到了这些帖子,但我仍在试图找出如何在three.js环境中应用他们的建议: 据我所知,{transparent:true}在一个三点材质中,已经将透明材质和不透明材质分开,以便正确渲染。但是,我无法成功禁用深度写入,因为我无法控制透明几何体的渲染顺序(据我所知)。我是否遗漏了一些可以帮助我摆脱困境的明显方法?在发布后几分钟,我就找到了一个解

我正在使用three.js进行一个小游戏,它使用透明的纹理。事情进展顺利,直到我注意到深度测试的一些错误:

从一个角度看很好

别有用心

一些研究让我看到了这些帖子,但我仍在试图找出如何在three.js环境中应用他们的建议:


据我所知,
{transparent:true}
在一个三点材质中,已经将透明材质和不透明材质分开,以便正确渲染。但是,我无法成功禁用深度写入,因为我无法控制透明几何体的渲染顺序(据我所知)。我是否遗漏了一些可以帮助我摆脱困境的明显方法?

在发布后几分钟,我就找到了一个解决方案:p我所要做的就是在材料中添加
alphaTest:0.5
,它很好地解决了所有问题。希望我没有在这个修复中引入更多的gotchas。。。(敲木头)