12.字体资源生成设置图集纹理

12.字体资源-生成设置和图集纹理


12.1 知识点

生成设置和图集纹理

主要用来设置字体资源使用的纹理是动态生成的还是静态生成的

  • Source Font File:字体文件

  • Atlas Population Mode:纹理图集生成方式

    • Static(静态模式):

      • 字体集在创建时需要一个固定的纹理图集。
      • 适合字符已知且不需要动态变化的情况,例如仅有少量英文字符时。
    • Dynamic(动态模式):

      • 字体纹理图集会在运行时根据需要动态生成,可以显示更多字符。
      • 适合中文项目或多语言项目。
  • Atlas Render Mode:字体渲染模式

    • SMOOTH_HINTED:抗锯齿位图,字符像素和纹理像素对齐,适合小字体或精确对齐的场景。
    • SMOOTH:提供平滑边缘,适用于大多数文本显示,兼顾清晰度和性能。
    • COLOR_HINTED:基于颜色的抗锯齿,突出颜色效果。
    • COLOR:不使用抗锯齿,适用于高对比度或需要清晰边缘的场景。
    • RASTER_HINTED:位图渲染,适合较小字体,但放大时可能模糊。
    • RASTER:快速渲染模式,但边缘可能出现锯齿。
    • SDF:带符号距离场技术,支持缩放时保持清晰。
    • SDF8:8 位 SDF 渲染,适用于资源受限环境。
    • SDF16:16 位 SDF 渲染,提供更高清晰度。
    • SDF32:32 位 SDF 渲染,适合需要极高质量的文本。
    • SDFAA_HINTED:抗锯齿的 SDF 渲染,提供平滑边缘和清晰字符显示。
    • SDFAA:SDF 渲染但无抗锯齿,快速渲染但可能出现锯齿。
  • Sampling Point Size:采样点大小

  • 设置生成字体纹理时的字体大小(以磅为单位)。

    • Auto Sizing:使用尽可能大的字体大小(推荐)。
    • Custom Size:自定义字体大小。
  • Padding:填充

  • 指定字体纹理中字符之间的间距(以像素为单位)。

  • 较大的填充值可以提供更平滑的过渡效果。

  • Atlas Width:图集宽

  • 设置字体纹理图集的宽度。

  • Atlas Height:图集高

  • 设置字体纹理图集的高度。

  • Multi Atlas Textures:是否采用多图纹理。

    • 允许在字体资源中生成多个纹理图集(Atlas),而不仅仅是一个。这样可以更灵活地管理不同字符集或不同字体样式
    • 提高性能和内存使用效率,尤其是在需要渲染大量不同字符的情况下建议使用
  • Clear Dynamic Data On Build:在构建时清除动态生成的数据。

    • 这意味着如果你选择了动态字体模式,构建时会移除不再需要的动态字符数据,以节省内存
    • 可以减少最终构建包的大小,确保只包含必要的字符数据
  • Font Atlas:生成字符资源时创建的字体纹理图集。

  • Font Material:生成字体资源时创建的字体材质。


12.2 练习题

Character Set 字符集设置有什么作用?

字符集设置决定字体图集生成使用哪些字符,决定了最终该字体能够支持显示的字符有哪些。

Character Set 字符集其中的选项ASCII、Extended ASCII、ASCII Lowercase、ASCII Uppercase、Numbers + Symbols、Custom Range、Unicode Range(Hex)、Custom Characters、Characters from File分别有什么作用?

  • ASCII
    标准ASCII字符集(字母、数字、标点符号)。

  • Extended ASCII
    拓展ASCII字符集(增加了许多特殊字符和符号)。

  • ASCII Lowercase
    仅包含小写字母字符(a~z)。

  • ASCII Uppercase
    仅包含大写字母字符(A-Z)。

  • Numbers + Symbols
    包含数字(0-9)和常见的符号(如 !, @, #, $, % 等)。

  • Custom Range
    允许用户定义一个自定义字符范围,用户可以指定要包含的 Unicode 范围,例如选择某些特定的字符。
    示例:输入十进制值或范围,比如:32-126,160,8230

  • Unicode Range (Hex)
    允许用户输入 Unicode 范围的十六进制值,便于选择特定语言或字符集。
    示例:输入十六进制值或范围,比如:4E00-9FA5

  • Custom Characters
    用户可以手动输入要包含的具体字符,可以是任何字符(如字母、符号等)。

  • Characters from File
    从文本文件中读取字符,允许用户根据文件内容自动生成字符集,适合大量字符的处理。

静态字体和动态字体的作用是什么?

  • 静态字体模式

    • 字体集在创建时需要一个固定的纹理图集。
    • 适合字符已知且不需要动态变化的情况。
    • 如果游戏不存在中文,仅包含少量字符(如英文),可以使用此模式。
  • 动态字体模式

    • 字体纹理图集会在运行时根据需要动态生成,可以显示更多的字符。
    • 适合中文项目或多语言项目。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