【发布时间】:2013-06-03 13:35:24
【问题描述】:
我有 3 个不同的平面:前景、中景和背景。出于某种原因,更远的背板会周期性地渲染到我的前景板之上。
在场景视图中,您可以看到波浪更靠近相机而不是背景。
然而,在游戏中,背景有时会显示在较近的平面之上,如下图所示:
我正在使用透视相机。
【问题讨论】:
-
单位标签适用于 Microsoft Unity。请不要滥用它。
标签: unity3d
我有 3 个不同的平面:前景、中景和背景。出于某种原因,更远的背板会周期性地渲染到我的前景板之上。
在场景视图中,您可以看到波浪更靠近相机而不是背景。
然而,在游戏中,背景有时会显示在较近的平面之上,如下图所示:
我正在使用透视相机。
【问题讨论】:
标签: unity3d
我认为您应该能够更改着色器中的渲染顺序。此解决方案无法很好地概括,因为您需要为每个平面设置一个唯一的着色器。
例如,要修改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,应该很容易适应。
【讨论】: