Unity3D的UGUI——Canvas
来源:互联网 发布:恶灵附身2优化这么样 编辑:程序博客网 时间:2024/05/21 18:39
Canvas
UGUI是Unity新支持的2D界面控件,所有的UI控件都需要在包含Canvas组件的物体下边充当子物体,我们可以在GameObject->UI下创建物体时,会自动生成Canvas以及与其对应的EventSystem控件。
Canvas主要包含以下部分:Canvas、Canvas Scaller、Graphic Raycaster。
Canvas
Canvas可以只有一个,也可以多个Canvas,或者将一个Canvas作为另一个Canvas的自物体。
其中Canvas的渲染方式有3种,分别是 Screen Space - Overlay, Screen Space - Camera和World Space。
Screen Space - Overlay
在此模式下,Canvas将作为2D图像直接渲染在屏幕上,且处于屏幕的最前方,不会受其他任何物体遮挡, 同时不受任何设置的影响,即使没有相机也可以看到其内容。
Screen Space - Camera
在此模式下,Canvas可以指定渲染的相机,并根据相机距离Canvas的远近以及相机的视锥体大小进行动态缩放,最终实现在屏幕上的平铺效果。当有物体比Canvas更接近相机时,该物体会显示在Canvas的前方。物体距离相机比Canvas远的物体将会被遮挡。
World Space
在此模式下,Canvas会像3D物体一样位于游戏场景中,可以设置其位置和大小,与其他3D物体具有同样的显示效果。
详细信息可参看官方文档
Canvas Scaler
这个控件主要负责Canvas的显示效果
其中UI Scale Mode较为重要。
可选的模式有3种,分别是 Constant Pixel Size, Scale With Screen Size和Constant Physical Size。
Constant Pixel Size
当选择Constant Pixel Size时,即完全根据Canvas设置的大小进行显示,无论在何种分辨率下,大小均为Unity中设置的大小(不能很好地适应不同分辨率)。
Scale Factor:保持大小的比例 。原图100x100,原始大小1=100x100,原来的2倍大 2=200x200
Reference Pixels Per Unity:100表示Unity里的1单位大小代表100像素。
Scale With Screen Size
当选择Scale With Screen Size时,可以根据屏幕的大小进行缩放,在此模式下有三种不同的缩放方式,如下所示:
Reference Resolution属性主要为参考分辨率大小,在此分辨率下进行设计,随后根据不同的缩放方式适应不同的分辨率。
Screen Match Mode包括 Match Width or Height, Expand,Shrink三种模式。
Match Width or Height:根据Canvas的宽度或高度或者一定的比例进行缩放。
Expand:Canvas不会小于设置的分辨率大小
Shrink:Canvas不会大于设置的分辨率大小
在分辨率自适应模式下,可能会带来物体缩放问题,如果缩放不正常,可在代码中手动更改localScale为(1,1,1)进行部分修正。
Constant Physical Size
当选择Constant Physical Size模式时,则根据设定好的物理大小进行展示,根据不同分辨率适应性不是很好。
Graphic Raycaster
每个Canvas都需要添加此组件,用于获取对UGUI的控制和操作。
- Unity3D的UGUI——Canvas
- Unity3D的UGUI—Canvas的渲染顺序及层次关系总结
- Unity3D -- (UGUI)Canvas
- UGUI学习——Canvas
- Unity UGUI——UI基础,Canvas
- UGUI学习笔记1——Canvas
- Unity3D——UGUI实现背包系统
- Unity3D 官方文档 UGUI的总览 Canvas和EventSystem的认识
- Unity 5.3 uGUI的canvas
- 关于4.6.x版本的UGUI的学习随笔之——Canvas(画布)
- 【Unity3D】UGUI组件的监听
- Unity UGUI——Canvas绘制模式比较
- Unity UGUI 学习(一)——关于Canvas
- 【UGUI】Canvas
- UGUI-Canvas
- Unity3D——粒子系统被2D的NGUI或者UGUI遮挡的问题
- Unity3D 学习笔记8 —— UGUI控制和按钮的监听系统
- Unity3D自学笔记——UGUI背包系统(七)物品的装备与卸下
- 随机森林算法的简单总结及python实现
- Android Bugly 热修复 快速接入
- 数据结构与算法入门(1)--基本概念
- pecl安装mongodb
- 在Linux环境下搭建基于Nginx的rtmp服务器
- Unity3D的UGUI——Canvas
- gdb调试多线程出现的死锁
- 百度地图删除圆形或线形的覆盖物
- IAP & ICP
- vim 设置自动生成文件头
- Android关于Dex拆分(MultiDex)技术详解
- openwrt移植到tiny210编译出现的问题
- java中选择排序和冒泡排序
- 欢迎使用CSDN-markdown编辑器