跳转到内容

工作流指南:逐步创建位图字体

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

从设置到导出,跟着这个流程走就能生成高质量的位图字体。

  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)。移动端对打包效率要求更高。