Unity基础UGUI学习

使用 UGUI来开发UI,离不开Canvas组件,所有的 UI 元素,一般都是放在包含 Canvas 组件的节点。

Canvas组件都有那些属性?
在这里插入图片描述
RenderMode: 渲染模式,大概有三种:

Screen Space - Overlay: 覆盖屏幕,Canvas 永远覆盖在场景中的其它所有元素的上层。

Pixel Perfect: UI元素精确到像素对齐,边缘更清晰,会消耗一定的性能。

Sort Order:Canvas 深度,多个 Canvas时,Sort Order 值大的在上层。

Screen Space - Camera: UI可以被GameObject遮挡。 UI中心点在世界00点Z轴的延长线上。

在这里插入图片描述
Plane Distance:Canvas距离00点坐标的Z轴距离。

Sorting Layer:Canvas深度,可以手动添加,决定显示的优先级,列表下面的优先级越高。

Order in Layer:多个Canvas有相同的Sorting Layer 时,根据 Order in Layer 来确定显示优先级。

World Space:
与Overlay模式类似,可以看作是,必须增加一个额外的相机渲染,层级没有Overlay高。 世界00点都是在UI左下角。

排序注意:

1.当多个Canvas 使用不同Camera时,优先根据Camera的Depth排序显示,值越大优先级越高。

2.多个Canvas使用相同Camera时,优先根据SortingLayer显示,当SortingLayer相同时,再次根据OrderInLayer显示。

移动分辨率多少比较合适?

//一般都是用 16:9 ,分辨率越大,资源越大,内存也越大,性能消耗也大
//早期主流游戏 
1136*640   1280*720
//现在主流游戏
1920*1080

UGUI都有那些基础组件?
在这里插入图片描述
这篇文章很详细,可以看看,点击跳转

Text
InputField
Button
Image
RawImage
Toggle

Slider
滑动条
在这里插入图片描述
在这里插入图片描述
ScrollBar
滚动条
在这里插入图片描述
在这里插入图片描述
ScrollView
滚动视图
在这里插入图片描述
在这里插入图片描述
DropDown
下拉框
在这里插入图片描述
在这里插入图片描述
比较实用的组件

content size fitter
Horizontal Layout Group
Vertical Layout Group
Grid Layout Group

3D物体怎么显示在UI上?
原理就是:将3D物体渲染到一个 RenderTexture上,然后用UI的RawImage来渲染这个RenderTexture。
1.新建一个RenderTexture,新建一个Cemera,把RenderTextrue拖到Camera的TargetTxture上。
2.新建一个modal层,设置Camera的Layer为modal, cullingMask也为modal。
3.设置ClearFlags为 DepthOnly或者Don’t Clear, 偶尔会出现重影。设置Solid Color可解决重影问题。
在这里插入图片描述
3.在UI界面新建一个RawImage,设置其Texture为刚才新建的 RenderTexture。调整宽高就可以了。
在这里插入图片描述
RectTransform

RectTransform trans;
//设置PosX和PosY
trans.anchoredPosition =new Vector2(100,100);
//设置Width
trans.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 200);
//设置Height
trans.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 200);

猜你喜欢

转载自blog.csdn.net/wangwen_22/article/details/126557282