老规矩,先介绍一下 Unity 的科普小知识:
在使用Unity过程中经常会用到字体部分,而Unity默认使用的字体是Arial
,这个字体在使用的时候,经常会出现不显示中文字体的情况,尤其是在WebGL中。
所以为了方便,我们可以直接修改Unity UI控件中默认字体配置,方便我们统一管理字体。
具体操作方法如下:
1.下载一个可以正常显示的字体。
可以在网上自行搜索一个免费可商用字体下载,也可以在自己电脑的C:\Windows\Fonts
目录下找到一个字体(比如 黑体),然后将该字体复制到我们的项目中,如路径:Assets/Resourses/Fonts
2.找到Unity的编辑器路径
如 C:\Users\APPs\UnityHubEditor\2020.3.33f1c2\Editor\Data\Resources\PackageManager\BuiltInPackages\com.unity.ugui\Runtime\UI\Core\Text.cs
此路径为Unity的安装路径,也可以在UnityHub中点击紫资源管理器中显示查看路径,找到 Text.cs 文件并打开。
3.在Text.cs中找到AssignDefaultFont()方法
大概在580行左右,也可全局搜索。将下面一行代码进行修改
font = Resources.GetBuiltinResource<Font>("Arial.ttf");
改为
font=Resources.Load<Font>("Fonts/simhei.ttf");//simhei.ttf 为字体文件名,此处为黑体名称,根据实际字体进行修改即可
if(!font)
{
font = Resources.GetBuiltinResource<Font>("Arial.ttf");
}
4.确保我们的项目中 Assets/Resourses/Fonts 下有同名字体文件
这样在新建UI 控件的时候默认的字体就变成了我们设置的字体。
5.如果此时在项目中新建UI控件还是默认字体,还可以选择直接在项目的Packag中进行同样的修改即可。
或者重新创建一个项目即可同步修改。