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

时间:2017-04-24 15:56:26

标签: android ios unity3d

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

TextSize在Text组件中的含义是什么?这个数字取决于什么吗? Unity文档description of fontSize对此一无所知。

感谢您的回复。

1 个答案:

答案 0 :(得分:6)

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

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

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

第三个位置是文本对象的变换:您可以另外缩放对象并获得(明显的)字体大小以进行更改,尽管将其放大会使其看起来模糊并且缩小它将会让它看起来有别名。无论哪种方式,它看起来都很糟糕。

所有这一切,我发现最好的结果是将字体大小加倍并将变换比例缩小到0.5,因为默认比例下的文本消除锯齿对我来说看起来很模糊,因此使用更大的字体大小和缩放对象转换回来锐化它。如果需要,你仍然需要自己测试。