NGUI制作字体的三种方法

主要参考两篇博文:

(1)、NGUI制作字体的三种方法

(2)、使用位图字体工具BMFont从图片生成自定义字体

1.BMFont下载地址

http://www.angelcode.com/products/bmfont/

2.BMFont使用方法

http://momowing.diandian.com/post/2013-01-24/40046239211

首先打开Font Settings,选择要制作的字体。可以从Font列表中选择一种字体,也可以通过Add font files导入一个ttf字体文件。

Charset字体编码默认为Unicode,当然也可以选择其它的。

点击OK,字体设置成功。

然后打开Export Settings,进行导出设置

Width和Height的值,尽量选小,只要能够容纳我们需要用到的所有字就可以了,选大了浪费。

Bit depth,32位比8位更清晰,不过负担更大。

Font descriptor选择Text

Texture选择png

选择OK,完成导出设置。

接下来我们就可以选择我们所要制作的字,一个一个去找太麻烦了,我们可以先新建一个txt文件,在其中输入我们要制作的字,然后Select chars from file就可以直接选中所有要用到的字了。

注意

1.在导入前要先clear all chars in font。

2.由于txt文件的编码方式不是在上面设置的unicode,所以我们要对这个txt文件另存为unicode方式,并覆盖。否则,在导入时会提示charcters from the file are not available in the font

最后Save bitmap font as就可以导出一个png和一个fnt,将fnt改为txt格式。这就是我们在ngui中制作bitmap字体所用到的两个文件了。

3.新版NGUI提供的三种创建字体方式

(1)使用BMFont制作的png文件和txt文件制作bitmap字体。分别将两个文件拖入texture和font Data里面。 缺陷:局限于个别字。不能随意改变。还要用外部工具BMfont来创建字体集。

(2)动态字体,需要先导入一个ttf字体文件。C/windows/fonts下面就有很多。也可以从网上下载一些独特的字体。

导入后,拖入Source中,选择size等就可以创建一个字体。

也可以另外手动创建http://momowing.diandian.com/post/2013-05-07/40051478498

注意看下面的提示:要使用动态字体,不必创建UIFont,只需要在UIlabel中选择Unity,再将ttf文件拖入font中即可。

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

(3)可以使用ttf字体文件来创建一个bitmap字体。
与第二种方法类似,区别只是这种方法创建的字体不需要使用BMFont来创建,直接在Unity内部就可以创建,只要我们导入了相应的ttf文件。
而且与第二种方法相同的是,打包时只会包含一个png,一个prefab,一个material,而不会把ttf包含进去。

本篇讲解如何利用美工提供的字符图形来生成自定义字体。

美术提供的字体经常是下面这样的:

或者这样的:

这时候我们就要借助BMFont了,首先针对真彩色的图形,我们要做一些设定,点击"Options"->“Export options”:

在弹出的窗口中,注意红框中“位深”,设为32:

然后,点击"Edit"->"(Un)Select all chars",取消选择所有字符。因为我们将在后边导入需要的字符。

OK,现在点击"Edit"->"Open Image Manager":

弹出图片管理窗体,如下:

那个"Image"是菜单,可以点击。选择"Image"->"Import image...":

弹出如下窗体:

点击"Browse"按钮,在弹出的“打开”窗口中选择一个字符图片,比如"0":

然后在ID后的文本框中输入字符"0"的Ascii值:48,点击"OK"。

这时返回主窗体,你会看到字符表中"0"右下角有一个小亮点标记,说明该字符的图形为自定义图片。如下图:

按上述方法,依次加入其它字符的图片,完成后如下:

OK,下面准备导出。导出前我们可以先点击"Options"->"Visualize"预览一下:

最后得到如下文件:

将生成的这两个文件,拖入上面提到的NGUI制作方法(一),的两个框框内,点击create,即可生成需要的UIFont的Prefab。

原文链接:http://www.cnblogs.com/slysky/p/4602995.html

