今天为了把一个文本框导入Unity相机中,研究了半天,总结一条可行的路。
也可以这里,我说一下总结的:
1.C:\Windows\Fonts目录下找一个字体,例如msyhbd.ttc,导入Unity资源区;
2.打开unity中菜单栏下的Window-->TextMeshPro-->Font Asset Creator;
3.将Scenes下的字体MSYH拖曳到Source Font File中,Atlas Resolution代表清晰度,此项选择越大越好,将新建的一个“字体.txt”导入(“字体.txt”中存放需要用到的中文,Unity根据此文件的内容在msyhbd.ttc查找,然后生成字体),并拖曳到Characters File;
4.点击Generate Font Atlas生成后如下图,证明字体生成成功,Save保存即可。
5.生成的文件拖到需要使用的TextMeshPro-Text 的Font Asset。
二、然后是相机设置
1.SampleSence处右键->UI->TextMeshPro-Text。此时会新建一个Canvas的对象,TextMeshPro-Text 在子目录。
2.Canvas右键Render Mode选择Screen Space - Overlay(屏幕空间-覆盖),这样不会被其他物体遮挡。
3.点图中几个正方形框,设置为左上对齐(因为默认中心对齐,切换屏幕长宽比例或分辨率可能文本不可见),放哪里就设置在哪对齐。
最后效果如下图: