一、Unity中的物体渲染顺序

2023-08-08  本文已影响0人  GameObjectLgy
一、渲染顺序决定因素
情况一:先渲染B再渲染A
1、渲染B时
2、深度测试和写入都开启 ,所以B的数据会写入颜色缓冲区和深度缓冲区
3、渲染A时
4、关闭深度写入,进行深度测试
深度测试的结果是A离相机的具体比B更近,所以我们会将A的透明度和颜色缓冲区中B的颜色值进行混合
得到的结果正确
情况二:先渲染A再渲染B
渲染A时
因为深度写入关闭,此时只将A写入了颜色缓冲区
渲染B时
因为深度缓冲区并没有数据,所以B就会直接覆盖颜色缓冲区中的A的颜色
很显然这个结果是错误的(结果的视觉上,B在A前边)

前提:通常情况,透明shader都是会关闭深度写入的。
结论:应该先渲染不透明物体再渲染半透明物体

上一篇 下一篇

猜你喜欢

热点阅读