角色精靈表製作器 · 一句提示詞,一張完整精靈表

角色精靈表製作器:從一句提示詞產出完整精靈表

做出你自己的角色精靈表製作器

用一句描述做出角色 Sprite — 待機、走路、攻擊、八方向。透明影格、乾淨網格、可直接進引擎。接著把角色放進能走進去逛的 3D 世界。

✦Sprite
做一個角色 Sprite,主題是 拿著長槍的騎士女孩

角色精靈表製作器會吃一段文字描述,回傳一張完整精靈表:待機、走路、跑步、攻擊、施法,涵蓋八方向,放在透明影格上,排在固定網格裡,原點設在腳底。你輸入角色 — 體型、剪影、調色盤、手持武器、服裝層次 — 工具就會把描述中的每個姿勢繪出來,而不是只給你一張得自己重畫的英雄影格。

Sprite 與精靈表的差別,就是圖片與動畫系統的差別。一張好的待機影格是一幅畫。一張精靈表則是一台狀態機:引擎可以循環的影格數、可以索引的方向,以及每個格子裡都一致的角色,讓走路循環不會在播到一半時變形。Neta Studio 會從提示詞建出整張精靈表,再讓你把角色放進能走進去逛的 3D 世界。

一句提示詞,產出整張角色精靈表

你用白話描述角色:物種或身體結構、相對網格的高度、體格、髮型或頭盔、服裝層次、手上拿什麼、調色盤範圍,以及美術方向(像素、手繪、平面向量)。製作器會把它解析成角色規格,再從同一份規格繪出完整矩陣 — 每個動畫、每個方向。輸出是一張精靈表,不是讓你挑姿勢的選單。

單一影格幾乎看不出一個角色在遊戲裡能不能用。它一動起來,有三件事必須成立:剪影在你實際繪製的尺寸下仍要可讀、調色盤不能影格之間跑掉、軸心不能亂飄。精靈表會讓這些限制馬上現形。你看得到走路排在待機旁邊,看得到第 3 影格對第 1 影格,於是在漂移進到引擎之前就先抓到。

從同一段描述出發,也讓角色可以重現。改提示詞 — 把斗篷換成板甲、把調色盤調冷兩階 — 你就重新產生整張精靈表,且變更套用到每個地方。你不是在手工修四十張影格,只為了配合一個新的顏色決定。

1

01

寫下角色描述:體型、以網格單位計的高度、體格、服裝與手持物品、調色盤、美術方向。

2

02

設定影格網格:正方形格子、盡量貼齊 2 的次方、動畫列順序寫進文件。

3

03

產生精靈表,並把每個動畫的第一張影格拿來對最後一張 — 它們應該相鄰,而不是一模一樣。

4

04

用最終顯示尺寸檢查剪影,不要放大來看。

5

05

匯出透明 PNG 影格,使用文件記載的網格,原點設在腳底。

待機、走路、跑步、攻擊、施法

五個動畫就能涵蓋大多數 2D 角色:待機、走路、跑步、攻擊、施法。待機是角色一生大半時間都在播的呼吸循環。走路是移動循環,通常也是腳掌觸地最明顯的那個。跑步是同一套動作加快,加上更多軀幹前傾。攻擊是一次性播放,包含預備、接觸影格、收招。施法是帶停格的一次性播放 — 角色維持某個姿勢,直到投射物或 AOE 結算完。

影格數比大家想的更重要。在遊戲實際尺寸下 — 角色大約 32 到 64 像素高,畫面為 320×180 或 640×360 — 四張走路影格讀起來像走路;六張讀起來更順;八張開始得不償失。跑步循環常常四張就夠。待機是二到四張;兩張是經典的呼吸,四張可以加入次要動作,例如搖擺或武器上下晃。攻擊通常是三到五張:預備、接觸、餘勢、回復。施法是四到六張,其中一張為停格。

這裡的失敗模式是時間安排,不是影格數。四張走路影格如果匯出時沒有設定影格間延遲,就會以引擎影格率播放,看起來像抖動,不像踏步。精靈表會附上每個動畫的建議 fps,讓引擎匯入器有一個合理的預設值可以覆寫。

動畫影格數循環備註
待機2–4是呼吸或搖擺;第一張與最後一張影格相鄰
走路4–8是腳掌觸地放在偶數影格讀起來最乾淨
跑步4是比走路更前傾、步幅更長
攻擊3–5否預備、接觸、餘勢
施法4–6否包含一張停格影格,用來等待結算

