制作第一个UI图集
按钮分有两种形式,一种是普通按钮,也就是一张没有文字的按钮图片,在需要用时,就在上面写上不同的、当前所需要的文字。量一种按钮则是图片按钮,这种按钮的特点是整个按钮就是一张图片,它既是按钮也是图片。
在剖析UI资源结构时一定要秉承一下几个原则:
1.尽量保证还原设计图的效果,不损失质量,这是前提。
2.尽量发现重复的元件,而且重复的元件只需要一份就足够。
3.尽量分割得零碎一点,避免多个元件合并一起出图,这样对项目不利。
4.尽量使用九宫格来制作比较大的底板、底框等。
5.UI切图全部让美术人员以PNG格式导出。
如何导入切好的美术资源
在Unity的Project窗口下的Assets文件夹下面建立一个文件夹,将该文件夹命名为Resources,表示这个项目的资源都放在这个文件夹下面,UI资源也不例外。这个文件夹名字一定要设定为Resources,不能改动。
Unity开发中,如果设计动态加载(在游戏中触发了某个条件才需要加载)的情况,都会用到Unity的资源加载方法:Resources.Load();这要求需要被动加载的资源一定要放在Assets下面一个叫Resources的文件夹中。
因为Unity在生成游戏安装包时,对于Resources以外的文件夹,只会打包场景中用到的资源文件,而对于Resources文件夹,因为涉及动态地往内存里加载资源,所以Unity会无条件的全部打包。
用Atlas Maker制作图集
在Unity的Project窗口中选中UI元件,单击鼠标右键,选择最顶部NGUI菜单,选择Open Atlas Maker(Atlas Maker是NGUI自带的一个UI图片打包工具),这样就能自动将这些UI元件放入到Altas Maker中。或者在Unity顶部的菜单栏中,选择NGUI菜单,然后选择Open->Atlas Maker即可。

