前言
一般表示字体大小使用的单位分两种方式表示:pt(磅)和px(像素)。
pt:是指一个印刷单位“磅”,大小为 1/72 英寸,是一个自然界标准的长度单位,也称为“绝对长度”
px:是一个像素点,像素越高,分辨率越高。所以,“点”的大小是会“变”的,也称为“相对长度”
为了开发与设计的“愉快合作”,两边要达成统一的单位来定义字体大小
TMP中FontSize的单位
以pt(磅)为单位!
Font Size: The point size of the characters.
下图为编辑器中截图:
下图为官方文档截图:
设计以px为单位完成了,如何做到Unity中与设计的字体大小一致
前提——使用同一套字体
如果说,设计这边已经做好了的前提下,Unity这边如何实现字体大小一致,也就是设计稿里的36号大小的字在Unity设置成36的FontSize看起来一样大。
下面简单介绍两个方法,自行采纳。
(1)懒人法:直接修改TMP字体的Scale
- 首先让设计将一串文字输出一张图,导入Unity中并用Image以相同分辨率的大小显示出这串文字。
- 在同一画布下,在其旁边新建一个TMP的Text,输入同样文字,并将其设置成与设计中一致的大小
- 点击使用的TMP的Font Asset,在其Face Info中设置Scale数值,调整至当字体与图片的字体一样大即可。
- 最终效果如下,大小基本一致,不过可能字与字的间隙会存在细微差距
(2)精准法:pt与px进行数值转换
(我猜应该不会有人用)
将px的值换算成pt的值
换算关系为:pt = px * (3/4)