Unity - 解决TMP FontAssetCreator 在生成 SDF 时 Font 显示 ????? 的问题

文章讲述了在Unity中遇到字体识别问题,特别是非ASCII字符无法显示的情况。通过使用FontCreator工具打开字体文件,修改FontProperties中的FontName属性,去除中文并改为英文,然后重新导出字体。在Unity中使用TMPFontAssetCreator重新生成FontAsset,成功解决了问题。
摘要由CSDN通过智能技术生成


原因

美术找到一个字体和某个游戏的字体是一致

然后想让我丢 Unity 项目中试一下效果,结果发现除了 ASCII 字符,其他的字符都识别不了

那么下面就整理问题,和解决方法,便于日后索引 (因为这个问题,我在国内、外 都没搜索到相关解决方法


问题

在这里插入图片描述


解决


下载 FontCreator,并打开有问题的字体

自己的网盘地址 (注意不公开),FontCreator14.0.0.2814.rar,需要的,自行下载

然后是,打开字体
在这里插入图片描述


修改字体属性

其实我怀疑就是中文字体名字的问题,结果还真给我猜测对了方向

参考:修改字体名称原来这么简单

主要是修改 FontProperties 中的属性
在这里插入图片描述

将FontName 里面的所有中文去掉,统统修改为 英文的即可,点击 OK,如下图
在这里插入图片描述


重新导出字体

File/Export Font As…/Export as Desktop Font (ttf/otf)…

在这里插入图片描述

弹出来的对话框中,设置好 Output Folder,注意没得设置导出文件名
会导出 FontName Regular.ttf,比如,上面的我导出就是:ChangChengZhongLi Regular.ttf
在这里插入图片描述

在这里插入图片描述


返回 Unity 后重新使用 TMP Font Asset Creator 来生成

使用我们使用 FontCreator 重新导出的 ttf 设置到 Source Font File 选项中,重新生成,发现都没有问题了

在这里插入图片描述

主要原因就是 : 点击生成时, Font 可以识别到了

在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity里的字典对象不可以在Inspector栏显示,因为字典是一个键值对集合,而Inspector栏只能显示简单的数据类型和Unity的内置对象。如果要在Inspector栏显示字典对象,你可以使用自定义编辑器。 你可以通过编写一个继承自Editor的脚本,然后重写OnInspectorGUI方法来实现自定义编辑器。在OnInspectorGUI方法中,你可以使用GUILayout和EditorGUILayout类的方法来创建自定义的Inspector界面,包括显示字典对象。 具体示例如下: ```csharp using UnityEngine; using UnityEditor; using System.Collections.Generic; [CustomEditor(typeof(MyScript))] public class MyScriptEditor : Editor { private Dictionary<string, int> myDict = new Dictionary<string, int>(); public override void OnInspectorGUI() { base.OnInspectorGUI(); MyScript myScript = (MyScript)target; // 显示字典对象 GUILayout.Label("My Dictionary:"); foreach (KeyValuePair<string, int> kvp in myScript.myDict) { GUILayout.Label(kvp.Key + ": " + kvp.Value); } } } ``` 在上面的示例中,我们创建了一个自定义编辑器MyScriptEditor,并重写了OnInspectorGUI方法。在OnInspectorGUI方法中,我们使用GUILayout.Label方法显示了字典对象的内容。注意,我们需要将target转换为MyScript类型来访问MyScript类中的字典对象。 最后,在MyScript类上添加[CustomEditor(typeof(MyScript))]特性来告诉Unity使用我们自定义的编辑器来显示MyScript类的Inspector界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值