Daikon Forge GUI 制作图集和字体集
在上次的学习中制作了一个简单的面板,下面来学习制作图集以及字体。
1.DF-GUI 图集(Atlas)制作
操作步骤
选中UI Root根节点,在Scene场景中右键鼠标弹出如下菜单,选择需要制作的一个控件,在这里我选择了一个Texture sprite如下图。
在右方面板出现如下图的组件
Texture Sprite不需要制作图集,只需要导入位图,拖到图中所指示的位置即可。但是另外的Sprite ,如 Sliced Sprite需要制作图集才可以用。
制作图集(Texture Atlas)
在Sliced Sprite中出现如下图
这里就需要制作图集。首先随便拖一些图片素材进去,这时候要注意设置一下图片的属性,有几个地方要改。否则无法制作图集。
全部选中右击,选择如下选项。
取好名字后得到3个文件 ,一个是大的图片集合,一个是图片的材质盒,最后一个是一个prefab,里面有一个DF Atlas脚本。在这里可以添加删除图片,但是添加的图片依然需要之前的设置。
这样一个图集就制作完成,图集里面包含了许许多多小的图片,这样的目的是为了减少gpu 渲染的回调(draw call 或者opengl call),每次成批得渲染图片,而不是一张张去处理。
2.DF-GUI 字体(Font)制作
位图字体(BitMap Font)
(1)首先是位图字体(BitMap Font),一般用作制作默认字体,可以用不同的工具,制作出的文字效果跟图片类似,因此可以做的很炫酷,一般在游戏中用作很少一部分的hud字体 。原理是根据位图中各个字母的位置获得相应的信息保存到一个文件,每次需要文字的时候,从数据文件读取信息,截取图片中的字母。因此需要有两个文件被选中才能制作。
随便拖入或者从DF-GUI demo中获得2个BM Font文件。如下图制作。
之后获得一个字体集的prefab,里面包含一个Df Font脚本,这时候需要把这个字体加入到一个大的图集里(因为BM Font也有一张大的图片),将这个字体图片拖入之前制作的图集中
再将图集 拖入字体集相应的红色拖选框
选择刚才制作的字体集,OK
动态字体(Dynamic Font)
(2)其次是动态字体(Dynamic Font),一般用作游戏中可以变化的字体,比如显示一些游戏信息用一个字体,显示提示用另外一个字体等等,这些字体是动态添加的,而不是被默认的,一般以.ttf作为后缀。其原理可以参考 http://venrar.blog.163.com/blog/static/60699459200881102648855/ 这篇文章。
工程中拖入一个ttf文件,如下图操作,相对于BMFont比较简单。
两种字体比较
BM font的适用范围和Dynamic Font的适用范围不同
前者适用于 label,而后者适用于 Rich Text Label,如下图。
这个在可以尝试一下就可以知道。效果对比图:
(4)如果需要默认的图集和默认BMfont字体,则在UI Root上的Df UIManager上拖入响应的图集和字体集,这样每次新建一个图片或者label,都以此图片集和字体集作为默认的。如下图所示操作
这样就完成了图集和字体集的制作。
说明
转载自:http://blog.csdn.net/mlyx_ycy/article/details/14450791
Daikon Forge GUI 制作图集和字体集的更多相关文章
- Daikon Forge GUI 制作UI面板
		
因为是第一次写技术博客,文章的结构和层次估计不标准,但是并不妨碍我想表达的内容. DF-GUI知识 DF-GUI初窥 DF-GUI于今年10月份面世,作为为数不多的unity UI插件,其功能值得一窥 ...
 - unity3d插件Daikon Forge GUI 中文教程1-Daikon Forge介绍
		
DF-GUI特点: · 深编辑器集成:DF-GUI提供广泛的整合与Unity3D编辑环境,包括自定义检查人员对每个组件向导来简化复杂的多步任务,提高生产力的上下文菜单,编辑控件在一个所见 ...
 - unity3d插件Daikon Forge GUI 中文教程-1-Daikon Forge介绍
		
