资源制作标准设定建议

  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资源制作标准的更多相关文章

  1. C#中??和?分别是什么意思? 在ASP.NET开发中一些单词的标准缩写 C#SESSION丢失问题的解决办法 在C#中INTERFACE与ABSTRACT CLASS的区别 SQL命令语句小技巧 JQUERY判断CHECKBOX是否选中三种方法 JS中!=、==、!==、===的用法和区别 在对象比较中,对象相等和对象一致分别指的是什么?

    C#中??和?分别是什么意思? 在C#中??和?分别是什么意思? 1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; ...

  2. IOS开发中UI编写方式——code vs. xib vs.StoryBoard

    最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍和困惑和疑问,就是应该如何制作UI界面.iOS应用是非常重视用户体验的,可以说绝大多数的应用成功与否与交互设计以及UI是否漂亮易用有着非常大的关 ...

  3. Android开发中UI相关的问题总结

    UI设计和实现是Android开发中必不可少的部分,UI做不好的话,丑到爆,APP性能再好,估计也不会有多少人用吧,而且如果UI和业务代码逻辑中间没有处理好,也会很影响APP的性能的.稍微总结一下,开 ...

  4. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  5. iOS开发中静态库制作 之.a静态库制作及使用篇

    iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ...

  6. 在Android开发中替换资源图片不起作用的解决方法

    现象 在android开发中,经常会需要替换res\drawable中的图片,打开res\layout下的文件预览布局页面发现图片已经被替换,但在模拟器或者真实机器上运行时发现该图片并没有被替换,还是 ...

  7. Java开发中关于资源路径获取问题

    描述 在开发中经常会读取配置文件,在Web开发中大多数都是在项目路径下.核心的API类或者是Controller异或是jsp页面等,基本都是基于web应用的相对路径,很少去操作绝对路径,但是在客户端. ...

  8. JAVA WEB开发中的资源国际化

    为什么要国际化? 不同国家与地区语言,文化,生活习惯等差异.在数字,时间,语言,货币,日期,百分数等的不同. 两个名词: I18N:即资源国际化,全称为Internationalization,因为首 ...

  9. 在ASP.NET开发中一些单词的标准缩写

    有些词可能共用一些缩写.带星号的缩写或词来源于PeopleSoft标准. The following standard word abbreviations should be used in nam ...

随机推荐

  1. Codeforces Round #191 (Div. 2)

    在div 188中,幸运的达成了这学期的一个目标:CF1800+,所以这次可以打星去做div2,有点爽. A.Flipping Game 直接枚举 B. Hungry Sequence 由于素数的分布 ...

  2. 如何使用javascript书写递归函数

    递归函数大家都应该比较熟吧?那么,如何在javascript中书写一个完美的递归函数呢?且听我娓娓道来. 递归函数 写的时候,查了一下维基百科对递归函数的定义,恕我愚钝,简直太深奥了!所以,我还是简单 ...

  3. 关于Could not parse configuration: /hibernate.cfg.xml的问题

    第一次在eclipse上配置hibernate,问题百出啊,比如下面的org.hibernate.HibernateException: Could not parse configuration: ...

  4. Forms身份认证

    引言 大家都知道Http是无状态的协议,所以访问一个url,你并不能知道用户在之前是否已经登陆过.但是许多业务上的逻辑又离不开user的信息,这个时候就可以借助身份认证来记录当前user的登录状态.这 ...

  5. sql常识-FULL JOIN

    SQL FULL JOIN 关键字 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行. FULL JOIN 关键字语法 SELECT column_name(s) FROM table_n ...

  6. Objective-C 【构造方法(重写、场景、自定义)、super】

    ------------------------------------------- super关键字的使用 #import <Foundation/Foundation.h> @int ...

  7. C#对象XML序列化

    1.Xml序列化操作类 .Net Framework提供了对应的System.Xml.Seriazliation.XmlSerializer负责把对象序列化到XML,和从XML中反序列化为对象. 以下 ...

  8. OC6_目录及文件的创建

    // // main.m // OC6_目录及文件的创建 // // Created by zhangxueming on 15/6/19. // Copyright (c) 2015年 zhangx ...

  9. 高性能CSS(二)

    避免CSS表达式 CSS表达式是动态设置CSS属性的强大(但危险)方法.Internet Explorer从第5个版本开始支持CSS表达式.下面的例子中,使用CSS表达式可以实现隔一个小时切换一次背景 ...

  10. Session 入库

    session入库 session机制中的数据分部分存储,1部分在客户端的cookie中,2部分在服务器端的session文件中. 务器端的session文件中存储的是$_SESSION变量中的数据. ...