NGUI字体类型

1: UIFont字体,UIFont类实现的
2: TTF动态字体的使用
3: BBCode的特殊字体的使用
4: NGUI字体制作
5: BMFont字体制作和艺术字体的制作
6: UILabel的使用

UI Font字体

UI Font组件属性

Font Type:字体格式,Bitmap位图,Reference引用(可以引用TTF字体),Dynamic动态字体

Atlas:图集,文字放在文字图片里面

Pixel Size:像素大小

Sprite Details:精灵的详诉,宽高,是否粗体,是否斜体

Duplicate:复制一份

Add a Shadow:添加一个阴影

Add a Soft Outline:添加一个软轮廓

Add a Transparent  Border:添加一个透明的边框

Add a Clamped Border:添加一个裁剪的边框

TTF动态字体实例

1.创建一个新场景,删除摄像机和灯光

2.创建一个新文件夹NGUI2,把TTF字体资源msyh.ttf(第75)拖进NGUI2中

3.新建一个Label控件,NGUI---->Create---->Label

4.设置Label节点的UI Label组件第一行第一栏为Unity,第三栏选择刚才导入的TTF字体资源msyh.ttf,在Text里面输入文字,可以看见Scene视图里面显示文字

5.Overflow属性的类型

  a.ShrinkContent,总是显示所有文字,根据当前的width和height进行缩放
  b.ClampContent,一看到Clamp就想起Clamp函数,也就是不管文本多少个字,根据当前的width和height来显示,超出部分不显示
  c.ResizeFreely,会对当前的文字长度和行数来调整,UILabel的width和height,基本上是只在一行显示,超出的部分不显示
  d.ResizeHeight,保持宽度不变,必要时增加高度。

6.Alignment对齐方式,Gradient渐变字的颜色,Effect效果(阴影Shadow,轮廓Outline,XY表示阴影偏移量)

7.Flaot Spacing每个文字之间的间距

  X:设置字与字之间到间隔,可以为负数,设置得当(不断减小X的值)可以反序,也就是产生镜像效果

  Y: 设置行与行之间的间隔。

8.Max Lines最大行数,用来控制最多要多少行。用0表示不限制。如果设置成n的话,那么超过n的行的文字将不会显示

BBCode的特殊字体实例

1.在上一个例子的Text栏里面写,用BBCode标记实现字体格式的设置

 [b]Bold[/b] 粗体
 [i]italic[/i] 斜体
 [u]underline[/u] 下划线
 [s]strikethrough[/s] 删除线
 AA[sub]sub[/sub] 下标
 BB[sup]sup[/sup] 上标
 [00ff00]设置颜色[-] 设置显示颜色

 [url=http://www.cnblogs.com/mrzivchu/][u]博客[/u][/url] 链接

 例如设置颜色:

 UILabel的Text内容为:[99ff00]n[-]gui: tools

 

2.效果

 

NGUI字体制作

字体其实是一个.prefab预制体,msyh.ttf是字模,里面有各种类型的字,数字字母各种标点符号之类

1.NGUI---->open---->Font Maker,字体文件的制作工具,这个是NGUI自带的工具

  Generated Bitmap:产生位图,或者叫艺术字,基于图片的文字

  Imported Bitmap:导入位图,针对于用UIFont,或者是showBox(一些制作艺术字的工具)

  Dynamic:动态字体,官方有替代的更好的方案。要使用动态字体,不必创建UIFont,只需要在UI label中选择Unity,再将ttf文件拖入font中即可。

       缺点:动态字体不能作为一个atlas的一部分,所以使用动态字体必然要增加至少一个draw call。而且ttf文件一般较大,会大大地增加包大小

2.选择Input:

  Type为Generated Bitmap

  Source为我们刚才导入的msyh.ttf

  Size为32

  Characters设置字体的可匹配内容,汉字写在Custom自定义里面

 选择Output:

  Atlas---->none

3.点击Create the Font,生成三个文件,myfont01.mat,myfont01.png,myfont01.prefab

4.跟换新字体,Label---->UI Label---->第一栏NGUI---->第二栏myfont01.prefab,只有输入刚才在Characters里设置的内容,才会显示在视图中

NGUI动态字体制作

1.NGUI---->open---->Font Maker

2.选择Input:Type为Dynamic,Source为我们刚才导入的msyh.ttf

3.点击Create the Font,生成一个文件dynamicfont.prefab,注意动态字体不能被制作成图集的一部分,而且使用动态字体会导致至少一个额外的draw call,性能会低

4.跟换新字体,Label---->UI Label---->第一栏NGUI---->第二栏dynamicfont.prefab,可以输入任何的汉字或者字母

BMFont字体制作和艺术字体的制作

1.使用其他外部工具制作字体bmfont64.exe,install_bmfont_1.13.exe(第75)

 第三方的字体制作工具
 BMFont---->程序员常用
 http://www.angelcode.com/products/bmfont/

 shoebox---->美术常用,是PS的一个插件,要先下载PS,很多公司在用,艺术字
 http://childhood.logdown.com/posts/190580/-details-using-shoebox-produce-bitmap-fonts

2.这里以BMFont工具为例子

 a.打开bmfont64.exe

 b.options配置,设置font settings---->Arial。其他默认

 c.options配置导出Export options---->Bit depth 32,Textures png

 d.选择要匹配的字模内容

  

 e.导出save bitmap font as---->得到bmfont01.fnt和bmfont01.png

3.使用第三方工具创建出来的字体,把bmfont01.fnt和bmfont01.png复制到Resources文件夹里

4.NGUI---->open---->Font Maker,

 选择Input:

  Type为Imported Bitmap

  Font data为我们刚才导入的bmfont01.fnt

  Texture为我们刚才导入的bmfont01.png

 选择Output:

  Atlas---->none

5.点击Create the Font,多生成两个个文件,bmfont01.mat,bmfont01.prefab,现在一共有四个文件

6.跟换新字体,Label---->UI Label---->第一栏NGUI---->第二栏bmfont01.prefab,只有输入刚才在字模里设置的内容,才会显示在视图中

7.BMFont工具还可以从外部导入的文件中选取字模

 a.下载Notepad++,打开Notepad++,设置编码---->转为UTF-8编码格式

 b.写汉字,保存到英文路径下bmfont02.txt

 c.打开BMFont工具,Options---->Font Settings---->Font---->Microsoft YaHei UI

 d.Edit---->Select chars from file

 e.导出save bitmap font as---->得到bmfont02.fnt和bmfont02.png

8.BMFont工具制作已经有单字图片的艺术字

 a.打开BMFont工具,Edit---->open Image Manager

 b.Image---->Import Image---->选中单字图片Num1.png,ID就是这个单字的ASCII值,重复操作,直到单字图片都被导入

 

 c.Options---->Font Settings---->Width Height1024 1024

 d.导出save bitmap font as---->得到bmfont03.fnt和bmfont03.png

注意:

1.Game视图,state栏可以查看游戏性能,draw call越低性能越高,SetPass calls越低性能越高

2.UILabel还有一个Symbols选项,他有三个值:None,Normal,Colored,选择None,那么以 :) 这样形式显示的图片将不会展示,选择Normal(默认)将正常展示,选择Colored,
 那么图片将会被UILabel下的Color Tint所选择的颜色遮盖!其实这个Color Tint是对文字进行着色的,选择Colored那么也就是意味着图片也和文字应用同样的颜色!

转载于:https://www.cnblogs.com/HangZhe/p/7403555.html

