【问题标题】:Seams on edges of voxel chunk meshes体素块网格边缘上的接缝
【发布时间】:2017-01-24 04:07:06
【问题描述】:

我目前正在 Unity 中进行体素地形生成,但遇到了一些烦人的事情:

从某些摄像机角度,您可以看到块网格边缘之间的接缝,如下图所示:

我知道的:

  1. 这只发生在两个网格之间的边缘。
  2. 这不是由纹理渗色引起的(纹理是纯色的,所以我在设置 UV 时使用了大量的填充)。
  3. 所有顶点和网格的位置都显示为精确整数。
  4. 禁用抗锯齿几乎可以完全解决此问题(您仍然可以看到边缘偶尔出现的斑点)。
  5. 我正在使用 Unity 的默认标准着色器。

有人能解释一下是什么原因造成的吗?除了禁用 AA 是否有其他方法可以解决这个问题?

【问题讨论】:

  • 将近剪裁平面和远剪裁平面靠得更近有帮助吗?
  • 不,修改剪裁平面不会影响接缝。

标签: unity3d graphics 3d


【解决方案1】:

几乎可以肯定,侧面展示了 z-buffer 与顶面的冲突——精度不完美,因此沿几何形状的接缝舍入误差使一个立方体的棕色面的最顶部似乎更靠近相机比最上面的绿脸还下。

理想情况下,不要绘制绝对不可见的棕色面 - 如果一个立方体在面 X 上有一个邻居,那么不要绘制它的 X 面或其邻居的相邻面。

【讨论】:

  • 花了这么多时间确保每个块的内部体素都被剔除后,我不敢相信我忘了考虑相邻的块。我想这被证明是一个非常真实的案例,即未能跳出框框思考。谢谢你,汤米!
猜你喜欢
  • 2016-05-08
  • 2018-02-20
  • 2016-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多