实际上fontSize在Unity中意味着什么?

Ted*_*nus 0 android unity-game-engine ios

我正在开发Unity Android/iOS应用程序.我需要显示大小相对于屏幕大小和密度的文本.材料设计指南说我应该将常规文本的大小设置为14sp.我该如何提供?

实际上fontSize在Text组件中的含义是什么?这个数字取决于什么吗?Unity文档描述fontSize对此没有任何说明.

谢谢你的回复.

Dra*_*18s 6

所以...字体大小基本上是在Unity的三个地方"定义".

第一个是字体资产本身(导入设置).至于我最近能够确定的(后Unity 4.5),这个值没有被使用(我把它调整为疯狂的值并且对屏幕上显示的内容没有影响;我在Unity 3.5中知道这个影响了字体的最终渲染,我不得不将它扩展得非常大,以获得漂亮,干净的渲染文本,因为它实际上是"可用的最大字体大小",并且大于此值的字体大小(参见#2)会变得模糊).

第二个是文本组件,称之为Font Size它所说的.这就像在任何应用程序中选择更大的字体大小.这就是材料设计指南所指的内容.Unity中的文本组件字体大小以"高度像素"为单位,与屏幕像素的比例为1:1(除非转换 - 或其任何父转换 - 缩放,或者画布本身位于Worldspace中(在在哪种情况下你有点猜)).

第三个位置是文本对象的变换:你可以另外缩放对象并获得(明显的)字体大小来改变,虽然缩放它会使它看起来模糊,缩小它会使它看起来有别名.无论哪种方式,它看起来很糟糕

总而言之,我发现最好的结果是将字体大小加倍并将变换比例缩小到0.5,因为默认比例下的文本消除锯齿对我来说看起来很模糊,因此使用更大的字体大小并缩放对象变换后退锐化.如果需要,您仍然需要自己测试.