【U3D】TextMeshPro以动态(Dynamic)生成汉字

TextMeshPro是u3d新开发的字体渲染插件,用来取代过去功能简陋的Text和Text Mesh组件。

TMP默认只能显示英文和部分符号,显示汉字则要先渲染。通常都要有一份常用字表(也可以是文字的编码范围),并把字表的字渲染成一张图片(Font Asset)。这样没渲染的字是不正常能显示的,如果要显示字表外的字符则要重新渲染,或者添加一个后备的Font Asset。

其实只需简单的基本操作就可以动态显示,TMP也可以像UGUI中的Text那样丢个字体文件就能使用。

导入资源

导入TextMeshPro资源包,资源包可以在资源商店寻找,Unity2018版本也可以从Window-Package Manager中导入。
在网上下载一份字体文件(.ttf或.otf等格式),也可以在C:\Windows\Fonts复制一份。

创建动态的字体资源

对字体文件按右键,Create - TextMeshPro - Font Asset,这样创建出来默认就是动态。接着场景中新建一个TextMeshPro的TextMeshPro组件中Font Asset项替换为我们创建的资源就可以使用了。

设置为默认的Font Asset

第二步完成后,我们使用TMP时每次都要替换资源岂不是很麻烦。不如我们把它设置为默认资源。首先我们找到TextMeshPro的设置文件,默认就在(你的项目)/Assets/TextMesh Pro/Resources中一个叫TMP Settings的文件。修改TMP Settings中的Default Font Asset即可。
【U3D】TextMeshPro以动态(Dynamic)生成汉字_第1张图片
官方文档:http://digitalnativestudios.com/textmeshpro/docs/

你可能感兴趣的:(U3D,TextMeshPro)