前言
早几年学习UE的时候发现TextRender渲染中文的时候会出现□的情况,一直都去解决。最近又遇到这个需求了,最终在官方论坛上找到了解决方案,现在分享给大家。
步骤
- 导入一个字体生成Font资产或者新建一个Font资产,接下来对Font资产进行设置。
- 将FontCacheType 设置成Offline。
- 下面设置ImportOptions,设置FontName为想要的字体名称。
- 设置UnicodeRange为4E00-9FFF 。
- 勾选Use Distance Field Alpha选项。
- 在Font资产编辑器汇总点击Asset-Reimport Font_XXXX,来重新导入字体资产,之后会卡比较长的时间。
- 复制默认字体材质球EngineContent-EngineMaterials->DefaultTextMaterialOpaque,或者新建一个字体材质球作为TextRender的材质,并且修改材质里的Font资产。
- 在对应的TextRender中修改材质与Font资产即可显示中文。
但是可以看得出一些中文符号是没办法正常显示的,原因是4E00-9FFF只包含了文字,没有包含中文符号。所以要么是使用英文符号来代替,要么就是提高Unicode-Range的范围。