位置: 编程技术 - 正文

Unity项目中UI同学需知的程序相关要点(unity ulua)

编辑:rootadmin

推荐整理分享Unity项目中UI同学需知的程序相关要点(unity ulua),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity i,unity中ngui,unity i,unity中ui界面如何交互,unity里的ui,unity uishader,unity uishader,unity uishader,内容如对您有帮助,希望把文章链接给更多的朋友!

原文地址: Tag加上英文字符串

这样了之后,多张图被打包在一张图里面。

多张UI图通过SpritePacker的打包结果

由于多张图片打包在了一起,根据上面提过的合并drawcall的原因,会大幅减少这些图片带来的GPU消耗。但从上图也可以看出,打包之后,会产生多余的透明区域,所以打包可能带来的坏处就是增大了外存、内存。所以,关键是选择哪些图片进行打包。来规避透明区域的出现。选择规则如下:

不用的图不打包。因为打包的图,就算从不使用,也还是会进入到最终的ipa或者apk里;小的图尽可能打包大图(比如大于x,常见的有UI底图)不打包。因为大图会很有可能产生透明区域;降低需要打包中的分辨率最大的图。不打包的单张UI图片分辨率必须是偶数、很有可能需要是2的N次幂

本方法能为GPU、外存、内存带来好处

按照上面的多张UI图片可以打包在一起做了之后,不打包的图应该是少量的。但由于这些图是独立存在于内存,所以有更严&#;的要求:

单张UI图片分辨率必须是偶数。单张UI图片当有以下任一特点时,分辨率必须是2的N次幂需压缩的单张UI图片。需tiled的单张UI图片。tiled即图片平铺,常用于四方连续UI图。需mipmap的单张UI图片。即多层图片。一般情况下,UI的图片都不需mipmap,所以不用考虑这个。

@程序同学:现在大部分移动设备GPU是支持非2的N次方的。即NPOTSupport.Full或者Restricted的。Full的GPU对任意分辨率的纹理都能直接访问;Restricted的GPU,一般情况下对任意分辨率的纹理都能访问,但对于mipmap、tiled的纹理会把它pad成POT。所以,mipmap、或tiled的非打包单张纹理需强制POT。笔者身边的红米、三星、华为等手机,都支持NPOTSupport.Full,只发现小米3支持NPOTSupport.Restricted,小米3W支持NPOTSupport.Full。

@程序同学:ETC1(4bit/pixel)成功压缩的要求是POT且不带透明通道,否则将以bit/pixel的方式压缩保存;PVRTC成功压缩的要求是POT且方形,否则将以true color(bit/pixel)不压缩保存。常用的方案是,把UI图片打包到一张大图,且大图同时满足ETC1和PVRTC的要求,即POT、且透明通道拆分到大图的下半部、且方形。这需要有特殊的shader对这张大图进行采样:RGB取原本uv、A取uv向下偏移0.5。下半部的Alpha部分可以把Alpha&#;除以3平均分部到RGB通道,采样时把RGB相加作为Alpha,这样有利于ETC1压缩的效果。因大图的制作需要上半部是UI图片的RGB部分、下半部是UI图片的Alpha部分。所以需要自研或获取适合的atlas算法对UI图片进行排版。此时上面提到的Unity自带的Sprite Packer方法将不再适用。排版后的大图的可容忍浪费分辨率是原图的bit/4bit=4倍,或bit/4bit=8倍。

打包的UI图片的分辨率可以是任意的

但依然推荐输出偶数分辨率,避免未来带来不可知的麻烦。

UI最好能用九宫&#;&#;局部装饰实现

本方法能为GPU、外存、内存带来好处

Unity UGUI支持直接使用Sprite Editor直接进行九宫&#;制作

九宫&#;已经是非常常用的UI制作方法。九宫&#;UI几乎是百利无一害,所以希望UI同学能用九宫&#;的尽量用九宫&#;。使用九宫&#;有以下几个&#;得注意的技巧:

九宫&#;UI图片可以做得很小只给正方形的图,而并非上面一个长条形的图如果UI图片内部是低频变化(人话:比较平滑的纹理),依然可以使用九宫&#;如果UI图片内部是高频变化(人话:比较细的复杂纹理),一般情况下就不能使用九宫&#;了但可以把这些高频变化的纹理设计成只在边缘出现,让九宫&#;十字架内依然是低频变化,那这种UI图依然可以九宫&#;切九宫&#;时,边缘部分应尽量细、内部十字架部分应该尽量饱满。这样可以确保这个UI能够使用于非常小的场合而不穿帮字体选择方案

本方法能为外存、内存带来好处,可能为GPU带来好处

在选择游戏字体的时候,除了确保美观程度之外,还需考虑:

