[小科普]游戏中的口口口是什么?要怎么修复?

今天翻译一篇我们人美心善、天下第一好老板Miya在Neon noroshi官网写的文章

修复TextMeshPro中的日文、中文和韩文文本显示问题

3月11日

作者:Tomoko Miya

点击此处查看原文(英文)

大家有没有遇到过这种情况:

兴奋地打开一款自己喜欢的游戏,结果游玩时发现——游戏里的文字怎么夹杂着一大堆的□□□符号呢?!

而且这种问题似乎在日文和中文里比较多见?

这是在使用Unity的TextMeshPro(TMP)时,你可能会遇到日文和中文显示异常的问题。

这些语言包含庞大的字符集,而TMP要求字体图集中包含所有需要渲染的字符。

如果文本显示不正确,很可能是因为生成字体时未包含必要的字符。

 

问题根源

TMP使用基于图集的字体渲染系统,这意味着只有图集中包含的字符才能正常显示。

尽管TMP提供了预设的字符集,但许多亚洲字符(尤其是日文和中文)通常未被包含在内。

因此,当尝试显示这些语言的文本时,可能会出现空白或缺失符号,也就是大家看到的□□□□。

 

我们要如何解决呢?

为了解决这个问题,我们需要手动识别所有必要的日文和中文字符,并确保它们被添加到字体图集中。具体步骤如下:

  1. 收集所需字符 —— 整理项目中所有用到的字符,形成完整集合。

  2. 手动添加到TMP字体资源 —— 不依赖TMP默认字符集,而是在字体设置中手动指定字符。

  3. 重新生成字体图集 —— 包含所有必要字符后,图集即可支持完整渲染。

如果你遇到相同问题,建议采取类似方法。当然,你也可以利用现有文档或资源中的字符集合来加速流程。

点击此处复制粘贴所需字符(日/中/韩)。

 

总结

确保TMP字体资源包含所有必要字符,是解决日文和中文显示问题的关键。

虽然TMP默认不支持所有字符,但通过手动调整,可以突破限制并实现流畅的文本渲染。

如需参考,我们在官网上保留了一份完整字符集文档——欢迎随时在官网上获取!

 

今日小知识

有趣的是,日语片假名“ロ”(发音“Lo/Ro”)的形状与□相似。

同样,日语和中文的“口”(意为“嘴巴”)也形似□,但这并非错误符号。是不是有点容易混淆呢?

更多游戏资讯请关注:电玩帮游戏资讯专区

电玩帮图文攻略 www.vgover.com