unity半透明物体有时候看不见的问题,修改渲染层级解决问题

在Unity中,我们可以通过修改Render Queue值来控制物体的渲染顺序。

Render Queue值默认为0,值越大的物体越靠后渲染。

修改渲染顺序的方法:

获取需要调整的Material或Shader
可以通过获取物体的renderer.material来获取Material。

设置Render Queue值
给Material或Shader添加一个名为"RenderQueue"的属性,设置不同的整数值控制顺序。

例如:

material.renderQueue = 2500;

Unity内置的Render Queue值
Background: -1000
Geometry: 2500
AlphaTest: 2450
Transparent: 2000
Overlay: 4000
调整半透明对象顺序
可以将半透明对象设置为2000,背景设置为2500,这样背景会先渲染。

特殊值控制
3000以下为不透明几何体
3000-3999为半透明效果
4000以上为界面元素
所以一般来说:

将背景设置高Render Queue值(2500+)
将半透明对象设置低值(2000-2400)
半透明对象内部相对顺序不变
这样可以有效控制渲染顺序,解决半透明问题。