字体种类:应当保持在2类以内:用于标题的中文偏设计的字体、用于正文的中文偏正式的字体。如需,可额外加入英文偏设计的字体;字体编码类型:如果是中文字体,需考虑是否GB编码甚至是GBK编码。避免字体出现有些常用中文字没有的情况;在选择字体时,应留意在手机上的表现。比如一些字体比较细,在手机上看不清,到后面需要都加粗加描边,带来没必要的消耗,也带来了之后额外的繁琐的字体相关工作。由于选择了细字体,导致在手机上需要都加粗加描边,带来没必要的消耗(比如overdraw)制作流程UI同学和程序同学一起维护Unity UI资源文件夹

当前的工作流程是美术同学输出了UI图片后,传到FTP,通知程序同学具体路径,程序同学从FTP拷贝资源到UnityUI资源文件夹,为了版本一致,程序同学可能需要对它进行重命名,才用上了一张新资源。

Unity项目中UI同学需知的程序相关要点(unity ulua)

Unity UI资源文件夹里存放着真正采用到游戏的文件夹。这个文件夹事实上已经存在了,但只有程序同学在维护。现在需要UI美术同学、程序同学一起来维护它。这样有以下好处:

Unity的文件夹里,可以直接存放任意&#;式的图片甚至是psd。Unity在构建时才将这些图片转为需要用的&#;式可以直接在Unity看到图片在手机里内存、外存的真正占用方便查找真正在用的UI资源由于这个文件夹的资源是正式且确保资源不重复,所以方便美术同学间协作,防止信息不对称制作了重复资源当有UI小幅修改时,美术直接修改即可。而不是走一个美术修改、传给程序、程序替换的臃肿流程给资源重用落地提供基础

事实上,我们的特效、场景、模型都已经是这样做了,一起维护一个真正采用到游戏的文件夹

资源组件重用

老生常谈、不得不谈。资源重用可以节省策划同学工作量、美术同学工作量、程序同学工作量,节省外存、内存,也节省用户体验学习成本,。如果减法百利无一害,何必狂做加法吃力不讨好。

Flash项目可重用贴图的资源库Unity项目可重用贴图的资源库

一个可以帮助资源重用的思考流程大致是这样的:

UI美术同学如果在接到新UI需求;先想UI的某个组件能不能用资源库里已有UI资源组件来完成;如果能,则重用,仅仅在Photoshop里制作示意图,不输出该UI组件资源(此时,如果可以形成工具和规则,帮助UI美术同学将psd导出成prefab,将有效提高UI合入效率。《独立防线》项目组正在往这个方向尝试);如果不能,才设计新UI组件资源;同时,新资源也遵循可重用规则;新资源归档回资源库;多次重复1-5步后,资源库会越来越容易满足未来的新UI的需求。适配设备分辨率的UI制作思路接近:9的iPhone5(x)的关卡界面接近1:1的iPad Retina(x)的关卡界面

最近新出的手游为了更好的体验,都采取了填满设备屏幕的分辨率适配的UI方案。所以要求策划同学、UI同学在设计时,就要考虑分辨率适配问题。而并不能仅仅瞄准一款热门设备比如iPhone5进行设计。

Unity UGUI有很好的UI适配方案。概括描述如下:

矩形的原点都在左下角。3个重要的矩形:实在存在的父矩形、用于辅助的anchor矩形、实在存在的子矩形(当前矩形)。父矩形内部包含了anchor矩形和子矩形。

下列图中,外框表示父矩形、“四叶花瓣尖”组成anchor矩形、蓝点表示子矩形。

图:anchor矩形四角跟父矩形四角一一对应。即归一化距离(即距离占父矩形宽或高的比例)固定。对应的两个角之间就好像用橡皮筋绑起来一样。比如图中左上花瓣跟左上角距离总是%宽、%高。注意到,图中anchor矩形四角聚在一起,这样父矩形大小变化时,anchor矩形大小不会变化。图:anchor矩形四角跟父矩形四角一一对应。对应的两个角之间的归一化距离(即距离占父矩形宽或高的比例)固定。对应的两个角之间就好像用橡皮筋绑起来一样。比如图中左上花瓣跟左上角距离总是%宽、%高。注意到,图中anchor矩形四角各自分开,这样父矩形大小变化时,anchor矩形大小也会变化。图:子矩形四角跟anchor矩形四角一一对应。对应的两个角之间的距离固定。对应的两个角之间就好像用铁棒锁起来一样。比如图中左上蓝点跟左上花瓣的距离总是像素宽、像素高。注意到,图中anchor矩形四角聚在一起,这样父矩形大小变化时,由于anchor矩形大小不会变化,所以子矩形大小不会变化。图:子矩形四角跟anchor矩形四角一一对应。对应的两个角之间的距离固定。对应的两个角之间就好像用铁棒锁起来一样。比如图中左上蓝点跟左上花瓣的距离总是像素宽、像素高。注意到,图中anchor矩形四角各自分开,这样父矩形大小变化时,由于anchor矩形大小也会变化,所以子矩形大小也会变化。

