关于UGUI的相关学习

1、层级问题

        (1)在Canvas中所有的元素,总是从第一个开始渲染,也就是说最后一个元素的层级是最高的,如果出现UI重叠的情况,总是后面渲染的元素在最高层。

        (2)如果要在代码中调节每个元素的层级,可以用代码实现,在SetSiblingIndex中每个元素都有一个编号,是从数字0开始的,层级高的显示在上面。SetAsFirstSibling和SetAsLastSibling分别是显示最低层级和显示最高层级。


2、渲染模式(主要是对Sort Order,Sorting Layer,Order in Layer的区分)

        (1)在Overlay模式下Sort Order是UI显示层级,层级高的显示在上层。

        (2)在Camera和World Space模式下Sort Order是UI层级,层级低的先渲染。在Sort Order相同,也就是相同层级下,Order in Layer是当前UI层级的显示层级,层级高的显示在上层。


3、画布中单个元素的调整

        (1)Rect Transform:Transform组件在修改的时候,肯定会修改相应的子物体的本地坐标和大小,而Rect Transform则使用了锚点,在修改属性的时候不会对子物体的本地坐标产生影响。

        (2)锚点:有四个三角小标,可以在Rect Transform中调节相应的位置,也可以在custom中直接调节相应的点或者边,如果父物体也是Rect Transform组件,那个就可以绑定在父物体的任意位置上面。

        (3)PosX和PosY:代表的是元素中心点到锚点的距离。

        (4)Anchors:当前元素相对于父物体的缩放比例。

        (5)Pivot:影响元素的缩放,位置,旋转属性。

        (6)Blue Print Mode:忽略当前元素本身的旋转和缩放,方便调节。

        (7)Raw Edit Mode:在调整Pivot和Anchors的时候,元素会维持当前的位置。


4、画布

        (1)定义:所有的UI元素都必须是带有Canvas组件,即画布的子物体。

        (2)嵌套:画布允许嵌套,但是所有内嵌的画布Render Mode必须和父物体一致。

        (3)Canvas:

                1)Screen Space - Overlay:这个模式下元素不需要参照的场景和相机,将直接适配到屏幕中(甚至在场景中可以没有相机),当屏幕的大小和分辨率有改变的时候UI会自动适配大小和位置,并且在所有场景物体的上层。(如果要保持不变则需要Canvas Scaler的辅助)

                2)Screen Space - Camera:这个模式下元素绘制在相机前方一段距离上。如果场景中的物体在UI的前方那么物体就会显示在画布的前方。

                3)World Space:这个模式下UI就好像一个plane gameobject,并且平面不用面朝相机,可以任意制定一个方向。画布本身可以用Rect Transform来调整大小,但是他的大小还依赖于视角和距离相机的距离。在这个模式下Canvas Scaler是没有用的,完全和世界场景中的游戏物体一样。

        (4)Canvas Scaler:https://blog.csdn.net/gz_huangzl/article/details/52484611(转载的参考文章)

                1)UI Scale Mode:Constant Pixel Size无视屏幕分辨率,让元素保持相同的像素大小。Scale With Screen Size元素随着屏幕分辨率的大小而改变。Constant Physical Size元素保持自己的物理大小,无视屏幕分辨率。

                2)Scale Factor:当Canvas Size和Screen Size分辨率相同时,统一调整画布中所有元素的大小。

                3)Reference Pixels Per Unit:UI大小=原图大小(Pixels)*[(Reference Pixels Per Unit)/(Pixels Per Unit)]

4、Selectable    

        (1)将一个UI元素变成可以交互。

        (2)navigation:用来方向键导航选定UI。

5、Toggle Group

        (1)一个分组的功能,让几个toggle有互斥的功能。

        (2)具有该脚本的元素不需要一定是Canvas的子物体。也可以是世界空间中的物体。

6、Slider

        (1)value的值如果要在代码中赋值,那就必须是float类型。

        (2)在响应事件中,每次handle的移动都会执行相应的事件。

7、mask

        (1)在父子关系下,mask下的子物体将会被遮罩,而同级的mask和父物体则不会被遮罩。

学习Unity UGUI可以参考一些资源和示例。例如,可以参考引用中提到的Unity UGUI实现无限循环滑动列表功能的示例场景。导入这个示例场景并运行,可以了解如何使用Unity UGUI来实现循环滑动列表的功能。 此外,UGUI还可以用于对图片进行各种操作,如旋转、缩放、截取和裁剪等。可以参考引用中提到的使用UGUI对图片进行任意角度、大小、缩放和位置的操作。UGUI还提供了设置圆角或矩形方式操作图片的功能。 通过学习这些资源和示例,可以更好地掌握Unity UGUI的使用方法,从而进行更加丰富和多样化的界面设计和交互功能的开发。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [Unity UGUI无限循环列表](https://download.csdn.net/download/qq_33547099/13799875)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [unity UGUI图片任意截取和裁剪](https://download.csdn.net/download/lizhenxiqnmlgb/85090424)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值