← 返回部落格

VberAI 位圖字型生成器:上傳字形 / 精靈圖拆分,BMFont 進 Unity

VberAI Studio 位圖字型生成器:支援上傳字形圖片、上傳精靈圖自動拆分,輸出 AngelCode BMFont(.fnt + PNG),畫布可編輯,再匯入 Unity / Godot / Cocos。

發布於
  • vberai
  • ai-studio
  • bitmap-font
  • bmfont
  • fnt
  • angelcode
  • sprite-sheet
  • glyph
  • game-ui
  • unity
  • godot
  • cocos
  • tutorial
VberAI 位圖字型生成器:上傳字形 / 精靈圖拆分,BMFont 進 Unity

VberAI Studio(短稱 AI Studio,≠ Google AI Studio)支援位圖字型生成器:按字元集在面板生成,也支援上傳字形圖片,以及上傳精靈圖並自動拆分——產出帶度量資訊的遊戲字型圖集。結果留在同一塊遊戲畫布上,可繼續像素化、去背或匯出;跨引擎通行格式是 AngelCode BMFont 的 .fnt + PNG(匯出項以面板為準)。

入口:AI Studio。術語:位圖字型。

這就是 遊戲位圖字型 / BMFont 工作流:固定字元集與風格,帶 .fnt 度量進 Unity / Godot / Cocos。

遊戲裡為什麼還要用位圖字型

動態 TTF / OTF 適合長文和任意字級。遊戲 HUD、分數、金幣計數、像素標題、描邊發光數字往往要的是另一件事:字級鎖死、風格畫進貼圖、縮放不發糊、引擎載入可控。

常見三條冤枉路:

  1. 用動態字型硬撐 — 一放大描邊碎、一縮小像素字發灰;過濾模式一開線性插值,格子邊就糊。
  2. 手繪單字 PNG,沒有度量檔案 — 引擎不知道每個字形的寬、高、基線和字距,只能當散圖拼。
  3. 桌面 / 線上 BMFont 打完再下載 — 圖集和 .fnt 出了工具,還要另開軟體修邊、像素化、再進 Unity / Godot / Cocos。

AI Studio 把生成放在可編輯的遊戲工作台:字型是資產,不是下載完就結束的 zip。

獨立 BMFont 工具VberAI 位圖字型生成器
入口另開桌面軟體或網站同一 AI Studio 畫布
輸入多從 TTF / 系統字 rasterize面板生成、上傳字形圖、上傳精靈圖自動拆分
產出多為 .fnt + 圖集下載圖集落在畫布,可繼續編輯
風格依賴來源 TTF 與工具特效按面板生成,或沿用已上傳字形 / 精靈圖
之後多半只剩匯入引擎畫布上修完再進引擎

三種進字方式

按鈕名以面板為準,常見三條路徑:

方式適合什麼時候
面板按字元集生成還沒有素材,直接出 HUD 數字、像素字、風格化數字
上傳字形圖片美術已畫好單字 PNG,缺 .fnt 裡的寬、高、advance
上傳精靈圖並自動拆分整張 0123456789 橫條、字元表、數字 sprite sheet,要自動切格並寫度量

精靈圖拆分和 原位切圖 / 圖層拆分 思路相近,但產物是 BMFont 圖集 + .fnt,不是 UI Prefab。

位圖字型 / BMFont 是什麼

可驗收的定義:

  1. 圖集 — 把要用的字形點陣化進一張(或少量)PNG。
  2. 度量檔案 — 通常是 AngelCode BMFont 的 .fnt:每個字元的 UV、寬高、xoffset / yoffset、xadvance。
  3. 執行階段 — 引擎按字串從圖集取樣拼出 Label,而不是現場解析向量輪廓。

它解決的是「固定字級、固定風格的遊戲文字」;不等於 TextMesh Pro 的 SDF 正文字型,也不等於全量中日韓動態字型。

位圖字型(BMFont)動態 TTFSDF / MSDF
觀感風格烘焙進貼圖,像素可鎖隨字級向量點陣化縮放相對乾淨
適合HUD、分數、像素標題、藝術數字長文、聊天、設定頁要縮放的 UI 正文
代價字級 / 字元集一變就要重出圖集描邊與像素風難控像素格鎖邊不如位圖硬

什麼時候用,什麼時候不用

用: 血條數字、關卡分數、金幣 / 鑽石計數、技能 CD、像素風標題、帶描邊或金屬質感的數字條。字元集小、字級固定。

不用: 劇情對白、郵件、聊天、設定說明;需要任意縮放的介面正文;完整漢字 / 假名 / 韓文詞庫。全量 CJK 會把圖集容量打爆,應繼續用動態字型或 SDF。

在 AI Studio 裡怎麼生成

按鈕文案以面板為準,流程對齊下面四步。

1. 打開位圖字型生成器

在 AI Studio 畫布打開位圖字型生成器。

位圖字型生成器面板

2. 選輸入方式,再定字元集和字級

在面板生成、上傳字形圖片、上傳精靈圖並自動拆分 裡選一條(以面板為準)。無論哪條,都要先寫清「遊戲裡會出現哪些字」。

