如何用Unity制作自定义字体——Custom Font

时间:2023-03-09 03:53:18
如何用Unity制作自定义字体——Custom Font

一、效果图

如何用Unity制作自定义字体——Custom Font

二、步骤

  1. 将美术做好的字体分块导入BMFont,使用BMFont工具生成艺术字库;
    如何用Unity制作自定义字体——Custom Font
  2. 将上面的数据导入unity资源目录下:*.fnt文件中记录每个文字的状态信息;
  3. 导入*.png图片并设置:勾选AlphaFromGrayscal;
  4. 右键创建材质球,材质球的Shader指定为GUI/Text Shader,并将Font Texture 换成上面的*.png贴图;
  5. 右键创建Custom Font,指定其Default Material为刚刚创建的材质;
  6. 关于常用的Custom Font参数介绍:
    如何用Unity制作自定义字体——Custom Font
  7. 关于Uv(x,y)的计算以这张图片为例:
    图片大小512 x 32 ,而导入时的每个字符图片大小为29 x 27
    如何用Unity制作自定义字体——Custom Font
  8. 设置好每个字符的参数后,就可以创建Text测试了,将Font替换成刚刚完成的字体文件,就可以开始使用啦!

三、优缺点分析

优点:将美工给的图片做成Custom Font 后,在做UI界面时再也不需要每个字贴一张图片。这时候,只需要做成Text,直接输入需要的文字即可;

缺点:Custom Font 不能改变字体大小、加粗、倾斜等常用字体功能。

四、部分常见问题解决办法

    1. 字体重叠,不能自动换行问题:
      调整第6步参数中的行间距Line Spacing ,至少等于字符高度。例如,原字符为29 x 27 ,那么行间距至少要设置为字符高度27,或者大于27都可;
    2. 字体旋转,不正常显示问题:
      取消勾选第6步参数中每个字符的Flipped。勾选Flipped会使字符逆时针旋转90度;