【Unity3D游戏开发】NGUI制作字体的三种方法 (二一)相关推荐

  1. NGUI制作字体的三种方法

    主要参考两篇博文: (1).NGUI制作字体的三种方法 (2).使用位图字体工具BMFont从图片生成自定义字体 1.BMFont下载地址 http://www.angelcode.com/produ ...

  2. Unity3D中的SendMessage使用(消息传递的三种方法)

    转载自 Unity3D中的SendMessage使用(消息传递的三种方法) 0 概述 Unity提供的消息推送机制可以非常方便我们的脚本开发,它实现的是一种 伪监听者模式,利用的是反射机制. 1 常用 ...

  3. (OPC Client .NET 开发类库)网上很多网友都有提过,.NET开发OPC Client不外乎下面三种方法...

    1. 背景 OPC Data Access 规范是基于COM/DCOM定义的,因此大多数的OPC DA Server和client都是基于C++开发的,因为C++对COM/DCOM有最好的支持.现在, ...

  4. excel添加列下拉框票价_在Excel中制作下拉列表的三种方法

    下拉列表在Excel中的用途十分广泛.在Excel中制作下拉列表可以通过数据有效性.使用窗体控件和VBA控件工具箱中的组合框来制作.下面用一个具体的例子来进行说明(在文章结尾处可下载xls格式的示例文 ...

  5. matlab怎么恢复默认字体,windows10下恢复系统默认字体的三种方法

    一些朋友在更改win10系统界面默认字体后,会遇到设置界面显示不全的情况,此时我们只能将字体恢复成原来的样子.不过,由于大多用户不知道系统界面的默认字体是什么,导致无法恢复成正常状态.下面,系统城小编 ...

  6. unity中控制游戏物体移动最基本的三种方法

    **unity**中控制游戏物体移动的最基本的三种方法 第一种移动方法-transform.Translate,游戏物体按照你给的方向和速度进行运动 代码如下: Public float speed; ...

  7. 微信小程序使用自定义字体的三种方法

    一.loadFontFace接口 小程序官方提供的接口,最便捷的加载字体的方法,不过限制颇多.必须https且同源,canvas等原生组件不支持.注意!!使用本地文件无效,必须使用网络地址. 官方文档 ...

  8. html表格中加入虚线分割,制作虚线表格三种方法

    在制作网页的时候,常常要遇到制作虚线表格的问题,下面的文章就能解决这个问题. 方法一:作一个1X2的图. 半黑半白,再利用表格作成线.这种方法虽然麻烦,但在任何浏览器中均可浏览,兼容性最好. 方法二: ...

  9. python设置中文字体的三种方法

    方法一 windows和linux设置字体的方法 import matplotlib font = {'family' : 'Microsoft YaHei','weight' : 'bold','s ...

最新文章

  1. HG522-C 刷Openwrt记录
  2. 字符转换指令tr,col,expand
  3. Excel导入SQL SERVER,数字和字符会被系统自动置为NULL的解决方法
  4. 挂代理无法访问网页了怎么办_搜索引擎蜘蛛不能爬取网页的原因有哪些
  5. 空调水系统的节能方式与水泵调节
  6. python3对urllib和urllib2进行了重构
  7. php获取图像尺寸大小的方法,Javascript从php生成的图像中获取图像大小
  8. 微服务架构之「 下一代微服务 Service Mesh 」
  9. su联合推拉插件_[实习小记一一SU建模]
  10. ShareREC SDK(iOS) 专用快速集成组件
  11. Pytorch专题实战——线性回归(Linear Regression)
  12. matlabeig函数根据什么原理_vue3.0 源码解析二 :响应式原理(下)
  13. PTA-基础编程题目集-7-2 然后是几点
  14. 【ICLR2020】会议的16篇最佳深度学习论文
  15. 跑毒的乌龟-0 : 随机漫步
  16. HeadFirstJava 12 图形用户接口
  17. 智能门锁主流品牌有哪些?选购门锁时要注重产品的哪些特性?
  18. 树莓派pytorch实现图像识别
  19. Prisma note
  20. 百度图片保存显示服务器错误,百度UEditor编辑器本地上传正常在服务器中上传图片失败的解决办法...

热门文章

  1. 图像形成(5)球面透视投影和近似相机模型
  2. 变频器维修-丹佛斯变频器常见报警故障代码排除
  3. 计算机网络原理学习资源——相关书籍推荐
  4. 做相关性分析时,如何排除奇异值Outliers,以增加相关分析的准确性
  5. 学java去中公还是黑马_公务员考试复习:巧做一匹大黑马
  6. 【Unity开发总结】C# 闭包陷阱
  7. 计算机网络拓扑结构子网,计算机网络拓扑主要是指通信子网的拓扑结构?
  8. Base 64 编码
  9. 18位身份证号码最后一位校验
  10. IntelliJ IDEA 小技巧之Bookmark(书签)的使用