一文详解Unity中渲染顺序问题

1、camera是渲染顺序的最大总指挥
顺序由camera的depth值决定,值越小视野范围内的游戏物体越先渲染
2、layer是对游戏中所有物体的分类别划分
如uilayer, waterlayer, 3dmodellayer, smallassetslayer, effectlayer等。将不同类的物体划分到不同的层,便于相机拣选,在相机的cullmask中可以选择渲染哪些层,不选择的层则不会渲染。还可以用于射线检测对象的拣选,可以指定只对某些层的对象进行射线检测。
3、canvas上的层级关系
canvas默认是屏幕空间的2d对象,在屏幕空间时仅具有sort order属性,当把它设置为世界空间时,sort order属性消失了,变成另外两个属性: sorting layer, order in layer。
当把画布设置为worldspace后,画布及画布上的ui对象在世界空间默认也是靠z值来决定渲染顺序的,离相机远的先渲染。当设置了sorting layer后,渲染的次序就由sorting layer来确定了。sorting layer是自定义的标识符,哪个sortinglayer在前(在layer & tags中设置的先后顺序)哪个先渲染。
order in layer是个数值,是在同一个sorting layer内的细分,sorting layer相同时order in layer的数值越小越先渲染。
屏幕空间的东西都处于ui层不需要sorting layer,只提供sort order(其实也就是order in layer)。 默认情况下sort oder都是0,此时ui物件按照在hierachy中出现的顺序决定渲染顺序。如果sort order不同时,值越小越先渲染。
4、2dobject--sprite问题
特别注意sprite默认是个3d空间的物体,就算把它放到一个屏幕空间的canvas上,它仍然是3d空间的物体,只遵循3d空间的规则:总是会被ui挡住。
5、关于各个渲染问题节点的物体描述
同时具有sorting layer, order in layer的对象:sprite, 世界空间的canvas
仅具有sort order的对象:屏幕空间的canvas
只具有sorting layer的对象:不存在
只具有order in layer 的对象:不存在
没有sorting order这个东西!

怎样获得好的区块链教育
大神告诉你TCP建立连接为什么是三次握手
Atlas Meditech 使用 AI 和数字孪生开创脑外科手术的未来
C语言结构体对齐介绍
企业应该怎样利用云计算,未来可能的市场机会和挑战在哪里
一文详解Unity中渲染顺序问题
浅谈耐火电缆的使用五大条件及其注意事项
富士伺服FALDIC系列的新产品的特点是什么
车联网概念股一览_车联网概念股龙头
酷博电话录音系统
数禾科技赋能数字化转型,迎接中国消费升级大潮
华盛锂电2023年度业绩预亏,降幅达108.44%
华为MateX获得全球首个德国TÜV5G手机CE认证
串行系列:预加重与均衡的优缺点总结
iPhone8什么时候上市?iPhone8即将发布最新消息汇总:iPhone8对比iPhone7有何升级?iPhone8逆天功能、价格
工业APP和工业互联网,为制造企业提供转型升级带来四层解决方案
机器视觉的定义、分类和应用介绍
小米研发伸缩式摄像头:进光量提升300%
诺基亚贝尔助力中国5G与数字化社会齐发展
MAX2686, MAX2688 GPS LNAs provide low noise and save space w