ue4怎么在文本渲染器里导入中文字体

ue4怎么在文本渲染器里导入中文字体,第1张

你好~

我也遇到这个问题了,在官方论坛里搜到的结果貌似是有些问题

我找到的只有比较不靠谱的一种方式,如下:

建立字体文件,选择offline

导入中文的字体,如微软雅黑

unicode选择0x4e00-0x9fa5,这个是中文的编码范围

texture width和height尽量选大的

然后加载一下,建立material,里面右键创建fontParameter,vertex color,lerp

点fontParameter,选择你建的字体

然后这里有点问题,后面再说

连上这几个,如图

应用,保存就可以在textRender里面选这个材质和字体了

问题:

中文字库非常大,texture page一定不止一页,在材质界面里需要对fontParameter选择page号,导致只能用一页的中文,我还没找到办法解决它

希望我的回答对你有帮助

如果你找到了问题的解决方法,可以告诉我么~

FName 通过一个轻型系统使用字符串。在此系统中,特定字符串即使会被重复使用,在数据表中也只存储一次。FNames 不区分大小写。它们为不可变,无法被 *** 作。FNames 的存储系统和静态特性决定了通过键进行 FNames 的查找和访问速度较快。FName 子系统的另一个功能是使用散列表为 FName 转换提供快速字符串。执行这些转换时,需注意它们可能包含对创建中的 FName 类型无效的字符。 NameTypes.h 文件中的 INVALID_NAME_CHARACTERS 宏定义 FNames 中无效的字符; FName 中的数个函数(如 IsValidObjectName())将对 FNames 在特定使用情况下的有效性进行检查。

FText 代表一个显示字符串。为用户显示的文本都需要由 FText 进行处理。FText 类拥有本地化的内置支持,可处理已本地化并存储在查找表中的文本内容,以及在运行时被本地化的文本,如数字、日期、时间和格式化文本。甚至可用 FText 处理无需进行本地化的文本。包括用户输入内容,如玩家名和 Slate 显示的文本。FText 不提供任何变异函数,因为对显示字符串进行修改是非常不安全的 *** 作。

整体而言,Slate弃用了FString的公开钩,转而支持FText。因为FText可在其接口后处理所有本地化问题,Slate未来支持诸如实时语言勾选之类的功能。使用FString将无法实现。使用FText还可增强文本渲染的性能。 使用FText时,字符串被假定为不可变,因此字符串的内存地址可用作快速缓存查找的键。与检查字符串更新或对其重新测量进行显示相比较,这种方法的开销较小。最后,在Slate中使用FText以为这本地化支持将与UI系统自然整合,形成本地化最佳方案的坚实框架。

拓展资料:

因为FText的本地化应用,每个FText必须以键和文本进行设置。使用LOCTEXT和NSLOCTEXT宏可对FText进行正确设置。LOCTEXT将键和文本视为参数。所有参数必须为字符串文字。所有文字量将通过本地系统进行传递。

必须首先将全局 LOCTEXT_NAMESPACE 宏设为字符串文字,以指定该本地化键的命名空间。

右键蓝图。

右键蓝图输入createwid(创建控件)然后两个引脚都拉入addtoviewport,这里调用事件调配器的时候用Bind,具体就不多解释了,说下意思:就是当上面这个事件调配器响应时(这里添加一个自定义事件也是方便驱动UI里面要实现的功能)UI就会被驱动,然后来实现功能。

函数绑定和属性绑定是Tick更新的,也就是说每帧都在调用数据就行更新,他们俩个原理是一样的,最优化的方式是事件绑定,函数绑定:百分比血量来举例拖入ProgressBar,在Progress里新建绑定函数,为了优化考虑,先将获得玩家角色做成一个函数,方便调用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/bake/11796871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存