Unity新GUI系统介绍
1、画布(Canvas)
在Untiy中,每一个GUI控件必须是画布的子对象。当选择菜单栏中GameObject→UI下的命令来创建一个GUI控件时,如果当前不存在画布系统将会创建一个画布。
UI元素的绘制顺序依赖于它们在Hierarchy面板中的顺序。如果两个UI元素重叠,后添加的UI元素会出现在之前添加的元素的上面。如果要修改UI元素的相对顺序,可以通过在Hierarchy视图中拖动元素进行排序。对UI元素的排序也可以通过在脚本中调用Transform组件上的SetAsFirstSibling、SetAsLastSibling和SetSiblingIndex等方法来实现。
(1)RenderMode:渲染模式
Screen Space-Camera:画布以特定的距离放置在指定的相机前,UI 元素被指定的相机渲 |
可以通过手动调整它的RectTransform来改变画布的大小,GUI控件可能会渲染于其他物体的前方或后方。
(2)使用CanvasGroup组件(在Inspector视图中单击AddComponent 按钮后搜索CanvasGroup 添加)可以对UI元素进行分组,方便统一管理。
Alpha:可调节该组UI元素的透明度
Interactable:选项可控制该组件是否接受输入控制。
Blocks Raycasts:选项控制该组件是否作为碰撞器RayCasts。注意这不适用于Phycics.Raycast,当要处理Canvas上UI 元素的Raycast时应调用绑定在Canvas 上的
GhaphicRaycaster组件的Raycast方法。
IngoreParent Groups:用于控制是否忽略父对象上的CanvasGroup设置。
在一个Unity工程中,对于所有GUI控件,一个画布已足够使用,但是在场景中组合使用多个画布也是可行的。用户也可以嵌套使用画布,即可使一个画布作为其他画布的子对象。一个嵌套的画布使用其父对象的渲染模式,是可以分别控制每一个画布的透明度。
2、RectTransform(矩形变换)
RectTransform(矩形变换)是一种新的变换组件,适用于在所有的GUI空间上来代替原有的变换组件。
矩形变换区别于原有变换的地方是在场景中Transform组件表示一个点,而Rect
Transform 表示一个可容纳UI元素的矩形,而且矩形变换还有锚点和轴心点的功能。
属性 |
|
Pos(X,Y and Z) | 定义矩形相当于锚的准心点位置 |
Width/Height | 定义矩形的宽度和高度 |
Left,Top,Right,Bottom | 定义矩形的边缘相对于锚点的位置,锚点分离时会显示在Pos和Width/Height 的位置 |
Anchors | 定义矩形在左下角和右上角的锚点 |
Min | 定义矩形左下角锚点。(0,0)对应父物体的左下角,(1,1)对应父物体右上角 |
Max | 定义矩形右上角锚点。(0,0)对应父物体的左下角,(1,1)对应父 |
Pivot | 定义矩形旋转时围绕的中心点坐标 |
Rotation | 定义矩形围绕旋转中心点的旋转角度 |
Scale | 定义该对象的缩放系数 |
为了布局的目的一般建议调整UI元素的大小,而不是对其进行缩放(Scale)。调整UI元素的大小不会影响字体大小、切片图像的边界大小等。缩放(Scale)可用于动画的效果或其他特殊效果,缩放会作用于整个元素,包括字体和边框。给UI元素的Width或Height一个负值会让它们变成透明不可见,而将缩放值(Scale)设为负值则不会,所以缩放(Scale)可用于翻转对象。
3、在场景视图中编辑(Editingin the Scene View)
个GUI 控件后,按下T 按键,用户可以在控件内任意位置单击并拖动来改变它的位置,也 |
4、锚点(Anchors)
矩形变换由一个锚点的布局概念。如果一个矩形变换的幅度向也是一个矩形变换,作为子物
体的矩形变换可以通过多种固定在父物体的举行变换上。例如:子物体可以固定在父物体的
中心点或某一拐角处;在固定锚点时也允许基于父对象的宽或高按指定的百分比拉伸。
在Scene(场景视图)中,锚点以四个三角形手柄的形式呈现。每个手柄都对应固定于相
应的父物体的矩形的角。用户可以单独拖动每一个锚点,当它们在一起的时候,也可以单击
它们的中心一起拖动它们。当按下【Shift】键拖动锚点的时候,矩形相应的角会跟随锚点
一起移动。
在Inspector视图中,锚点预置按钮(AnchorPresets)在矩形变换组件的左上角。单击该按钮按打开预制锚点的下拉列表,在这里用户可以便捷地选择常用的锚点选项。用户可以将GUI空间固定在父物体的某一边或中心,或拉伸到与父对象相同的大小。水平方向和竖直方向的锚点时独立的。
当选择了锚点选项以后锚点预制按钮处将显示当前选中的选项。当锚点位置不在预制选项当中时,锚点预制按钮将在custom中。
用户可以单击锚点预制按钮下方的Anchor 扩展箭头来设置锚点的位置。锚点的最小值与场 |
景视图中左下角锚点的位置一致,最大值与右上角锚点的位置一致。
每一个锚点手柄都有一个相对于游戏对象固定的偏移量,也就是说左上角锚点手柄对应于
GUI游戏物体的左上角有一个固定偏移量。轴心点规定了游戏物体的位置和锚点的对应关系。 |
旋转和缩放都围绕轴心点发生变化,所以轴心点的位置影响旋转和缩放的结果。
6、文本(Text)
文本控件显示非交互文本。可以作为其他GUI控件的标题或者标签,也可用于显示指令或者其他文本。
文本控件的属性和功能
属性 |
|
Text | 控制显示的文本 |
Font | 用于显示文本的字体 |
Font Style | 文本样式,可选择正常、粗体、斜体、粗斜 |
Font Szie | 文本的字体大小 |
Line Spacing | 文本行之间的垂直间距 |
Rich Text | 是否为富文本样式 |
Alignment | 文本的水平和垂直对齐方式 |
| |
ww | .taodocs.co |
Best Fit | 忽略大小属性使文本适应控件的大小 |
Color | 文本颜色 |
Material | 渲染文本的材质 |
7、图像(Image)
图像(Image)控件用来显示非交互式图像。可用于作为装饰、图标等。在其他控件中也可 |
选项的动画控制和准确填充控件的功能。图像控件需要Sprite类型的纹理,原始图像可以接受任何类型的纹理。
图像控件的属性和功能
属性 | 功能 |
Source Image | 表示要显示的图像纹理(类型必须为Sprite) |
Color | 应用于图像的颜色 |
Material | 图像着色所需的材质 |
Image Type | |
www. | aodocs.c |
和Tilled 模式) | |
Fill Method(仅适用于Filled模式) | 用于指定动画中图像的填充方式,选项有Horizontal、Vertical、Radial90、Radial180 和Radial360 |
Fill Origin(仅适用于Filled 模式) | 填充图像的起始位置,选项包括Bottom、Right、Top 和Left |
Fill Amount(仅适用于Filled模式) | 当前填充图像的比例(范围从0.0 到1.0) |
Clockwise(仅适用于Filled 模式) | 填充方向是否为顺时针(仅适用于Radial 填充模式) |
Set Native Size | 设置图像框尺寸为原始图像纹理的大小 |
8、原始图像(RawImage)
原始图像控件用来显示非交互图像控件,可以用来装饰或图标等。在其他控件中也可以通过脚本控制来改变原始图像。原始图像控件和图像控件相似,但是它不具有后者提供的动画控制和准确填充控件矩形的功能。同时,原始图像控件支持显示任何类型的纹理,而图像控件仅支持Sprite类型的纹理。
原始图像的属性和功能
|
比如在游戏重显示一个WWW从URL下载的纹理。
UV属性允许显示一个较大图像的一小部分。X和Y坐标指定图像的哪一部分与空间的左下角对齐。比如X坐标为0.25表明从图像的四分之一处进行切割。W和H属性表示缩放以适应控件矩形部分的宽度和高度,宽度和高度为0.5表示缩放图像的四分之一在控件矩形上显示。
通过更改这些属性可以按需对图像进行缩放。 |
|
9、遮罩(Mask)
遮罩是一种不可见的UI 组件(在Inspector 视图中单击Add Component 按钮后搜索Mask |
即可添加该组件),它可以用来修饰控件子元素的外观。遮罩将子元素限制为父物体的形状。
如果子物体大于父物体将只显示和父物体大小相同的那一部分。
其中Show Mask Graphic 表示是否绘制父物体的图形。Mask 通常和Image 控件组合使用。 |
10、过渡选项(TransitionOptions)
过渡选项及其功能(在Inspector视图中单击AddComponent 按钮搜索Selectable添加
完该组件后可看到TransitionOptions)。
过渡选项及其功能
过渡选项 | |
Color Tint | 入淡出持续时间,数值越高,颜色之间的淡入淡出会越慢。 |
Sprite Swap | 允许不同状态下显示不同的Sprite,Sprite 可以定制。 |
Animation | 在不同的状态播放动画,使用Animation 过渡必须要有动画组件,确保root motion 为禁用状态。 |
None | 此选项适用于按钮控件,表示没有任何状态效果。 |
(1)Color Tint 过渡选项面板 |
|
ColorTint过渡选项面板属性和功能
|
(2)SpriteSwap过渡选项面板
SpriteSwap过渡选项面板的属性和功能
属性 | 功能 |
Target Graphic | 正常状态显示的Sprite 类型图片 |
Highlighted Sprite | 鼠标划过控件时显示的Sprite 类型图片 |
Pressed Sprite | 控件被按下时显示的Sprite 类型图片 |
Disabled Sprite | 控件被禁用时显示的Sprite 类型图片 |
(3)Animation过渡选项面板
Animation过渡选项面板的属性和功能
|
11、导航选项(NavigationOptions)
导航选项用来控制UI控件的键盘导航如何实现。
导航选项的属性和功能
属性 | 功能 |
Navigation | 导航选项使指UI 元素的导航在播放模式下如何被控制 |
None | 没有键盘导航 |
Horizontal | 水平导航 |
Vertical | 垂直导航 |
Automatic | 自动导航 |
Explicit | 在此模式下可以指定控件导航的方向 |
Visualize | 使导航在场景窗口中显示出来 |
Unity教程之新GUI系统介绍到这里接结束了。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务