Unity的UGUI中使用CustomFont(BMFont)

本文介绍了如何在Unity的UGUI中使用BMFont来实现艺术字体的渲染。内容包括BMFont的基础使用,如通过命令行工具生成fnt字体文件,以及在Unity中利用CustomFont资源结合fnt文件创建特殊字体的方法。通过脚本解析fnt文件并生成CharactorInfo,实现了BMFont在Unity的UGUI中的应用。

        Unity的UGUI的文字渲染效率应该是挺高的,一般来说用默认的Text控件,TTF的Font就满足需求了。不过有时候需要渲染艺术字体的时候还是需要用到BMFont。

一、BMFont的基础使用,创建fnt字体的步骤就不多说了。这里额外提一下就是BMFont是支持命令行的。这里贴一下我使用的脚本,更新字体比较方便。 

        bmfc文件是BMFont的配置文件,使用BMFont的GUI程序设置并保存好对应的字体配置(配置里面包含纹理大小、特殊字符对图片的映射关系等等)

        txt文件是一个纯文本,包含所需要生成字体的所有文字

# -*- coding: utf-8 -*-
import os,sys,shutil,subprocess,glob

global SOURCE_PATH
global TARGET_PATH

SOURCE_PATH = 'font/'
TARGET_PATH = '../Assets/Font'
COMMON_TEXT = "text.txt"
CMD = 'support/BMFont/bmfont.exe'

def genFont(configPath, txtPath):
    fntPath = configPath.replace('.bmfc', '.fnt');
    pngPathOld = configPath.replace('.bmfc', '_0.png');
    pngPathNew = configPath.replace('.bmfc', '.png');

    subprocess.call('"{0}" -c {1} -o {2} -t {3}'.format(CMD, configPath, fntPath, txtPath))
    if os.path.exists(pngPathNew):
        os.remove(pngPathNew);
    os.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值