unity4.6 改变ui层的排序 sorting layer

时间:2021-05-27 04:13:41

今天解决了这个问题感觉爽爽的


问题:我想做的是一个sprite的动画,这个动画必须是要显示在UI层之前,由于我之前建立 的ui Canvas都是默认的设置,所以怎么做都无法使动画效果显示在ui之前。 又不知道如何提这个问题(英语还是不过关),在unity官网问答搜ui sprite render,还真找到了,是应该这么说

sprites rendering over UI elements

原问题网址:http://answers.unity3d.com/questions/832834/unity-2d-46b-ui-why-are-instantiated-prefab-sprite.html
虽然题主和我的问题并不是相同的,甚至可以说是目的相反的(我是想sprite叠在ui层之前,他是想让ui层显示在最前),但是问题的本质是相同的,是关于ui层的排序的问题。
unity默认创建的canvas的render mode 是screenspace overlay,它应该会使ui层排列于所有层之上,将其改为screenspace camera,如下图: unity4.6 改变ui层的排序 sorting layer
将render camera设置为main camera,接下来就可以设置sorting layer了,这和sprite元素的设置是一样的。