UGUI 之 Canvas布局层级关系(一)

一、用过NGUI的人们都知道,各种NGUI的sprite之间是可以有dept来进行分层管理,以便处理层级间的关系,而在unity4.6开始的UGUI中,这是通过Canvas来设置深度关系的

我在开发中设计了三个Canvas,来处理不同的UI消息相应类型

StaticCanvas

TouchOrMouseCanvas

ButtonCanvas

1、StaticCanvas ,其Sort Order我设置为0,我用来处理一些不用来进行触屏和按钮(这里针对的都是手机)相应的UI放置,如角色的血量,魔法值,伤血的HUDTXT,敌人头顶的血量提示等

2、TouchOrMouseCanvas,其Sort Order我设置为1,是为了进行触屏响应消息而单独设置的,如通过触屏来改变摄像机的旋转,在TouchOrMouseCanvas目录下添加一个Panel,在加一个Event Triger组件,设置其Enent type为Drag,再给它一个具体的消息响应函数技能实现触屏控制相机的旋转。


3、ButtonCanvas,其Sort Order我设置为2,是是用来处理各种按钮消息响应的,各种按钮的UI都放在这

注意:

这些Canvas的Render Mode必须一样,其Sort Order才能起作用。如下图所示



二、UGUi的组件除了Canvas之外是没有Inspector层级设置概念的,同一根目录下的组件,是以根目录下所在Hierarchy关系决定的,谁在下,在game和scene视图中,谁就遮挡住谁。



三、另外设置一个Camera来单独渲染UI的layer层时的注意事项

如下图摄像机设置


然后Canvas的Render Mode要设置为Screen Space-Camera

将自己设置好的摄像机拖拽到Render Camera中

而且Canvas层的Layer要跟自己设置好的摄像机的Culling mask一样,否则game视野中会看不到

Plane Distance要大于1的数(0到1之间也行,但是得自己调节才能在game视图中看到),否则game视图看不到

上面图UI摄像机的Culling mask为UIlayer层

下面是一个相应的Canvas截图


  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值