Unity支持自定义图片字体,网上有很多教程,细节不尽相同,当概括起来基本就是两种方式。一是使用BMFont,导出图集和.fnt文件,再使用图集在Unity中设置得到字体。二是不用BMFont,使用Unity自带的Sprite类似图集的功能。基本原理都是先有一张贴图,比如:需要知道的信息是贴图中每一个字符对应的ASCII码与该字符在图集中对应的位置。然后在Unity中创建材质和CustomFont并根据信息进行设置。两种方式的区别仅在于第一步中如何得到图集的信息。得到图集个fnt文件后,网上一般的方法是手动计算在Unity中的参数,有些繁琐,在这里写一个Editor脚本来自动完成这个过程。需要手动做的工作是将图集的TextureType设置为Sprite,然后把SpriteMode设为Multiple,打开SpriteEditor,对图片进行切割。一张图按照字符的位置分割成了10个Sprite。

Unity制作自定义字体的两种方法

Unity制作自定义字体的两种方法

Unity制作自定义字体的两种方法

Unity制作自定义字体的两种方法

Unity制作自定义字体的两种方法

Unity制作自定义字体的两种方法

Unity制作自定义字体的两种方法

Unity制作自定义字体的两种方法

Unity制作自定义字体的两种方法

Unity制作自定义字体的两种方法

Unity制作自定义字体的两种方法