一句描述產出八方向

八方向代表精靈表涵蓋 N、NE、E、SE、S、SW、W、NW — 以 45 度為一階繞完一圈。俯視與等角遊戲需要這個,因為玩家從固定攝影機看角色,而且可以往任何方向移動。四方向(N、E、S、W)會讓對角線變成視覺上的謊言:角色往東北走,Sprite 卻朝東。八方向讓朝向與移動向量一致。

精靈表的排版是一個矩陣:每個方向一橫列,動畫中每張影格一直行,或是每個方向一個區塊,裡面用相同順序容納所有動畫。只要順序有寫進文件,兩種都行。Unity 的 Sprite Editor 用網格切圖;Godot 的 AnimatedSprite2D 要個別的 region rect,或是一張切好的 texture;GameMaker 的 Sprite Editor 吃網格加上每張影格的 origin。你在引擎裡索引的順序必須跟精靈表繪出的順序一致,否則角色會月球漫步。

微妙的地方在過渡影格。如果你只繪出八個標準朝向,當移動向量跨過 22.5 度邊界時,Sprite 會在朝向之間跳拍。兩種緩解方式:繪出八個朝向,並用一段短的轉身動畫補過邊界;或是接受跳拍,讓角色旋轉直接吸附到最近的八方向之一。兩種都合理;精靈表兩種都支援,因為它不假設一定要有轉身影格。

整組角色保持一致

Sprite 工作裡真正的失敗是漂移。角色一在某個頭身比、某組調色盤、某個線條粗細下產生。角色二之後才產生,提示詞用字不同,回來時高了半個頭,膚色更冷,輪廓更粗。在隊伍畫面裡並排一看,就不像同一個遊戲的角色。

漂移來自描述不夠明確的提示詞。如果第一個提示詞寫「矮壯、低飽和大地色調色盤、32 像素格子、1 像素輪廓」,第二個只寫「穿盔甲的騎士」,你描述的就不是一組角色 — 而是兩個不相干的東西。把風格子句在整個角色群裡保持一致,只變動身分子句:物種、體格、裝備,以及指定調色盤範圍內的顏色。

Agent Sprite Forge 的設計就是用來把風格子句固定住。你從共用的風格規格產生整組角色,所以頭身比、輪廓粗細、調色盤範圍保持不變,只有個別角色不同。測試很簡單:把整組角色的待機影格依最終顯示尺寸排成一列。如果其中一個讀起來像別的遊戲,那就是風格規格漂移了。

讓整組角色維持同一種風格

在寫任何身分提示詞之前,先凍結風格維度:格子尺寸、頭身比、以像素計的輪廓粗細、調色盤範圍與打光方向,以及美術方向。把這些當成常數。每個角色提示詞都繼承它們,只再加上身分。當角色回來走味時,修正幾乎都在風格子句,而不是身分子句。

可直接進引擎的匯出

每一張影格都匯出成透明 PNG。精靈表會附上文件化的網格 — 格子寬高、每個方向的橫列數、每張影格的直行數、動畫順序 — 讓匯入器知道每個格子在哪。原點位在腳底,水平對齊角色的質心,所以把 Sprite 放到地面位置時,落地的是腳,不是圖片中心。

這個原點選擇在每個引擎裡都有差。Unity 的 Sprite Editor 可以讓你設定自訂軸心;把它設成底部置中,對上文件記載的原點。Godot 的 AnimatedSprite2D 使用從切好的 texture 來的每張影格 region rect;切圖要對齊文件記載的網格,否則你的循環會差一張影格。GameMaker 的 Sprite 屬性吃網格加上每張 Sprite 的 origin 點;同樣套用底部置中。

匯出預設可以覆寫。如果你的遊戲跑不同的格子尺寸,精靈表在整數倍縮放下很乾淨;非整數倍縮放才會帶來模糊。像素藝術用 Point 濾鏡,手繪用雙線性。透明通道會保留,所以匯入前不需要做去背修邊。

引擎匯入路徑要設定的項目
UnitySprite Editor自訂軸心在底部置中;用網格切圖
GodotAnimatedSprite2D + SpriteFrames把 texture 切成文件記載的網格;每張影格用 region rect
GameMakerSprite 屬性網格尺寸依文件;原點底部置中

