UE4文本渲染器Text Render技巧与支持中文
少废话,直接上手 让我们走起
制作流程
创建字体资产
- 在目录中新建Font
- 修改字体资产设置
- 选择天下第一的思源字体(或者你喜欢的)
字号根据字体,选择生成以后能看清的最小 大小
字号太小会模糊,太大占资源
- 勾选AlphaOnly 然后在Chars②填入你的字库
字库,就是指可以显示的字,只有在②填入的字可以显示,否则显示为口口
例如,想要显示“及你太美”,则②中应包含“及你太美”
“制作字库”因本质上不涉及UE,因此 “制作字库”段落放在教程末尾,注意查看
之后想更新字库,只需在②填入新内容,并③重新导入
更新编辑:
从2018年后的某个UE4版本开始,情况有变
(如果你看到这行字,基本就需要这么做)补充以下几个步骤:
1.勾选抗锯齿
2.使用距离场透明度
点击重新导入后看不到?
随便找个选项,比如启用粗体,勾上再取消勾
似乎这样刷新一下才能看到字体(bug?)
创建材质资产
设置材质
为演示目的创建两种常用的,分别是蒙版和透明两种,稍后解释两种的不同
- M_Font_M (蒙版材质)
- M_Font_T (透明材质)
在材质这一步中,有很强的自定义性,可以尽情发挥
例如赋予贴图,或动画效果,甚至顶点动画
M_Font_M
M_Font_T
更新编辑:
如果字体使用了距离场,在上图的FontParam中你会看到的字体是有梯度渐变的(不像图中这种锐利边缘)
应在FontParam后面使用Clamp牵制范围,例如牵制到 Max1 Min0.9 (通过改变Min,可以控制字体粗细)
两种材质的演示
上为 M_Font_M
下为 M_Font_T
两个TextRender组件均摆放在圆柱体后方)
M_Font_M 没有透明排序等问题
M_Font_T 可无视遮挡,并可修改透明度
设置TextRender组件
制作字库
字库 就是你可以在组件中显示出的字
- 基本原理是引擎会把字库中的字,从字体文件中找出来,排在一起渲染成一张贴图
贴士:
- 字库中不要忘了也需要包含英文 大小写 (ABC abc),阿拉伯数字(0123)和常用符号( 全角半角,还有别忘了空格也是符号)
- 字库字数控制的越小越好
制作字库的方式通常有两种
- 无脑填入常用字
- 也可以根据游戏文本中将会出现的字,定制字库
常用字字库
5000个常用汉字
↑失效啦,自己去搜常用汉字吧!
定制字库
- 收集项目中所有将会出现的文本,复制粘贴在记事本中
- 使用Excle,并用下面的方法对文本去重(因为同一个字在字库只存在一个)
文字去重不涉及UE,因此单写了个教程:.
使用 Excle 将文本去重