使用 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文章来源:https://www.toymoban.com/news/detail-429605.html
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文章来源地址https://www.toymoban.com/news/detail-429605.html
RectTransform trans;
//设置PosX和PosY
trans.anchoredPosition =new Vector2(100,100);
//设置Width
trans.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 200);
//设置Height
trans.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 200);
到了这里,关于Unity基础UGUI学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!