标号为1的红框是已有图集的选择按钮,如果需要将新导入的UI素材资源全部新增到一个已有的图集里,就可以单击这里。单击后能看到当前项目工程中已有的所有的图集,然后可以选择其中一个图集,此时标号为2的红框处的按钮将变成Add/Update,这样就可以新增或者更新这批资源到已有的选定的图集中了。
标号为2的红框是主按钮,当要打包的UI素材资源没有选定打包到某个已有图集中去时,这个主按钮会显示Create,意为用这些资源创建一个全新的图集。如果通过标号1的红框处的按钮选择了一个已有图集的话,这个主按钮将变成Add/Update,意为新增/更新当前这批UI资源到选中的图集中。更新的机制为同名的Sprite图片将会被替换。
图中标号3处的红框显示的是当前选中的UI图片资源的序号和文件名称,标号4处的红框显示的是这些资源哪些是新增的;哪些是更新的;哪些是已有的。在这里,如果选中了一个已有图集,那么该图集中的Sprite也会一起显示出来。
如果需要更新现有图集中的某一个精灵,则将新的精灵图片文件的名字设为和它要替换的精灵的名字一样,然后按照以上步骤选择它要替换的精灵所在的图集,单击Add/Update即可实现直接替换资源。
当需要创建一个全新的图集时,单击Create主按钮,会弹出Save As对话框,将路径定位到Resources目录下,然后将图集的名称改为"MyFirstAtlas",单击"保存"按钮即可。文件保存后是一个Prefab。
单击"保存"按钮之后,中间的主按钮变成了View Sprites,单击后可以预览该图集中所拥有的精灵。
关闭Atlas Maker界面,然后注意看Project窗口中,Resources目录下除了之前导入的UI图片资源以外,多出了3个名为"MyFirstAtlas"的文件。这3个文件是一个图集必须具备的3个文件:图集的贴图、图集的材质球和图集的预设体。其中,球形图标文件为图集的材质球;蓝色方块的文件为图集的预设体;图片缩略图文件则是图集的贴图,也就是精灵合成为一张整图之后的图片。
特别注明:在制作完UI图集之后,可以将之前导入Unity的UI资源源文件删除以减小资源量。
制作第一个UI图集的更多相关文章
- 制作第一个UI字体
为什么要制作UI字体 一般来说,会有系统默认字体共我们使用,但是出于以下两个原因我们经常会需要制作独特的字体. 1.系统字体的风格和美观程度等无法满足需求. 一般来说,系统字体都比较死板.生硬,风格单 ...
- 创建第一个UI
创建一个2D UI 制作UI时,首先要创建UI的"根".在Unity顶部NGUI菜单中选择Create,然后选择2D UI. 创建完成后,在Scene窗口中,NGUI自动生成了一个 ...
- 新建一个UI窗口-XproerUI(MFC)教程
版权所有 2009-2015 荆门泽优软件有限公司 保留所有权利 产品首页:http://www.ncmem.com/apps/xproerui/index.asp 在线文档(XproerUI):Xp ...
- 模仿京东顶部搜索条效果制作的一个小demo
最近模仿京东顶部搜索条效果制作的一个小demo,特贴到这里,今后如果有用到可以参考一下,代码如下 #define kScreenWidth [UIScreen mainScreen].bounds.s ...
- 使用css3和伪元素制作的一个立体导航条
使用css3和伪元素制作的一个立体导航条供大家参考,代码如下: <!doctype html> <html lang="en"> <head> ...
- Qt初学——我的第一个UI
第一次打开Qt的时候,我是一脸懵逼的.没学过c++,里面的程序都看不懂.按照套路,我开始看教程,上手实践.连着搞了3天之后,我开始渐渐明白怎么写UI. 我现在的理解是:UI = 界面设计 + 信号槽响 ...
- 缺一个UI设计
这几天弄小程序的界面真的是太艰难了,神呐,请赐我一个UI吧 甚至,在第二种布局下的渐变过渡,都拿笔来计算了TT 还有这个色调的选择,在避免过渡效果突兀的处理上,真的是很费工夫啊: 我谁都不服,就服那些 ...
- 自已实现一个UI库
[2014年写一个UI库时写的几个文章,公布出来] 几年前的一个嵌入式的UI开发,使自己有机会接触到了UI的一些底层知识,尽管之前也开发过非常多Windows下的信息应用系统,也做非常多的界面开发,但 ...
- 利用WPF建立自己的3d gis软件(非axhost方式)(八)拖动一个UI到地球上
原文:利用WPF建立自己的3d gis软件(非axhost方式)(八)拖动一个UI到地球上 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bPew ...
随机推荐
- Asp.Net 之 基本控件FileUpload上传控件
1.前台代码: <asp:FileUpload ID="FileUpload" runat="server" /> <asp:Button I ...
- java 获取本机ip地址
/** * 取当前系统站点本地地址 linux下 和 window下可用 * * @return */ public static String getLocalIP() { String sIP = ...
- css实现响应式全屏背景
利用css中 background-size:cover 填充整个viewport 注意: 一张背景图像素5000px*5000px在pc端 缩放都基本满足要求 不会出现模糊失真: 但是在移动端使用 ...
- JAVA_Gson_example
package cn.kjxy.GSON; import java.util.List; import cn.kjxy.JSON.HttpHelpers; import com.google.gson ...
- .net 并发
Nhibernate并发参考 http://www.cnblogs.com/lyj/archive/2008/10/21/1316269.html EF并发参考 http://www.cnblogs. ...
- WCF编程系列(四)配置文件
WCF编程系列(四)配置文件 .NET应用程序的配置文件 前述示例中Host项目中的App.config以及Client项目中的App.config称为应用程序配置文件,通过该文件配置可控制程序的 ...
- 两种js监听滚轮事件的方式
前段时间在写前端的时候,需要监听浏览器的滚轮事件 网上查了一下,找到两种监听滚轮事件的方法: 一.原生js通过window.onscroll监听 //window.onscroll = functio ...
- 04_HttpClient发送Https请求
[实例 带Cookie访问HTTPS类型的 建信基金 的某一页面)] /** * 创建一个可以访问Https类型URL的工具类,返回一个CloseableHttpClient实例 */ public ...
- CUDA_矢量相加
#include<iostream> #define N 10 _ _global_ _ void add(*a,*b,*c) { int tid=blockIdx.x; if(tid&l ...
- bzoj1002:[FJOI2007]轮状病毒
思路:一道很裸的生成树计数问题,然而要高精度,而且听说直接行列式求值会被卡精度,所以可以模拟行列式求值的过程得到递推公式:f[i]=3*f[i-1]-f[i-2]+2,证明详见vfk博客: http: ...