HUD 常見只要 0123456789、+$%/., 和少量拉丁字母。缺字会在執行时变成空白或方框;多字会撐大圖集。

字級按最終 HUD 像素定,而不是按設計稿再放大一倍——位圖字型放大等於放大贴圖。上傳精靈圖时,切格間距和 padding 要在拆分后看一眼,避免 advance 過緊。

3. 生成並預覽圖集

出圖後檢查:字形是否齊基線、描邊有沒有吃進鄰近字、半透明發光有沒有髒邊、圖集有沒有浪費空白。需要像素風時,可在同一畫布接 圖片像素化;需要透明底時接 去背。

4. 匯出後進引擎

匯出項目以面板為準。跨 Unity / Godot / Cocos Creator 時,優先核對是否拿到:

  • 一張(或成套)PNG 圖集
  • 一份 .fnt(AngelCode BMFont 文字或二進位;引擎文件以 .fnt 為準)

檔案名、頁碼和 .fnt 裡的貼圖參照必須一致,否則引擎能認出字型卻顯示粉圖 / 空白。

匯入 Unity / Godot / Cocos

下列是可驗收清單,不是編輯器全流程。匯入後用一串 0123456789SCORE 看齊行、字距和透明邊。

引擎中使用 BMFont 顯示分數

Unity

  • 圖集 Filter Mode 用 Point(無濾波) 才能鎖像素邊;線性過濾會發糊。
  • 舊版 UGUI:Custom Font + 帶該圖集的材質,再掛到 Text。
  • TextMesh Pro:用 Font Asset Creator 做 bitmap 字型資源,或匯入 BMFont 對(以你專案所用 TMP 版本為準)。
  • 常見返工:材質槽為空、.fnt 指向的貼圖名和匯入名不一致。

Godot 4

Godot 支援 BMFont(.fnt)。把 .fnt 與 PNG 放在同一目錄匯入,賦給 Label(或 RichTextLabel)的字型槽。若只匯入 PNG、沒有 .fnt,引擎無法得知字形矩形。

Cocos Creator

Cocos 的位圖字型由 .fnt + .png 組成:.fnt 是字元縮圖索引。將二者放入資源目錄,Label 的字型類型選位圖字型(具體選單名以 3.x 面板為準)。不要和 LabelAtlas(等寬格子數字條)混用——後者沒有完整 BMFont 度量。

返工清單

  • 缺字 — 先補字元集再重出,不要在引擎裡拿另一套 TTF 混排。
  • 基線不齊 — 數字 1 與 0、逗號與小數點最容易露餡。
  • 字距過緊 / 過鬆 — 改 .fnt 的 xadvance 或回到生成器調間距。
  • 描邊髒邊 — 半透明發光疊在鄰字上;圖集內多留 1–2 像素 padding。
  • 放大發糊 — 位圖不要當向量用;要縮放改用 SDF / MSDF 或動態字型。
  • 圖集過大 — 砍字元集,或拆「數字套」與「標題套」。

適合誰

獨立開發者與小團隊做 HUD 分數、像素標題、風格化數字:字元集小、字級固定,需要 .fnt + PNG 進包,又不想在桌面 BMFont 工具與引擎之間來回倒檔。

邊界

  • 首版圖集很少等於可上線終稿;商標字形、語系缺字、多解析度仍要人工驗收。
  • 引擎內壓縮、圖集打包、字型材質與過濾模式在專案側落地。
  • 面板文案、輸入來源(來源字型 / 風格參考)與匯出格式以當前 AI Studio 為準。
  • VberAI Studio ≠ Google AI Studio;見 對比。

小結

要的不是「再多一個線上 BMFont」,而是風格化數字和像素字能作為帶度量的遊戲資產進包。生成 → 預覽圖集 → 畫布上修邊或像素化 → .fnt + PNG 進 Unity / Godot / Cocos,都在 AI Studio。

常見問題

位圖字型和 BMFont 是什麼?
位圖字型把字形畫進 PNG 圖集,用度量檔案告訴引擎每個字怎麼切。BMFont(AngelCode)的 .fnt + PNG 是 Unity、Godot、Cocos 都認的一套通行格式。

VberAI 能生成遊戲位圖字型嗎?
能。在 AI Studio 畫布使用位圖字型生成器,按字元集出圖集,或上傳字形圖 / 精靈圖補度量,並在同一畫布繼續編輯或匯出(以產品面板為準)。

能上傳字形圖片或精靈圖嗎?
能。支援上傳字形圖片(單字 PNG 等)寫入字型;也支援上傳精靈圖並自動拆分(如數字條、字元表),生成 BMFont 的 .fnt 與圖集(以面板為準)。

和動態 TTF、SDF 字型怎麼選?
固定字級的 HUD、像素標題、風格化數字用位圖;長文和要縮放的 UI 用動態 TTF 或 SDF / MSDF。

進 Unity 要注意什麼?
圖集用 Point 過濾;Custom Font 或 TMP bitmap 都能接 BMFont 對,但貼圖名必須和 .fnt 一致,材質不能空。

能做全漢字圖集嗎?
不適合。完整中日韓字元集會撐爆圖集。位圖字型留給數字、拉丁字母和少量標題字;正文繼續用動態字型。

你可能還會喜歡這些文章