跳转到内容

位图字体工作流指南

掌握使用 SnowB BMF 创建高质量、游戏可用的位图字体的分步工作流。学习如何高效地配置、设计和导出字体。

本指南概述了在 SnowB BMF 中创建专业位图字体的完整工作流程,从初始设置到最终导出。请遵循以下步骤,为您的项目生成优化的高质量资源。

核心工作流:5 步创建您的位图字体

Section titled “核心工作流:5 步创建您的位图字体”

遵循这些基本步骤来生成您的第一个位图字体。

  1. 加载字体:

    • 点击 “添加字体文件” 并选择您的字体 (.ttf, .otf, .woff)。
    • 您的字体将出现在“字体家族”列表中。
  2. 配置字体基础:

    • 字体大小: 设置字形的主要尺寸 (例如, 32px)。
    • 行高: 调整以控制垂直行间距。
    • 锐化: 微调滑块以获得最佳的抗锯齿和清晰度 (80% 是一个很好的起点)。
  3. 优化纹理布局:

    • 内边距: 使用 1-2px 防止字形相互渗透。
    • 间距: 设置图集中字形之间的距离 (1px 是标准值)。
    • 自动打包: 保持启用以获得最有效的纹理空间利用。
    • 最大宽度/高度: 定义纹理尺寸 (例如, 1024x1024) 以匹配目标平台的要求。
  4. 自定义视觉样式:

    • 填充: 应用纯色、渐变或图像图案。
    • 描边: 添加轮廓以增强可读性。
    • 阴影: 使用阴影效果创建深度感。
    • 所有更改都会实时预览。
  5. 导出:

    • 点击 “导出” 按钮。
    • 选择您的格式 (.txt.xml)。
    • 下载生成的字体描述文件和纹理图集。

通过微调这些设置来平衡视觉质量与性能。

  • 启用自动打包: 这是实现紧凑图集最关键的一步。
  • 使用最小的内边距/间距:1px 开始,仅在看到视觉瑕疵时才增加。
  • 限制字符集: 仅包含您的应用程序实际需要的字形以节省空间。
  • 选择最佳纹理尺寸:
    • 移动端: 512x512 或 1024x1024
    • 桌面/主机端: 1024x1024 或 2048x2048
  • 字体大小: 以最常显示的尺寸生成字体。
  • 清晰度控制:
    • 60-70%: 较柔和的外观,适合较小的文本。
    • 80-90%: 清晰明了,是 UI 文本的可靠选择。
    • 90-100%: 超级锐利,非常适合大型、风格化的标题。

在最终确定字体之前,请执行以下检查。

  • [ ] 检查字形: 放大预览以检查是否有任何渲染错误。
  • [ ] 验证对齐: 确保所有字符都正确地位于基线上。
  • [ ] 检查瑕疵:
    • 字形渗透: 纹理图集中的字形重叠。如果需要,增加 内边距
    • 效果被裁剪: 描边或阴影被切断。增加 内边距 来修复。
  • [ ] 在您的引擎中测试:
    1. 导出一个测试版本。
    2. 将字体导入您的游戏引擎或应用程序。
    3. 验证它在其预期的尺寸和分辨率下是否能正确渲染。
    4. 在 SnowB BMF 中迭代设置并根据需要重新导出。

为整个字体微调间距和定位:

  • xAdvance: 调整所有字符之间的间距。
  • xOffset / yOffset: 水平或垂直移动所有字形。

对于无法容纳在一个纹理中的庞大字符集:

  1. 增加 页面 数量。
  2. 确保 自动打包 已启用。
  3. 导出将生成多个纹理文件和一个描述文件。

直接将图标或符号嵌入到您的字体图集中:

  1. 点击 “选择图片”
  2. 选择您的图片 (带透明度的 PNG 效果最佳)。
  3. 图片将与字符字形一起打包。
  • Unity: 使用文本 (.txt) 描述文件。
  • Unreal Engine: XML (.xml) 格式得到很好的支持。
  • Godot: 推荐使用文本 (.txt) 格式。
  • Web/HTML5: 使用较小的纹理尺寸 (例如, 512x512) 以加快加载时间。
  • iOS & Android: 始终使用二次幂的纹理尺寸 (例如, 512, 1024)。高效的打包对于移动设备上的性能至关重要。