从Unity 2018.3(TextMeshPro1.4)起,添加了Font Fallback和Dynamic SDF System以实现灵活的SDF使用。
有了这个新功能后,我们可以实现以下用法:
- 预先为中文字中经常使用的字符生成普通SDF
- 根据需要追加取得使用频率低的文字、图画文字、角色名等(Font Fallback)
- 为用户输入的特殊字符动态生成SDF(Dynamic SDF System)
使用TextMesh Pro动态获取和使用字体
即使使用基于SDF的缩放,但是存在一个问题,即需要预先烘焙文本。这在使用英语的国家我认为不是一个问题,但如果是用在文化领域中的字符数较多的国家,如日本和中国和韩国等,就是一个比较大的问题。
例如,如果要显示大量的字符,由于纹理的大小,我必须使用粗字体,并且如果减少预先烘培字符的数量,则无法显示所有字符。主要原因是之前的版本中可以用于字体的纹理只有一种。
作为针对此问题的措施,TextMeshPro添加了可以通过将字体分配到多个资产来管理字体的Font Fallback,以及可以动态获取字体并将其用作SDF的Dynamic SDF System。
字体后备
简单地说,Font Fallback是一种就是从另一个FontAsset中获取不包含在当前FontAsset中的字符的系统。
例如,当我尝试使用FontAsset显示汉字时,该汉字只能显示如下的“空白或一个正方形□”。如果您使用字体后备,则只要在 数字与符号.fontAsset 中添加