【问题标题】:Further away objects overlapping close objects in Unity3D在 Unity3D 中,较远的对象与较近的对象重叠
【发布时间】:2013-06-03 13:35:24
【问题描述】:

我有 3 个不同的平面:前景、中景和背景。出于某种原因,更远的背板会周期性地渲染到我的前景板之上。

在场景视图中,您可以看到波浪更靠近相机而不是背景。

然而,在游戏中,背景有时会显示在较近的平面之上,如下图所示:

我正在使用透视相机。

【问题讨论】:

  • 单位标签适用于 Microsoft Unity。请不要滥用它。

标签: unity3d


【解决方案1】:

我认为您应该能够更改着色器中的渲染顺序。此解决方案无法很好地概括,因为您需要为每个平面设置一个唯一的着色器。

例如,要修改transparency order,你可能有ShaderFar:

Shader "TransparentFar" {
    SubShader {
        Tags {"Queue" = "Transparent" }
        Pass {
            // rest of the shader body...
        }
    }
} 

还有 ShaderNear:

Shader "TransparentNear" {
    SubShader {
        Tags {"Queue" = "Transparent+1" } //**note the +1
        Pass {
            // rest of the shader body...
        }
    }
} 

内置着色器可以是downloaded here,应该很容易适应。

【讨论】:

  • 感谢 Jerdak,这正是我想要的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-13
  • 1970-01-01
  • 1970-01-01
  • 2013-03-29
相关资源
最近更新 更多