Unity学习笔记 关于TextMeshPro(TMP) 字体大小FontSize单位说明

前言

一般表示字体大小使用的单位分两种方式表示: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)

猜你喜欢

转载自blog.csdn.net/weixin_42358083/article/details/127088427