[游戏开发][Unity]TextMeshPro切换中日文字体

文章介绍了如何在Unity中使用TMP_FontAsset加载不同语言的字体,包括使用Jap或ChineseAsset,以及如何通过序列化和将FontAsset放入AssetBundle来减小包大小,确保字体资源在打包时被正确处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class LoadTTF : MonoBehaviour
{
    public bool useJap;
    public TextMeshProUGUI UI_Text;
    public TMP_FontAsset chineseAsset;
    public TMP_FontAsset japAsset;
    // Start is called before the first frame update
    void Start()
    {
        if (useJap)
        {
            UI_Text.font = japAsset;
            UI_Text.text = "ござじずぜぞだぢづでどぱぴぷぺぽばびぶべぼらりるれろやゆよわァィゥヴェォカヵキクケコサシスセソタチツッテト";
        }
        else
        {
            UI_Text.font = chineseAsset;
            UI_Text.text = "这是中文啊";
        }

    }
}

TMP_FontAsset

 下图是github官方demo制作的7种语言字体,

就是Unity序列化的Asset文件,这个文件可以在编辑器中加载,也可以打包到assetbundle中加载

 打AB包的时候记得要把字体文件放在公共资源位置

下图是我没有放公共位置的大小,引用字体的预设都把字体打包进去了

用工具可以查看包里为何这么大

 把Font的Asset放到出包清单里

再次打包,所有UI预设都变小了。

随便拉一个AB包进来看看,发现没有字体相关的东西了。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Little丶Seven

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值