您的位置:首页 > 财经 > 金融 > 代理怎么做_阿里巴巴官网电脑版_什么是网站优化_北京seo推广公司

代理怎么做_阿里巴巴官网电脑版_什么是网站优化_北京seo推广公司

2024/11/16 0:45:05 来源:https://blog.csdn.net/tealcwu/article/details/143616089  浏览:    关键词:代理怎么做_阿里巴巴官网电脑版_什么是网站优化_北京seo推广公司
代理怎么做_阿里巴巴官网电脑版_什么是网站优化_北京seo推广公司

在Unity中,不能像其他软件一样直接使用字体文件,需要通过FontAssetCreator将其转换成Texture的Asset文件,然后才能使用。

本文介绍了使用FontAssetCreator导入字体的过程,并对其参数设置进行了说明。

Font Asset Creator 是 Unity 中 TextMesh Pro 插件的一个功能模块,能够将 Unity 的字体资源转化为 TextMesh Pro 字体资产。通过它,可以创建带有 Signed Distance Field (SDF) 字体和位图字体的资产。

每当创建新的字体资产时,TextMesh Pro 会自动生成该字体资产,以及对应的图集纹理和材质。创建完成后,可以选择删除用于生成的 Unity 字体资产(如果需要保留以便于重新生成,可以放置在场景中)。

创建字体资产的步骤

1. 在开始之前,确保已经将想要使用的字体(通常是 TrueType 格式的 .ttf 文件)导入到项目中。

2. 在菜单中选择:Window > TextMesh Pro > Font Asset Creator,打开字体资产创建器。

3. 选择一个 Source Font File,即希望转换为 TextMesh Pro 字体的 Unity 字体资产。

4. 选择Character Set,如果是英文字体可以选择ASCII,只需要包括所有大小写字母和常用标点符号就够了。如果是非英文字体,可以选择“Characters from File”,在Character File里选择字符文件(字符文件是纯文本文件,也需要事先添加到Unity项目文件夹里)。

5. 点击“Generate Font Atlas”,就可以生成Asset文件,图集和字体资产的信息会显示在纹理预览区域。继续调整设置并重新生成图集,直到获得满意的效果。

6. 点击右下角的“Save”或“Save as”,可以将Font Asset文件保存在项目文件夹中。

7. 在Hierarchy中,选中要设置字体的text,在Inspector中设置Font Asset时就可以选择相应的字体了。

设置自定义字体时,重点在于Font Asset的生成。尤其是非英文字体的生成。所以下面对Font Asset Creator中的参数进行了说明,这样在使用时更加有针对性。

以下是 Font Asset Creator 设置的详细说明,将其整理为表格以便于理解:

属性参数功能描述
Source Font File选择用于生成 TextMesh Pro 字体资产的字体文件。此字体文件不会被自动打包到项目中,除非在项目其他位置使用它,或将其放置在 Resources 文件夹中。可以使用默认的 TextMesh Pro 字体资产,也可以导入自己的字体。
Font Face为位图字体资产应用基本样式。SDF 字体的样式配置在材质的 Shader 中进行。
Normal不带样式生成字符。
Bold, Italic, Bold_Italic生成加粗、斜体或加粗斜体的字体资产,可以为粗体和斜体设置强度值。
Outline生成带轮廓的字体资产。
Sampling Point Size设置用于生成字体纹理的字体大小,以点数为单位。
Auto Sizing选取尽可能大的点数,同时确保所有字符适合纹理。常用于 SDF 字体。
Custom Size使用自定义字体大小,输入所需大小以像素精确地控制仅限位图字体的字体大小。
Padding指定字体纹理中字符之间的像素间距。较大的填充可带来平滑的过渡,从而实现更高质量的渲染效果,适用于厚边框等效果。512x512纹理时,填充为5通常即可。
Packing Method指定如何将字符放入字体纹理。
Fast更快速地进行字符打包,但可能比Optimum模式的字体尺寸小。用于测试字体设置时选用。
Optimum自动找到合适的字体大小以适合所有字符。通常用于生成最终字体纹理。
Atlas Resolution设置字体纹理的宽度和高度,以像素为单位。512x512的分辨率适合包括 ASCII 字符的字体,如果字符较多可能需要更大的分辨率或多个图集。高分辨率有助于获得更精细的渐变效果,提高文本质量。
Character Set指定需要包含的字符集,字体文件中的字符不会自动包含在字体资产中。可以选择预定义字符集、提供需要包含的字符列表,或包括现有字体资产或文本资产中的所有字符。
ASCII包含 ASCII 字符集中的可见字符。
Extended ASCII包含扩展 ASCII 字符集中的可见字符。
ASCII Lowercase包含 ASCII 字符集中仅有的小写字符。
ASCII Uppercase包含 ASCII 字符集中仅有的大写字符。
Numbers + Symbols包含 ASCII 字符集中仅有的数字和符号。
Custom Range包含用户定义的字符范围,可输入十进制值或值的范围来指定要包含的字符。例如 32-126,160,8230。
Unicode Range (Hex)包含用户定义的字符范围,以 Unicode 十六进制值输入指定字符。例如 20-7E,A0,2026。
Custom Characters包含用户定义的字符范围,按字符逐个输入字符即可,例如 abc123*#%。
Characters from File包含指定的文本资产中的所有字符。适用于保存字符集的情况。
Render Mode指定字体图集的输出渲染模式。
SMOOTH_HINTED将图集渲染为抗锯齿位图,同时将字符像素与纹理像素对齐,提升清晰度。
SMOOTH将图集渲染为抗锯齿的位图。
RASTER_HINTED将图集渲染为无抗锯齿位图,并对齐字符像素和纹理像素。
RASTER将图集渲染为无抗锯齿的位图。
SDF使用较慢但更准确的 SDF 生成模式,不进行超采样。
SDF8使用较慢但更准确的 SDF 生成模式,8x 超采样。
SDF16使用较慢但更准确的 SDF 生成模式,16x 超采样。
SDF32使用较慢但更准确的 SDF 生成模式,32x 超采样,适用于复杂或较小的字符。
SDFAA_HINTED使用较快但相对不太精确的 SDF 生成模式,并对齐字符像素,适用于大多数情况。
SDFAA使用较快但相对不太精确的 SDF 生成模式,适用于大多数情况。
Get Font Features该选项决定了在向字体资产中添加新字符和字形时,是否从源字体文件中检索 OpenType 字体特性。禁用此选项将阻止提取字体特性。

创建字体资产的建议

字体纹理中的字符之间需要有一定的填充,以便能独立渲染字符。这一填充大小以像素为单位,填充还为 SDF 渐变提供了空间。通常,填充为 5 即可适应 512x512 的纹理。

大多数字体在包括所有 ASCII 字符时,512x512 的分辨率已经足够支持。如果需要支持数千个字符,则可能需要使用更大的纹理,甚至多个图集。在这种情况下,可以将常用字符放在主字体资产中,而将其他字符分散到备用字体资产中。

比如在生成全字符的中文字体时,就需要将其设置的尽量大,比如8192x8192,并且生成时间也将随之增长,一般在10~30分钟之间。所以如果没有必要,就可以使用自定义的character file,只包括自己需要的字符即可。

参考资料:

1. Font Asset Creator | TextMeshPro | 4.0.0-pre.2

2.  Font Assets | TextMeshPro | 4.0.0-pre.2

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com