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)
半透明对象内部相对顺序不变
这样可以有效控制渲染顺序,解决半透明问题。