
本篇文章旨在整理Unity中常见的加载方式,介绍其使用方式、适用的场景,相似的加载方式会进行对比,加强理解和记忆,也可以作为日后的查阅资料。文章将可加载的资源分为两个大类,外部资源和内部资源,内部资源就是Unity发布时默认打进包里的资源,不能直接获取到了,如Resource文件夹里的,外部资源则相反。
流式加载方式对于文件类型没有要求,可以加载如jpg、png等,音频如mp3等,视频如mp4等各种格式,下面以和视频的加载为例来介绍流式加载。
首先要在脚本中引用 SystemIO 命名空间,并定义GetImageByte方法获取文件字节流(该方法不仅限于获取),参数path为的路径(带后缀),unity中一般以 ApplicationdataPath 加上在Assets文件下的相对路径拼接而成,比如下图中我从项目截取的目标01,其路径为 ApplicationdataPath + "/Textures/PuzzleGame/InitImages/01png" 。
在以上基础上,定义加载方法,主要使用的就是Texture2D类下的LoadImage方法,将的字节流转化为Texture2D格式的,方法实现如下:
初始化Texture2D对象时,构造函数中长宽初始值可以任意指定,比如我指定为(1,1),LoadImage方法会根据原图大小覆盖掉初始值。
获取文件夹下所有格式的,思路就是选定需要获取的格式,通过 DictionaryGetFiles 方法拿到这些格式的全部路径,并添加到路径到List链表中,然后对链表中每一个路径使用LoadOneImage方法,方法实现如下:
这儿指定了四种格式,可以根据需求自行修改。
UnityWebRequest类是unity5x之后用来取代>
四个三角分别拖拽到sence白色帆布四角/左右两端/上下两端等,image随着game视图放大缩小等比变化
您好,Unity加载的消耗是根据的大小和数量来决定的,一般情况下,加载单个的消耗是很小的,只有几十KB甚至几百KB,但是如果同时加载大量的,会导致内存占用增加,从而影响游戏的性能。
如果要估算Unity加载的消耗,需要考虑以下几个因素:
1 的大小:的大小越大,加载的消耗就越大。
2 的数量:如果同时加载大量的,会导致内存占用增加,从而影响游戏的性能。
3 设备的内存:设备的内存越大,加载的消耗就越小。
4 的格式:不同的格式对加载的消耗也有影响,例如PNG格式的比JPG格式的消耗更多的内存。
综上所述,Unity加载的消耗是根据的大小、数量、设备的内存和的格式来决定的。如果要减少游戏的内存占用,可以采用压缩、动态加载等方法来优化游戏性能。
Rect Transform的作用是用来计算UI的位置和大小的,Rect Transform继承与Transform,具有Transform的所有方法和属性,通过Rect Transform能够实现基本布局和层级控制学习Rect Transform需要熟悉掌握以下专业术语:
●:Pos X, Pos Y:Pivot与Anchor的距离;
●:Pivot :中心点;
●:Anchor:锚点;
●:Width&Height:宽与高,相对于锚点;
●;Left,Right,Top,Bottom:左右上下;
指的是U件上的蓝色小圆圈,如下图所示
当鼠标拖动U控件进行旋转、缩放和对齐的时候都会以该点做为对照点
Pivot的位置在控件的中心时,x=05,y=05
Pivot的位置在控件的左下角时,x=0,y=0
Pivot的位置在控件的右上角时,x=1,y=1;
点击图示如下图所示:
按下 Shift键可以设置 Pivot的位置,确定 Pivot的位置,再配合 RectTrans继承于 Trans
form中Posx,PosY的值,可以让控件的 Pivot和其父物体的锚点对齐。
锚点表示的是控件上的某一个点,U画面进行缩放时,该点到其子控件上四个控制点
的距离保持不变,锚点的形状如下图所示:
1、四个锚点,相对于四根钉子,钉在image父级元素上。
2、四个实心蓝点,相当于四个纽扣,缝在Image的四个边上。
3、锚点和纽扣之间被四根无形的钢丝链接,注意是钢丝,因为不会伸缩。
4、如果把Image调整好了大小,现在想让他随着屏幕的变化进行缩放,那么就把四个锚点,拖拽到四个纽扣上,相对于把Image
的四个角钉在了父级元素上,父级元素缩放就会拽着Image进行缩放,比例是一致的。
5、锚点合并在一起,相当于把Image四个角往同一个方向拽,所以不会改变Image的大小。
什么是Canvas
使用UGUI来进行UI开发,离不开Canvas组件,所有的 UI 元素,要么自己包含 Canvas 组件,要么是 Canvas 组件所在 GameObject 的子节点。
如何创建 Canvas
你在 Hierarchy 视图创建任何一个 UI 元素(比如Image)都会自动生成一个 Canvas 作为它的父节点。你也可以可以直接创建一个 Canvas,然后添加其他 UI 元素作为其子节点。
Canvas 组件的RenderMode 参数
Canvas 组件的参数 RenderMode,有三个选项:Screen Space - Overlay、Screen Space - Camera、World Space。
Screen Space - Overlay 模式
Canvas 覆盖屏幕,且永远覆盖在其它元素的上层,也就是说 UI 会遮挡场景中的其它元素。
Screen Space - Camera 模式
和 Overlay 模式相仿,Canvas覆盖整个屏幕空间画布也是填满整个屏幕空间。不同之处在于,Canvas 被放置于指定摄像机的前方。
World Space 模式
此种模式下,Canvas 与场景中其它3D元素没有区别,相当于GameObject,可以进行旋转,移动等 *** 作
1 Horizontal Layout Group水平布局
Padding:Layout边缘的间隙;
Spacing:Layout元素之间的间隙;
Child Alignment:子元素的对齐方式,就是文字对齐的那九种,不多说了;
Control Child Size:是否会控制子元素的宽高,只有启用该选项Layout Element的设置才会起作用;
Child Force Expand:是否强制子元素扩张以填满多余空间,该选项不受Flexible属性的影响,并且优先级比Flexible属性高,以1:1的比例进行分配。
2 Vertical Layout Group垂直布局
与水平布局无异
3 Grid Layout Group网格布局
adding:Layout边缘的间隙;
Cell Size:每个元素的尺寸,该值会控制子元素的宽高;
Start Corner:第一个元素所定位角落;
Start Axis:排列方式,一种水平、一种垂直;
Child Alignment:对齐方式,九种;
handle rect:(父节点矩形)
用于控件的滑动“句柄”部分的图形;
Direction:(方向)
拖动手柄时,滚动条的值将增加的方向。选项是从左到右,从右到左,从下到上和从上到下;
Value:(值)
滚动条的初始位置值,范围为00到10。
Size:(大小)
滚动条中手柄的小数部分,范围为00到10
Number Of Steps:(位置数)
滚动条允许的不同滚动位置数。
在游戏中经常遇到一些拖动滚动的效果,比如好友列表,游戏商店分类等等,要想实现这些功能就需要使用到ScrollView拖动效果了
层级识图如下图所示:
Viewport:显示内容
Scrollbar Horizontal:水平方向滚动条
Scrollbar Vertical:垂直方向滚动条
ScorllRect组件
Content:可滑动的区域
Horizontal:控制是否可以横向拖动;
Vertical:控制是否可以纵向拖动;
Movement Type:三种d性类型;[不限制 -- d性 -- 不动]
Elasticity:d力大小
Inertia:惯性;
Deceleration Rate:减速的速率
Scroll Sensitivity:滑动的灵敏度
Horzontal Scrollbar:横向滑动条
Vertical Scrollbar:竖向滑动条
normalizedPosition:滚动视图所处的位置,值的范围为(0,0)--(1,1);
VerticalNormalizedPosition:滚动视图竖直方向上的位置(0--1);
以上就是关于Unity中各类加载方式的比较全部的内容,包括:Unity中各类加载方式的比较、unity2d导出后图片大小改变、unity如何将图片铺面整个Image等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)