总之,anchor矩形四角跟父矩形四角一一对应,对应的两个角之间的归一化距离(即距离占父矩形宽或高的比例)固定;子矩形四角跟anchor矩形四角一一对应。对应的两个角之间的距离固定。

通过这样的关系,就可以实现各种不同的适配方案。比如以下这些。

当四花瓣聚在一起时,父矩形改变大小,子矩形大小不会改变。位置会锁定在归一化距离。

横向纵向皆不拉伸

当四花瓣&#;子横向分开时,父矩形改变大小,子矩形横向大小会相应改变。

横向拉伸、纵向不拉伸

当四花瓣&#;子横向纵向皆分开时,父矩形改变大小,子矩形横向纵向大小皆会相应改变。

【VR】Leap Motion 官网文档 HandController(手部控制器) 前言:本系列译文是为迎合UnityVR的热潮与大家的学习需要,推出的针对Unity方向的LeapMotion官方文档中英对照翻译。本篇第五篇《HandController(手部控制

[置顶] (二十九)unity4.6学习Ugui中文文档-------运行时创建Scroll-lists 孙广东.5.首先要滚动和list形式存储内容。使用ScrollRect组件。就可以滚动了,但是有时候我们不希望,item超过区域还显示:就要使用Mask组件,

unity克隆抛物线型金币的方法 1、准备好我们要克隆的对象:金币publicGameObjectcoin;2、计算出抛物线的函数并按照函数算出克隆的位置:///summary///克隆抛物线型金币的方法////summary///par

标签: unity ulua

本文链接地址:https://www.jiuchutong.com/biancheng/377242.html 转载请保留说明!

上一篇:unity5.0安卓开发环境配置(unity安卓游戏开发)

下一篇:【VR】Leap Motion 官网文档 HandController(手部控制器)(vrbrations)

  • 个人所得税计提和发放分录
  • 价税合计金额怎么算出税额
  • 三个案例看清增值税即征即退?
  • 装修及室内设计实训报告
  • 计提职工非货币福利怎么算
  • 销售成本结转属于收入吗
  • 子公司分红母公司要不要交税
  • 其他债权投资发生减值的账务处理
  • 一般纳税人小微企业印花税优惠政策
  • 主表第17栏应该等于定期
  • 小规模纳税人开具增值税专用发票
  • 存货的计价方法有哪些,具体内容是什么
  • 哪些补贴可以不交个税
  • 房租收入如何缴税?
  • 捐赠的固定资产按什么计价
  • 河道维护中心职责
  • 装修费可以一次性计入费用吗
  • 一般纳税人可以不交增值税吗
  • 红字发票怎么做帐
  • 2019年小规模纳税人免征增值税政策
  • 为什么预计负债是递延所得税资产
  • 取得增值税专用发票注明税额
  • 生育津贴需要缴纳五险一金吗
  • 残保金每年什么时候申报缴纳
  • 网络适配器不见了win7.上不了网了
  • 城建税是增值税的附加税吗
  • 植物租赁方案
  • 苹果电脑怎么快速
  • node.js和npm
  • php+ mysql教程
  • 应缴纳个人所得税的是托儿补助费
  • 实际投资收益率等于什么
  • 供热企业供热费收入的核算
  • 增值税进项如何取得更多
  • 车辆购置税相关知识
  • 企业信用贷款还款方式
  • 运动目标检测算法
  • 成本会计工作流程表
  • vue组件继承element并重写方法
  • php如何实现
  • vue3路由守卫 微信授权登陆
  • 大学生问卷spss数据分析作业
  • 基于web的疫情防控方案
  • python中如何删除文件
  • powerdesigner12.5使用教程
  • 织梦是啥
  • 织梦模板改成帝国模板
  • 环境检测收费依据2017
  • sqlserver 进程死锁
  • 外企可以申请高新技术
  • 增值税申报表是含税还是不含税
  • 公司分期付款购车怎么做账
  • 小型微利企业认定标准2022年
  • 企业委托企业
  • 构建固定资产的借款利息资本化文件依据
  • 印花税计入相关资产成本吗
  • 竣工结算的审核要点
  • 个人的钱转到公司账上
  • 预收冲应收怎么做账
  • 银行存款日记账手工账填写样本
  • 企业在非同一控制下的企业合并
  • sql server触发器主要针对下列语句创建
  • windowsxp网络ip设置
  • winmgm32.exe - winmgm32 是什么进程
  • .bas是什么文件
  • linux 配置中文
  • win7禁用驱动签名后可以正常启动吗
  • hc off line什么意思
  • win10一堆毛病
  • 常用的linux系统版本有哪些
  • cocos2d解密
  • nodejs项目搭建
  • android中文名
  • unity视频播放
  • 手机360安卓桌面怎么去除广告
  • 股权转让是实缴资本吗
  • 变更税务登记后多长时间生效
  • 工行网银如何申请发票
  • 个体户增值税申报比对不符怎么处理
  • 企业年度申报怎么修改
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设