关于Unity中的NGUI字体相关推荐

  1. Unity中制作自定义字体的两种方式

    Unity支持自定义图片字体(CustomFont),网上有很多教程,细节不尽相同,当概括起来基本就是两种方式.一是使用BMFont,导出图集和.fnt文件,再使用图集在Unity中设置得到字体.二是 ...

  2. 关于Unity中的NGUI优化,你可能遇到这些问题

    一.界面制作 Q1:我用的是NGUI,本来已经打包图集了,输出时候是不是就不用理会那些原始2D Sprite图 ?粒子贴图需要Packing Tag吗? 在NGUI中使用Atlas后,原纹理是不需要进 ...

  3. unity中添加中文字体实现UI可视化设计

    第一步:打开C盘下的Windows中的Fonts字体并选择一款喜欢的字体.路径为:C:\Windows\Fonts 第二步:将复制的字体放到unity项目下的Scenes文件下: 第三步:新建一个tx ...

  4. 基于 Unity 中的 NGUI 插件,通用的 UI 如何设计

    以我的项目经历来说,要保证通用性必须分清需求是框架需要还是项目需要.举一个例子,所有的项目都需要一个弹窗提示的接口,但是不同项目弹窗都不一样,当时做的时候我没有想好怎么分离,那就放到项目类库里,保证框 ...

  5. Unity中提升像素字体清晰度

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Unity5.6.0f3 Unity UI系统是非常好的,但默认情况下,使用像像素艺术风格游戏那样需要非常锋利的边框的字体 ...

  6. ui动效 unity_基于Unity中的NGUI插件,通用的UI如何设计?

    整理自知乎,文/王致远 以我的项目经历来说,要保证通用性必须分清需求是框架需要还是项目需要.举一个例子,所有的项目都需要一个弹窗提示的接口,但是不同项目弹窗都不一样,当时做的时候我没有想好怎么分离,那 ...

  7. Unity3D中的动态字体和静态字体

    Unity3D中支持动态字体和静态字体两种格式字体,动态字体即使用TTF格式字体库,静态字体则需要自己打包字体图集.动态字体和静态字体区别在于,动态字体如果出现字体库中不存在的字体,会使用系统字体,而 ...

  8. 【转】Unity中,使用Ngui 的默认字体Arial,显示出错;附带字体替换脚本

    [原贴地址已失效  转载过来备用] Unity工程中的动态字体使用很方便,在一开始的工程中,为了减小游戏包的大小,我们使用的是Unity内置的默认Arial字体,但是在游戏上线测试后,很多玩家反馈个别 ...

  9. Unity 中 创建 TextMeshPro 中文字体(含常见汉字 TXT 文件)

    TextMeshPro是个好东西,但是原生不支持中文,需要把中文字体转换为TextMeshPro才可以使用,即创建TextMeshPro中文字体,为TextMeshPro添加中文支持.(文章内含 常见 ...

最新文章

  1. Python-Numpy函数-tile函数
  2. Android Studio 打开提示Invalid Gradle JDK configuration found错误
  3. 复制MySQL实时_自制mysql主从复制(实时)软件——实现
  4. 达梦数据库、oracle数据库如何判断指定表有没有建立索引?对应的表有没有索引查询方法
  5. 工具设置Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节
  6. java 调用祖父方法_在Java中调用祖父母方法:您不能
  7. html笔记(四)弹性盒+响应式
  8. LOJ 2979 「THUSCH 2017」换桌——多路增广费用流
  9. jspdf html转换pdf,使用jspdf将HTML转换为pdf时出错
  10. 列举5个python内置函数和使用方法_Python基础-----函数、内置函数、递归等练习
  11. 微软认知语音服务 语音识别
  12. 使用java代码画一棵圣诞树
  13. 上升了百分之几怎么算_如何简单计算同期上升下降的百分比?
  14. 教你一招:Word中的文字转换成表格,把表格转换成文字
  15. MTK方案 联通PON入围测试分享
  16. .Net Core 使用UDP协议实现即时通讯
  17. 深入理解JVM:Java语言与JVM关系
  18. ALSA-ASOC音频驱动框架简述
  19. HTML网页设计:爱护动物题材——保护动物大象(6页) HTML网页设计结课作业 web课程设计网页规划与设计 网页设计成品DW静态网页
  20. 判断质数和合数python代码_小学五年级数学《质数和合数》测试题

热门文章

  1. 健身耳机哪款好、精选五款最适合健身的运动耳机推荐
  2. Educoder:python实验九 二维列表
  3. 怎样去测量CAD面积?
  4. Excel函数(3):查找引用
  5. 对Vue生命周期钩子的理解
  6. 11、微信小程序——购物车
  7. 键盘上的标点符号的中英文名称对照表
  8. 软考中级科目哪个好考,哪个较实用?
  9. 漫话地图之高精地图生产中的坐标系
  10. 我在五一期间的计划.