【Unity笔记】UGUI物体的渲染顺序

①不同Camera的Depth。(大在前,小在后)
②同Camera的SortingLayer。(下在前,上在后)
③同SortingLayer下的Order in Layer。(大在前,小在后)
④同Order in Layer下的Z轴。(小在前,大在后)



注意

如果是多个Canvas的渲染先后顺序 http://blog.csdn.net/huutu/article/details/43636241
调Canvas下面有一个Sort Order值,默认为0,越大越在后面。



创建任意UGUI元素时自动生成一个Canvas物体,Canvas下的所有物体从上往下渲染,即排在下面的会遮盖排上面的。同理,子元素会覆盖父元素。

在游戏运行中如何修改UGUI的显示层级?
在代码中调整该元素的层级位:使用RectTransform类的函数。

  • SetAsFirstSibling:移动到所有兄弟节点的第一个位置(Hierarchy同级最上面,先渲染,显示在最下面)
  • SetAsLastSibling:移动到所有兄弟节点的最后一个位置(Hierarchy同级最下面,后渲染,显示在最上面)
  • GetSiblingIndex:获得该元素在当前兄弟节点层级的位置
  • SetSiblingIndex:设置该元素在当前兄弟节点层级的位置
时间: 2024-10-25 18:37:21

【Unity笔记】UGUI物体的渲染顺序的相关文章

【Unity笔记】物体朝着鼠标位置移动

其实思路也很简单,就是先获取到鼠标的坐标,然后赋值给目标物体即可. void Update(){ // 物体跟随鼠标移动 Vector2 mousePos = Input.mousePosition; gameObject.transform.position = mousePos; } 这是物体即时改变位置的做法,如果想要物体朝鼠标位置缓慢移动(有过程时间),可以尝试用Vector2.Lerp().

UGUI学习笔记之渲染顺序

数据记录为Unity4.6b21版本 图片解释:这是一个按钮UI,层级1显示的是按钮背景,层级2显示的Image(白色方框),层级3显示的是Text; 实验的结果渲染顺序为3->2->1;即在Hierarchy面板中,从下往上依次渲染.

Unity Shaders and Effects Cookbook (6-3) 修改渲染队列Queue 来 修改渲染顺序

默认情况下,Unity是按照物体与 摄像机 的距离,来决定哪个物体先渲染.远处的物体先渲染,先渲染的物体,就会被都渲染的物体遮挡. Unity 提供了一些默认的渲染队列,比如最先被渲染的是 Background = 1000,然后是 Geometry =2000,一般在编辑器中创建的 物体都是处于 Geometry 这一渲染队列的. 有这么一个场景,里面有两个Sphere,一个远一些,一个近一些. 那么肯定的是,近一些的会遮挡远一些的,这是自然现象.远一些的先渲染. 但是有的时候,需要让远一点的

【Unity笔记】关于UGUI的根节点Canvas

创建UGUI物体时,会自动创建Canvas物体作为所有UGUI的根节点.该物体身上有个Canvas脚本,Render Mode渲染模式选项: Screen Space - Overlay:即使场景中没有任一可用Camera,所有UI依然能正常运行.显示.而且任何非UI元素的游戏物体都不能遮挡在UI元素之上(无论非UI物体怎么调位置). Screen Space - Camera:可传入某个Camera,指定该Canvas物体下的所有UI元素由哪个Camera来渲染.可指定UI到Camera的距离

关于Unity中渲染顺序问题

1,Camera是渲染顺序的最大总指挥 顺序由Camera的Depth值决定,值越小视野范围内的游戏物体越先渲染 2,layer是对游戏中所有物体的分类别划分 如UIlayer, waterlayer, 3DModelLayer, smallAssetsLayer, effectLayer等.将不同类的物体划分到不同的层,便于相机拣选,在相机的cullmask中可以选择渲染哪些层,不选择的层则不会渲染.还可以用于射线检测对象的拣选,可以指定只对某些层的对象进行射线检测. 3,canvas上的层级

【Unity Shaders】Transparency —— 使用渲染队列进行深度排序

本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源(当然你也可以从官网下载). ========================================== 分割线 ========================================== 写在前面 为了让我们真正明白透明度,我们需要了解一下深度排序,或者说,对象的绘制顺序.Unity允许

如何实现最佳的跨平台游戏体验?Unity成亮解密实时渲染技术!

7月31日,2018云创大会游戏论坛在杭州国际博览中心103B圆满举行.本场游戏论坛聚焦探讨了可能对游戏行业发展有重大推动的新技术.新实践,如AR.区块链.安全.大数据等.Unity大中华区技术经理成亮表示,实时渲染技术的跨平台性能让游戏体验变得更好 Unity大中华区技术经理成亮做了<解秘Unity2018最新实时渲染技术>的主题演讲,分享了2018年Unity在实时渲染方面实现的三个重要技术,包括图形相关的可编程渲染管线.基于渲染管线推出的Shader Graph.PostProcess工

Unity界面UGUI遮挡的问题

解决方法: 在使用Unity的UGUI时候,重叠的UI控件可能会导致某一个控件点击失败,如下图: 在前面的图片挡住了后面的Button,导致后面的Button无法触发点击事件,此时只要把图片的Image组件的Raycast Target的勾选取消即可解决遮挡的问题: 原理: 鼠标点击屏幕实际上是以点击的点为原点,发射一条垂直屏幕向里的射线,然后通过射线与第一个物体的相交来判断是否点击到该物体.取消了Raycast Target选项表明不作为射线相交的对象,则不会挡住后面的Button 原文地址:

[Unity-20] Unity不同脚本之间的执行顺序

我们都知道,Unity中某个脚本的执行顺序是Awake.Start.Update.LateUpdate等,但是不同的脚本之间的执行顺序是怎样的呢? 例如我有两个脚本Script1和Script2,那么这两个脚本的Awake执行顺序是怎样的呢? 要知道真相我们就必须了解Unity后台的运行原理,其实Unity后台是单线程执行的,所谓的协程都是伪多线程.不同脚本的Awake在后台的执行真相是这样的: 后台Awake() { 脚本0Awake(); 脚本1Awake(); ........ } Sta