(游戏蛮牛首发)大家好我是孙广东官网提供了专业的视频教程http://www.daikonforge.com/dfgui/tutorials/,只是是在youtube上,要观看是须要FQ的. 只是教程 ...
 - Daikon Forge GUI Library(dfgui)之Event Binding
		
点击按钮并弹出对话框,就用下面的大问题按钮吧 1,选中按钮,Component/Daikon Forge/Data Binding/Event Binding 2,UI上创建DfPanel,并将其Be ...
 - unity3d插件Daikon Forge GUI 中文教程2-基础控件Label的使用
		
我们先来设置 UI Root 中的如下:屏幕大小为1024*768 2.1 新建一个Label 控件 先来看看Control Properties (基本上是所有控件都共用的)的以后不再介绍,参数: ...
 - unity3d插件Daikon Forge GUI 中文教程6-高级控件richtextlabel的使用
		
3.5.richtextlabel文本 可以像Word文档一样编辑出多样的内容,图片,字体颜色大小下划线.超链接背景等等. Defaults: 默认字体 默认图集 Blank Texture :空白的 ...
 - unity3d插件Daikon Forge GUI 中文教程5-高级控件listbox和progress bar的使用
		
3.3.listbox列表框 Atlas 图集: 下面应用到的精灵都是在这里的. ListBox中的内容: 背景精灵 图片的主颜色 Padding边距 Scrollbar 滚动条对象的预制体或者对象, ...
 - unity3d插件Daikon Forge GUI 中文教程4-高级控件Checkbox和dropdownlis的使用
		
第三节 高级的控件 Checkbox单选和多选.dropdownlis下拉列表.listbox列表框.progressbar进度条.richtextlabel富文本.slider滑块.textbox ...
 - unity3d插件Daikon Forge GUI 中文教程3-基础控件Button和Sprite的使用
		
2.2添加一个按钮Button 来看看特有的属性:Button Properties Data 显示的文本 Behavior 中的几个: Aoto Size 选中时就是按钮的背景会根据Data中的文本 ...
 
随机推荐
- KindEditor编辑器在ASP.NET中的使用
			
KindEditor编辑器在ASP.NET中的使用 最近做的项目中都有用到富文本编辑器,一直在寻找最后用的富文本编辑器,之前用过CKEditor,也用过UEditor,这次打算用 一下KindEdit ...
 - [android] 短信发送器
			
/*****************2016年4月23日 更新********************************/ 知乎:什么是 7 位元的字符? 英文字符难道不是 8 bit 是一个字 ...
 - 安卓开发_深入学习ViewPager控件
			
一.概述 ViewPager是android扩展包v4包(android.support.v4.view.ViewPager)中的类,这个类可以让用户左右切换当前的view. ViewPager特点: ...
 - [leetcode] Count Primes
			
Count Primes Description: Count the number of prime numbers less than a non-negative number, n click ...
 - C语言中void*详解及应用
			
void在英文中作为名词的解释为“空虚:空间:空隙”:而在C语言中,void被翻译为“无类型”,相应的void *为“无类型指针”.void似乎只有“注释”和限制程序的作用,当然,这里的“注释”不是为 ...
 - 如何避免Activity 被杀死
			
我们都知道,在android系统中,内存不足的时候,系统是可以杀死任何暂停.停止或者销毁的Activity.这就意味着基本上没有在前台的Activity都会面临被关闭的可能. Android系统之所以 ...
 - iOS 编译报错
			
Undefined symbols for architecture i386: “_OBJC_CLASS_$_XXX”, referenced from: objc-class-ref in XXX ...
 - scanf 用法及陷阱(转)
			
函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准输入设备( ...
 - Windows下HG服务器的搭建
			
1.环境和所需工具安装 1. 安装python-2.7.9.exe 2. 安装mercurial-3.2.3.win32-py2.7.exe 3. 安装mercurial-3.2.3-x86.msi ...
 - Scrum不是万能药,要在时机成熟时推行
			
敏捷很火热,大家都在谈敏捷:但不是所有团队都适合敏捷! 需要等待时机,时机成熟了,才推! 什么时候算时机成熟呢? 我们的经验是需要两点: 一.团队有三名或以上的研发工程师 : 二. 团队内有一名合适的 ...