一、效果图
二、步骤
- 将美术做好的字体分块导入BMFont,使用BMFont工具生成艺术字库;
- 将上面的数据导入unity资源目录下:*.fnt文件中记录每个文字的状态信息;
- 导入*.png图片并设置:勾选AlphaFromGrayscal;
- 右键创建材质球,材质球的Shader指定为GUI/Text Shader,并将Font Texture 换成上面的*.png贴图;
- 右键创建Custom Font,指定其Default Material为刚刚创建的材质;
- 关于常用的Custom Font参数介绍:
- 关于Uv(x,y)的计算以这张图片为例:
图片大小512 x 32 ,而导入时的每个字符图片大小为29 x 27
- 设置好每个字符的参数后,就可以创建Text测试了,将Font替换成刚刚完成的字体文件,就可以开始使用啦!
三、优缺点分析
优点:将美工给的图片做成Custom Font 后,在做UI界面时再也不需要每个字贴一张图片。这时候,只需要做成Text,直接输入需要的文字即可;
缺点:Custom Font 不能改变字体大小、加粗、倾斜等常用字体功能。
四、部分常见问题解决办法
- 字体重叠,不能自动换行问题:
调整第6步参数中的行间距Line Spacing ,至少等于字符高度。例如,原字符为29 x 27 ,那么行间距至少要设置为字符高度27,或者大于27都可; - 字体旋转,不正常显示问题:
取消勾选第6步参数中每个字符的Flipped。勾选Flipped会使字符逆时针旋转90度;