实战开发中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 ...
随机推荐
- [改善Java代码]建议40:匿名类的构造函数很特殊
建议40: 匿名类的构造函数很特殊 在上一个建议中我们讲到匿名类虽然没有名字,但可以有一个初始化块来充当构造函数,那这个构造函数是否就和普通的构造函数完全一样呢?我们来看一个例子,设计一个计算器,进行 ...
- Redis - 发布/订阅模式
Redis 提供了一组命令可以让开发者实现 “发布/订阅” 模式.“发布/订阅” 可以实现进程间的消息传递,其原理是这样的: “发布/订阅” 模式中包含两种角色,分别是发布者和订阅者.订阅者可以订阅一 ...
- HTTP - 首部
首部类型 首部类型 说明 通用首部 客户端和服务器都可以使用的通用首部.可以在客户端.服务器和其他应用程序之间提供一些有用的通用首部. 请求首部 请求首部时请求报文特有的.它们为服务器提供 ...
- Java -- Thread中start和run方法的区别
一.认识Thread的 start() 和 run() 1.start(): 我们先来看看API中对于该方法的介绍: 使该线程开始执行:Java 虚拟机调用该线程的 run 方法. 结果是两个线程并发 ...
- 解析LRC歌词文件readlrc
package com.jikexueyuan.readlrc.main; import com.jikexueyuan.readlrc.utils.Utils; import java.io.Fil ...
- 学习IT技术的技巧
怎样学习一个知识A? (1).为什么需要A? (*) (2).什么是A? (*) (3).怎么使用A[最简答的]? (*) (4).使用A时注意的问题? (*) (5).A的应用领域. (6) ...
- ALTER---删除字段
ALTER TABLE table_name DROP (column1,column2,...); 例: ALTER TABLE userinfo DROP (name,num); 说明: 1.or ...
- HTML5的Web SQL Database
本文将介绍 Web SQL Database 规范中定义的三个核心方法: openDatabase:这个方法使用现有数据库或新建数据库来创建数据库对象 transaction:这个方法允许我们根据情况 ...
- CKedit在线编辑器
在线编辑器 在实现所见即得的编辑效果. FCK 是开发者的名字的缩写 CKEditor 功能很完善的,具有,在线编辑与图片上传JS插件 UEdit ...
- 2016年11月ACM/ICPC亚洲区北京赛赛后总结
2016年11月12到11月13为期两天的比赛,这是我们这个对第一次去打亚洲区域赛,经过这次比赛,我认识到了自己与别人的差距,也许我们与别人的起点不同,但这不是理由. 这次的比赛12号的热身赛两点开始 ...