实战开发中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尺寸,将无法显示(显示为一片黑色)。

时间: 2024-12-26 07:45:14

实战开发中UI资源制作标准的相关文章

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

提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OSS(https://www.aliyun.com/product/oss) 4.HTTPS(http://baike.baidu.com/view/14121.htm) 阅读目录结构 引: 一.准备工作 二.整体功能结构 三.具体实现步骤 四.关键点和问题处理 五.延伸与扩展 六.总结与思考 引:

妙味课堂Jquery从入门到插件开发到模拟视频教程 Jquery实战开发 Jquery UI

<jQuery课程 初级到高级到模拟>├<第一课:jQuery初级>│  ├01 妙味云课堂-jQuery简介.mp4│  ├02 妙味云课堂-jQuery设计思想之选择元素.mp4│  ├03 妙味云课堂-jQuery设计思想之写法.mp4│  ├04 妙味云课堂-jQuery设计思想之原生关系和链式操作.mp4│  ├05 妙味云课堂-jQuery设计思想之取值和赋值.mp4│  ├06 妙味云课堂-jQuery方法之filter not has.mp4│  ├07 妙味云课堂

线程开发中的资源操作

理论: 临界资源 PV操作:通过信号量机制进行维护关系资源的安全---看看操作系统.... 任务对资源进行操作,为了安全要加锁,锁加载临界资源操作上(也就是对共享资源的操作) 加锁 共享资源操作 解锁 编程模型: 1.通过锁 2.threadLocal 3.final 例子: public static void main(String[] args) { JobLanuch jobLanuch = new JobLanuch(); Task_A task_a = new Task_A(jobL

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

有些词可能共用一些缩写.带星号的缩写或词来源于PeopleSoft标准. The following standard word abbreviations should be used in naming records, fields, and SQRs: Word(s) Abbreviation Description AbbreviateAbbreviation ABRV   Academic ACAD   AcceptAcceptanceAccepted ACPT   Access A

CSS3实战开发: 弹性盒模型之响应式WEB界面设计

各位网友大家好,如果你已经阅读过我先前写的关于CSS3弹性盒模型的实例演示,相信你对CSS3弹性盒模型属性知识点应该已经有了一个非常深刻的映像. 从本篇文章开始,我将带领大家,手把手地教大家如何来开发一个适合移动端浏览器的弹性盒模型的响应式页面.同时实战开发中的案例代码可以作为你项目中的精简框架了. 当你学习完成<CSS3实战开发: 弹性盒模型之响应式WEB界面设计>这个系列教程之后,相信你对目前比较流行的前端轻量级框架 Bootstrap等会有一个深刻的认识. Bootstrap(弹性流体布

开发中的辅助工具(六)

今天我们来看一看开发中的辅助工具,那么什么是开发环境呢?在我们的印象中,开发环境就指的是编写代码的环境.其实不然,开发环境包括三大部分:构建环境.调试环境以及测试环境.构建环境便指得是代码编写.程序编译以及版本控制等:调试环境则指的是用于定位问题的辅助工具集:测试环境指的是用于验证目标程序是否满足用户的显性需求和隐形需求.显性需求指的是客户的要求,而隐形需求则指的是一些用户没有要求到的但是必须具备的要求.比如一个应用程序在 win7 系统上可以运行起来,在 win10 系统上也要能运行起来. 在

文顶顶 iOS开发UI篇—iOS开发中三种简单的动画设置

iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView beginAnimations:nil context:nil]; //设置动画时长 [UIView setAnimationDuration:2.0]; self.headImageView.bounds = rect; // commitAnimations,将beginAnimation之后的所

iOS开发UI篇—iOS开发中三种简单的动画设置

iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView beginAnimations:nil context:nil]; //设置动画时长 [UIView setAnimationDuration:2.0]; self.headImageView.bounds = rect; // commitAnimations,将beginAnimation之后的所

Android实战开发租赁管理软件(适配UI,数据的存储,多线程下载)课程分享

亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系. 课程内容简单介绍 我们软件是基于移动设备的.所以我们必定的选择了安卓作为我们的开发工具.课程中,我们将简要的介绍Android的基本概念,然后进行我们的实战开发.在开发中,大家讲学习到主要的组件,适配UI,数据的存储,多线程下载,开机广播,闹钟提醒,短信发送等实际项目开发中碰到的实用的知识点.通过课程学习,让大家可以掌握Android软件开发的流程,注意点,及优化.帮助大家迅速的掌握An