【解决】The character used for Underline and Strikethrough is not available in font asset...

开发平台:Unity
编程平台:Visual Studio 2020以上
使用语言:C#

问题描述


在这里插入图片描述

原译 The character used for Underline and Strikethrough is not available in font asset
现译 用于 下划线 和 删除线 的字符在该字体资源中不可用

备注:这是一个 Warning 类型的警报消息。多数情况下并不会对项目整体有太多影响。

问题分析


  该问题来源于 Unity 2020 以来推出的 TMPMesh Pro 文本解决方案。该解决方案替代了旧版 Text 文本,相较于旧版文本,拥有更高的灵活性、更佳的视觉效果。在文字的性能上较于原文本性能上得到提升。但事实上,Unity TMPMesh Pro 原生提供的 TMP Font 并不支持中文。需要使用额外的 Font 创建 TMP Font Asset 以使用。
  警告信息 The character used for Underline and Strikethrough is not available in font asset 是工具包设置中提供的警报信息,以期望极端情况下,提醒开发者场景内存在部分 Text(TMP) 组件使用的 TMP Font Asset 缺少该类型的字符补充。比如 丢失针对 下划线、删除线 的字符支持。

解决方案


1)非重要情况下 —— 关闭警报错误提醒

  默认情况下,使用 TMPMesh Pro,Unity 会为资产库新建名为 TMPMesh Pro 的文字配置文件夹。在路径下 TextMeshPro -> Resources -> TMP SettingDynamic Font System Setting 中选择 Disable warnings 即可。
在这里插入图片描述
PS:毕竟一直警报影响我查看分析其他 LogWarning。嘎嘎。

2)替换为符合的 Font Asset 资产

  前往字体网页下载创建 或 前往 GitHub 搜索开源支持的字体。(很遗憾,作者也没有绝对支持的 Font Asset)

猜你喜欢

转载自blog.csdn.net/qq_51026638/article/details/126202279