UGUI学习笔记(一) 渲染层级

1.Unity3D中的渲染顺序如下:
  不同的Camera的Depth
  相同Camera下的不同SortingLayer
  相同SortingLayer下的不同Z轴/Order in Layer


2.改变控件之间的层级关系
 (1)同一canvas下:
     改变控件transform的SiblingIndex,
     transform.GetSiblingIndex();
     transform.SetSiblingIndex(int index); //index值越大,越后渲染,层级越大,越显示在前面


 (2)不同Canvas下:
    设置Canvas下的Sort Order //Sort Order值越大,越后渲染,层级越大,越显示在前面

 

渲染顺序与hierarchy面板里物体的摆放顺序也有关



如图,面板里越靠上的物体越先被渲染,越后被渲染的显示在越前面。


Render Mode都是Screen Space-Camera时的渲染顺序

1.遵循刷油漆规则

2.依次由Render Camera的Depth值、Sorting  Layer先后顺序、Order in Layer值决定

Render Camera不同时,由Render Camera的Depth决定

Render Camera相同时,由Sorting Layer先后顺序决定

Render Camera相同时,Sorting Layer相同,由Order in Layer值决定。


二、1.OverLay模式,永远覆盖在其他物体之上。出现在最上面。不受摄像机的Depth值影响。

2.有多个摄像机时,由摄像机的Depth值决定

3.只有一个摄像机时,由距离和方向决定World模式和Camera模式、它们的渲染结果 可前、可后、可穿插。


transform.SetAsLastSibling

transform.SetAsFirstSibling

transform.SetSiblingIndex三个函数灵活使用,可以在代码中动态的修改图片之间的遮挡关系



transform.GetSiblingIndex可以在代码中获取到某物体在UI视图中的位置关系



  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值