【发布时间】:2012-12-26 07:27:41
【问题描述】:
我想在我的场景中添加“水”,但每当我的相机进入水中时都会出现闪烁。
我创建了一个小提琴here,如果我将相机移动到透明立方体内,则在移动相机时,与实体立方体的面接触的面开始闪烁。
我尝试禁用可以解决闪烁问题的 depthTest,但是当移动相机时,将相机放在实心立方体后面看着透明立方体时,透明立方体是可见的,所以这不是一个选项。
我在谷歌上搜索了很多,还查看了 SO 的一些问题,到目前为止我发现这是一个 depth-buffer 问题。
另外我读到应该在绘制半透明对象之后绘制实体对象,但我认为three.js 为我这样做?
总的来说,我还没有找到可以帮助我解决这个问题的答案,我知道透明度并不是在 three.js / webgl 中最容易做到的事情,但我希望能得到一些关于如何克服这个问题的提示。
【问题讨论】:
-
问题很可能是重合的面孔。能不能留个空隙或者去掉触碰的透明面?
-
我认为留出空隙时可能会遇到麻烦,但是是的,我认为我可以去除面部并将实心立方体的颜色与水立方体的颜色混合,这样我就得到了一个水下效果。