实战开发中UI资源制作标准
资源制作标准设定建议
1.所有的UI资源全部采用PNG导出
因为Unity不支持外部压缩,所以,不论是用PNG还是JPG,只要尺寸相同,资源量在引擎中都会是一样大。所以,可以大胆地采用PNG进行输出,以保留和实现更好的色彩效果。
2.设定好一个客户端的标准分辨率
是1920*1080还是1280*768
3.提前考虑是否需要跨平台
4.和美术人员约定非常大的图片尽可能采用九宫格
5.会用作Sprite的UI元件尽量以最小尺寸切
对于大量的UI小元件,例如图标、按钮等,尽量让美术人员以最小尺寸切。所谓的最小尺寸,就是图片刚好包围下这个UI元件。因为在NGUI中,它会以UI元件在打包前的源文件尺寸作为控件的尺寸,这意味着,如果将一个明明只有100*100像素的按钮图片放置在一张500*500的UI图片中,除了按牛牛图片部分,其他地方都透明掉,这样制作成UI图集之后,NGUI中调用这个Sprite时,它的尺寸会被识别为500*500。
6.对于会用作Texture的UI图片尽量保持长宽都为2的N次方
7.将UI元件尽量分类整理避免重复
程序如何保证UI资源的分辨率不失真
当UI图片导入到引擎中时,可能有时候会遇上美术人员在用PhotoShop设计制作时尺寸刚好,但是放到客户端中就匹配不上的情况。在这种情况下,首先确保一点:Unity中Game视窗的分辨率设置是项目中统一的分辨率,美术人员也是按照这个分辨率作为画布标准来设计的UI。然后进行如下操作。
如果是2D UI,那么只需要单击控件的Snap即可,让图片还原为原尺寸大小,效果几乎可以做到和美术人员用PhotoShop做的一模一样的效果。
如果是3D UI,因为相机不是正交相机,所以,因为距离、透视等关系,控件生成之后单击Snap,控件尺寸还原到原文件的大小,但是即使这样,在游戏视窗中它依然会比源文件看上去更大。这种情况下,会导致无法还原美术人员的设计图,在使用3D UI时需要将3D UI的UI Root下面UI Camera的Field Of View的值设为75,则控件的视觉大小将会和源文件应该有的大小保持一致,可以几乎完全地还原美术人员的设计效果。
针对各大平台设置单独的尺寸和格式
在Unity中,跨平台时可以为每个图片设置不同平台下的资源和格式,比如一张1024*1024的图片,可以让它在iOS平台下位1024*1024,在安卓平台下就变为512*512。
选中一个图片文件后,在Inspector窗口中。
Default为默认的设置,向右以此是Web的设置、PC/Linux端的设置、iOS的设置、安卓的设置、黑莓的设置、Flash的设置等。可以为图片设置其在不同平台下的尺寸和格式。如果没有设置,它将会在任何平台下都应用Default设置。
对于iPhone4手机:图片如果超过了2048尺寸,将无法显示(显示为一片黑色)。
实战开发中UI资源制作标准的更多相关文章
- C#中??和?分别是什么意思? 在ASP.NET开发中一些单词的标准缩写 C#SESSION丢失问题的解决办法 在C#中INTERFACE与ABSTRACT CLASS的区别 SQL命令语句小技巧 JQUERY判断CHECKBOX是否选中三种方法 JS中!=、==、!==、===的用法和区别 在对象比较中,对象相等和对象一致分别指的是什么?
C#中??和?分别是什么意思? 在C#中??和?分别是什么意思? 1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; ...
- IOS开发中UI编写方式——code vs. xib vs.StoryBoard
最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面.iOS应用是非常重视用户体验的,可以说绝大多数的应用成功与否与交互设计以及UI是否漂亮易用有着非常大的关 ...
- Android开发中UI相关的问题总结
UI设计和实现是Android开发中必不可少的部分,UI做不好的话,丑到爆,APP性能再好,估计也不会有多少人用吧,而且如果UI和业务代码逻辑中间没有处理好,也会很影响APP的性能的.稍微总结一下,开 ...
- 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...
- iOS开发中静态库制作 之.a静态库制作及使用篇
iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ...
- 在Android开发中替换资源图片不起作用的解决方法
现象 在android开发中,经常会需要替换res\drawable中的图片,打开res\layout下的文件预览布局页面发现图片已经被替换,但在模拟器或者真实机器上运行时发现该图片并没有被替换,还是 ...
- Java开发中关于资源路径获取问题
描述 在开发中经常会读取配置文件,在Web开发中大多数都是在项目路径下.核心的API类或者是Controller异或是jsp页面等,基本都是基于web应用的相对路径,很少去操作绝对路径,但是在客户端. ...
- JAVA WEB开发中的资源国际化
为什么要国际化? 不同国家与地区语言,文化,生活习惯等差异.在数字,时间,语言,货币,日期,百分数等的不同. 两个名词: I18N:即资源国际化,全称为Internationalization,因为首 ...
- 在ASP.NET开发中一些单词的标准缩写
有些词可能共用一些缩写.带星号的缩写或词来源于PeopleSoft标准. The following standard word abbreviations should be used in nam ...
随机推荐
- 【Irrlicht鬼火引擎】 认识鬼火引擎
一.Irrlicht简介 (1)概念 Irrlicht引擎是一个用C++书写的高性能实时3D引擎,可以应用于C++程序或者.NET语言中.通过使用Direct3D(Windows平台).OpenGL ...
- [改善Java代码]不能初始化泛型参数和数组
泛型类型在编译期被擦除,我们在类初始化时将无法获得泛型的具体参数,比如这样的代码: class Foo<T>{ //private T t =new T();//报错Cannot inst ...
- Microsoft.SharePoint.Security的问题
请求“Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, Version=12.0.0 ...
- 基本STRUTS标签-学习笔记-Logic标签
BEAN标签(name 是从别处得来的:id是自己的,相当于变量:property相当于变量的值) 前提: String str=request.getParameter("param&qu ...
- NAT地址转换原理全攻略
NAT转换方式及原理 在NAT的应用中,可以仅需要转换内部地址(就是“内部本地址”转换成“内部全局地址”),这是最典型的应用,如内部网络用户通过NAT转换共享上网:也可以是仅需要转换外部地址(就是“外 ...
- 每天一道LeetCode--237.Delete Node in a Linked List
Write a function to delete a node (except the tail) in a singly linked list, given only access to th ...
- JAVA-位运算符
请解释&和&&.|和||的区别? 在逻辑运算中: · 与操作:与操作分为两种,一种是普通与,另外一种是短路与: |- 普通与(&):表示所有的判断条件都要执行,不管前面 ...
- Convert Windows 32bit dirver to Windows 64bit
Pre-condition: 1.source code(vc6.0+WDK based) Development environment: 2.VS2013 3.WDK 8/8.1 Steps: 1 ...
- (转)ASP.NET并发处理
对于DB服务器同样也可以调整最大连接数来做优化. 在调整优化好最大连接数之后,就只有软硬件负载均衡了.硬件负载均衡能够直接通过智能交换机实现,处理能力强,而且与系统无关,但是价格贵,配置困难,不能区分 ...
- 关于在DWZ使用ssh后台查询的几种方式
1.查询所有记录,并以列表形式查询 DaoImpl public PageBean queryByPage(String hql, List<Object> listobj, int pa ...