Unity TextMeshPro的字体消失的问题

第一次遇见以为是个bug,既然我纠结了一段时间,那么我相信还会有其他人会碰到。


首先这里默认你已经创建好了一个字体。

如图,左边是创建好的字体。右边是原字体。

如果不知道怎么创建的话,快速创建步骤,右键原字体-> Create->TextMeshPro->FontAsste。

一般来讲这是第一次使用TextMeshPro导入中文字体使用的正常步骤。

————————————————————————————

选中你的字体看一下它的设置,注意这个地方,动态

这也是默认的字体设置,如果不明白这个动态是什么意思的话,展开那个箭头。

 这个黑色的贴图是把你字体第一次挂在Text上生成的,它是一个画布,下一步你就知道这有什么用了。

 这个时候,在Text上输入了第一个汉字,回头再看下上边的贴图。

你会发现你打的字被印上去了。

关键点就出现了。

这种动态字体在你输入没记录过的字体时,会把它印在这个图上。

那么问题来了,不妨设想一下,这个图满了会怎么样,就像这样 。

 没错,字体不会出现了,因为已经放满了,然后你打的字只要在这个画布上没有,那么就不会显示出来。

就会出现这种bug。

 左边缺少的字就是因为那是画布上不存在的字,却有没有地方把它印上去了,于是就GG了。

那么如何解决呢。


1,创建静态字体。

动态字体是使用时创建,静态字体是一开始就创建好,用的时候直接拿就行了。

Window->TextMeshPro->FontAssteCreator打开这个面板。

这两个地方决定了你的画布能放多少字,可以权衡一下。

这样生成的画布是64M,虽然字很多但...自己斟酌吧。

生成字体,保存字体,然后用起来就行了。

2,扩大画布

如果不这样做,还可以直接在你已经到上限的字体上直接更改设置。

3,勾选多图集纹理


其实当你知道事情是怎么发生的时候就已经知道怎么解决了,一开始我就很迷,不知道问题如何产生的,以为无脑用就行了。

造孽。

  • 15
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: Unity TextMeshProUnity 引擎内置的一款支持富文本和多语言的文本解决方案。文本的美观度对于游戏和应用程序来说非常重要,因为它是用户界面设计和游戏体验的关键组成部分之一。 在使用 TextMeshPro 的过程中,如果某些字体无法加载或者用户设备上没有安装,需要使用备用字体来替代。备用字体可以在 TextMeshPro 资源中进行设置。Unity TextMeshPro 支持使用多个备用字体,这样在加载文字时,如果默认字体无法加载,将会自动使用备用字体填充。 在添加备用字体时,建议使用兼容性较强的字体,如 Arial、Times New Roman 等。同时,用户设备上是否安装了这些字体也需要考虑到,如果不确定用户设备是否安装了备用字体,可以使用 Unity 内置字体或者使用自定义资源包。 总之,备用字体Unity TextMeshPro 重要的一个功能,可以保证文字在不同设备上的展现效果。希望开发者们在使用 TextMeshPro 时,注意备用字体的设置,确保用户获得最佳的游戏体验。 ### 回答2: Unity TextMeshPro是一种游戏引擎中常用的文字处理工具,可以用来处理各种文字效果和排版。在使用TextMeshPro时,有时可能会遇到某些字体无法加载的情况,这时我们需要指定备用字体。 备用字体指的是当主字体无法加载时,备用的字体将会被使用,以确保游戏中的文字显示正常。在TextMeshPro中,我们可以通过将备用字体的名称添加到主字体的列表中来实现备用字体的指定。具体操作可以按照以下步骤进行: 1. 确认备用字体的名称和格式为Unity所支持的格式(例如.ttf或.otf等)。 2. 在Unity中导入备用字体。 3. 在TextMeshPro组件中找到Font Asset属性,并点击该属性右侧的“…”按钮打开字体配置。 4. 在字体配置页面的“Fallback Font Asset Table”中,添加备用字体的名称。 5. 将主字体和备用字体的优先级按照需要进行调整。 除了上述方法外,我们还可以使用C#脚本来实现备用字体的添加和指定。在代码中,我们可以通过访问TextMeshPro组件的相关属性来进行操作。具体方法可以按照Unity官方文档中的示例进行学习和使用。 总的来说,在使用TextMeshPro时,备用字体的指定是一种简单却有效的应对手段,可以提高游戏的稳定性和可靠性,让玩家在游戏中获得更好的体验。 ### 回答3: UnityTextMesh Pro工具可以设置备用字体,这是为了在主字体无法使用的情况下,保证文字仍可以正常显示。在TextMesh Pro字体属性中,可以创建字体集,这个字体集包含了多个字体,并且可以设置字体优先级。当主字体不可用时,TextMesh Pro会按照字体优先级选择备用字体进行显示。 设置备用字体需要注意以下几点: 1. 字体集的创建:在字体供应商官网下载多个需要的字体,然后在Unity中创建Font Asset时,把多个字体拖到新建的字体集中。 2. 字体的优先级:在字体集中,优先级数字越小的字体,会被优先选用。 3. 字体的制定:在TextMesh ProText属性中,选择自己需要的字体,并设置备用字体。 备用字体的设置将保证当主字体由于意外原因无法使用时,字体仍然可以正常显示,避免了因为字体原因导致的UI显示问题。但是需要注意的是,备用字体的设置并不是万无一失的,因此在制作UI时,还需要保证在各种情况下的UI显示效果。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值