角色的下一個人生:3D 世界

精靈表是一個角色。世界是它住的地方。產出精靈表的同一段描述,會餵給 3D game builder,把它變成可走動的 Three.js 世界:地面、碰撞、攝影機,以及一個讓角色站的位置。你不是在工具之間搬檔案 — 描述本身就是資產。

你可以在瀏覽器裡走進那個世界。把角色放進去、控制攝影機,檢查 Sprite 在世界實際呈現的尺度下讀起來對不對。在平面 Sprite 檢視器裡看起來沒問題的角色,一旦牽涉到透視與陰影,放在有打光的 3D 地面上就可能不對。同時看到兩邊,才能在早期抓到這種不匹配。

這跟 The Cyclops' Island 走的是同一條路 — 一句描述,一個可玩的世界 — 而 Mini World 是它的小尺度版本。精靈表製作器是同一條流程的 2D 端:描述一個東西,得到可用的資產,再把它放到你能走動的地方。

  • Agent Sprite Forge從一句角色描述產生完整精靈表 — 待機、走路、跑步、攻擊、施法,涵蓋八方向 — 並附透明 PNG 影格與文件化的網格。
  • The Cyclops' Island一個生成出來的 3D 世界,可以走進去逛,從描述建出而不是手工擺放,用來當作精靈表製作器所產角色的落點。
  • Mini World小尺度的 3D 世界預設,讓你快速在可走動空間裡檢查角色,不必製作完整場景。
  • 3D game builder瀏覽器裡的建構器,把文字描述變成真正可玩的 Three.js 世界,並把角色放進去當成可操控的角色。
騎士 — 48 張影格、八方向,來自一句描述。
The Cyclops' Island — 同一條角色流程,再往 3D 跨一步。

走進它所屬的世界

Sprite 是一個無處可站的角色。最後一步是別家沒給的:把你剛建好的精靈表,放進一個有人可以走來走去世界 — 一座小島、一顆行星、一個下雨的街角。這個網站上的每個世界,都是從一段文字描述做出來,並發佈成一個可以玩的頁面。

常見問題

什麼是角色精靈表製作器? +

角色精靈表製作器會把一段文字描述變成完整精靈表 — 待機、走路、跑步、攻擊、施法,涵蓋八方向 — 放在透明影格上,附文件化網格,原點在腳底。它用一句描述產生,取代手工繪製每個姿勢。

走路循環需要幾張影格? +

四到八張。在遊戲實際尺寸下 — 大約 32 到 64 像素高 — 四張影格讀起來像走路,八張讀起來更順。超過八張,多出來的影格讓精靈表變大、匯入變久,換回的可讀性卻不成比例。

為什麼是八方向而不是四方向? +

俯視與等角遊戲使用固定攝影機,並允許往任何方向移動,所以四個朝向會讓對角線變成視覺上的謊言。八方向以 45 度為一階,讓 Sprite 朝向與移動向量一致。

Sprite 匯出成什麼格式? +

透明 PNG 影格,排在文件化的網格上,原點在腳底,水平對齊角色中心。同一張精靈表在把軸心或原點設成底部置中後,可以匯入 Unity、Godot、GameMaker。

怎麼避免同一組角色看起來不一致? +

凍結風格維度 — 格子尺寸、頭身比、輪廓粗細、調色盤範圍、打光方向 — 每個角色只變動身分。漂移幾乎都來自描述不夠明確的風格子句,而不是身分描述。

同一個角色可以用在 3D 世界裡嗎? +

可以。產出精靈表的同一段描述,會餵給 3D game builder,把它變成可走動的 Three.js 世界。你可以在瀏覽器裡走動,檢查角色在世界呈現的尺度下讀起來如何。

回到 3D Game Builder

全部 31 個完成的 3D 世界、遊戲與場景都在同一頁 — 每一個都可以玩。

平台: Neta Studio頁面: 角色精靈表製作器:從一句提示詞產出完整精靈表接著讀: /explore/tool/sprite-sheet-maker · /explore/tool/sprite-animator · /explore/guide/sprite-resource-library

看實際的角色精靈表

這個資源庫裡的每個資產都是透明的、可直接進遊戲的 PNG,並附上記錄下來的提示詞 — 角色精靈表與 Sprite 資源庫,依照動作、風格與主題加上標籤。免費瀏覽與下載。

×