Unity TMP(TextMesh Pro)的中文输入相关问题
创始人
2024-11-13 06:06:06
0次

开篇废话

我当时为什么要安装这个鬼玩意,之前就没搞明白,今天拿来重新折磨自己……

场景描述

一.什么也没设置,默认打文本,但中文全是口口

总而言之就是这个样子。

口口是老朋友了,反正要么是字体的问题,要么是字符集的问题。打卡开Inspector一看,在TextMeshPro里发现了一句熟悉但拼在一起不认识的英文:字体资源。

点击跳转到相应Resources文件夹,发现其是.Asset文件。猜测默认字体资源没有包含中文,搜索了解到其应该以以下方法创建:

解决方法

1. 打开Window—>TextMeshPro—>Font Asset Creator

初始界面如图

2. 设置Source Font File为字体文件

这里我直接去C:\Windows\Fonts目录随便拿一个,也可以使用网上下载的其它字体。请记得保证该字体包含中文字体。

3. 设置Character Set为Characters from File

而后新建一个文本文件,将其拖到Character File上。烘焙的所有字体将从该文本文件中找到,因此该File文件应是一个包含足够多的常用中文字符的文本文档。如果你没有,这里贴一个下载链接7000中文字符集,感谢大佬@张不无-Unity的分享。

Atalas Resolution为清晰度,简单认为数值越高结果越清晰。Render Mode使用默认的SDFAA即可满足大部分需要。

4.点击Generate Font Atlas即可创建新的字体资源,将其拖入TMP的Font Asset即可使用该字体。

为什么这里没图?因为我遇到了下一个问题

二. 生成字体资源时报错Error Code [Invalid_File_Format]

Font Asset Creator - Error Code [Invalid_File_Format] has occurred trying to load the [Name_Of_Font] font file. This typically results from the use of an incompatible or corrupted font file.

个人理解为文件类型不兼容。虽然我拿过来的的确是个字体文件,它也确实能拖到Source Font File栏里,但它确实不认。

在面板右键字体打开Properties后发现如下字样:

Unity会认.ttf文件,但直接从Windows文件夹拖过来的.TTF文件它却认不了。此外,还发现资源路径不能包含中文,否则即使它认了也有可能认不全,导致字体丢失。

解决方法

更改字体名称和文件类型。下载软件FontCreatoricon-default.png?t=N7T8https://fontcreator.com.cn/download/按如下方法操作,或者可以直接参考修改字体名称原来这么简单

将原字体文件拖进来,而后选择Font-Properties

点击Family Name旁边的+1

点击右上角减号,删去所有中文名称,然后点OK

完成后点击File-Export Font-Export Desktop Font,随便导出到哪个你喜欢的地方,我这里直接扔回了项目的Resources里。

如果现在拖进来的字体有一个小三角图标,证明成功。

此时再重新打开Font Asset Creator,点击Generate Font Atlas即可成功读取并生成。

点击Save即可保存字体资源,以后使用也可以直接使用此.Asset文件,不用再重新生成。

现在再打开你的Text(TMP)组件,将刚刚得到的字体文件拖到Font Asset上

你就(有可能)发现,还不行。

三. 字体烘焙丢失

是的,折磨还没结束。如果你和我一样还在踩坑受折磨,容我安慰你的心灵。

刚刚烘焙完成时,我们发现字体只烘焙了424/1283个。成功率极低压根没烘进去多少暂且不谈了,我的字数也不是一千多啊?我文本文档里七千多字呢!

解决方法

排除字体路径的中文问题及其它文题后,显然问题已经不能出现在字体上了。那就只能是我们七千多字的文本文件出了问题。

在面板单击该文件,查看Inspector,发现:

中文全是乱码。好了,这下还是回到了字符集编码的问题上。

双击该文件,打开VS,选择高级保存选项

——————如果你没有高级保存选项,在VS点击工具-自定义

选择命令栏,添加命令

在类别栏找到文件,命令栏找到高级保存选项

点击确定后关闭窗口即可。

点开发现编码为简体中文(GB2312)

将其改成Unicode,点击确定,保存后重复之前的烘焙操作。

此时再生成,你应该能发现生成速度慢了许多

最好的结果是Missing characters为0,如果还是丢失,那就考虑换个字体,或者缺的不多凑合用吧。

现在将得到的字体资源拖入

就可以显示中文了。

工具链接

正文里有了,只是在这里再总结一次

7000中文字符集 提取码ssnu           再次感谢张不无-Unity大佬

fontcreator

相关内容

热门资讯

实操分享开挂脚本!德扑圈多功能... 实操分享开挂脚本!德扑圈多功能开挂脚本,德扑圈好像存在有开挂脚本1、打开软件启动之后找到中间准星的标...
如何分辨真伪透视器工具!WeP... 如何分辨真伪透视器工具!WePoKer多功能透视器工具,WePoKer切实是真的有透视器工具1、下载...
一分钟揭秘作弊器脚本!红龙po... 一分钟揭秘作弊器脚本!红龙poker多功能作弊器脚本,红龙poker一直真的是有作弊器脚本1、实时红...
一起来讨论作弊器脚本!德扑之星... 一起来讨论作弊器脚本!德扑之星多功能作弊器脚本,德扑之星本来有作弊器脚本德扑之星破解侠是真的助透视。...
免费测试版外挂软件!WPK多功... 免费测试版外挂软件!WPK多功能外挂软件,WPK好像有外挂软件1、金币登录送、破产送、升级送、活动送...
分享开挂内幕作弊器插件!德普之... 分享开挂内幕作弊器插件!德普之星多功能作弊器插件,德普之星一直真的是有作弊器插件1、德普之星公共底牌...
总算了解开挂教程!德扑之星多功... 总算了解开挂教程!德扑之星多功能开挂教程,德扑之星确实存在有开挂教程1、超多福利:超高返利,海量正版...
实测揭晓辅助技巧!智星德州扑克... 实测揭晓辅助技巧!智星德州扑克多功能辅助技巧,智星德州扑克本来真的有辅助技巧1、智星德州扑克模拟器是...
玩家必看科普辅助教程!wpk多... 玩家必看科普辅助教程!wpk多功能辅助教程,wpk都是是真的有辅助教程1、操作简单,无需wpk手机版...
玩家必看科普透视挂app!AA... 玩家必看科普透视挂app!AAPoKer多功能透视挂app,AAPoKer一贯真的是有透视挂appA...