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

角色精靈製造器:一句提示詞生出完整精靈表

做你自己的角色精靈製造器

從一段描述生出角色精靈——待機、走路、攻擊、八方向。透明幀、乾淨網格、引擎可直接吃。接著把角色丟進能走進去的 3D 世界。

✦精靈
做一個角色精靈:拿長槍的騎士女孩

角色精靈製造器吃一段文字描述,吐回一整張精靈表:待機、走路、跑步、攻擊、施法,八個方向,透明幀,固定網格,原點在腳底。你打的是角色本身——體型、輪廓、調色盤、手上拿的武器、衣著層次——工具就會依那段描述把每個姿勢都算出來,而不是只給你一張得自己重畫的展示幀。

精靈和精靈表的差別,就是圖片和動畫系統的差別。一張好的待機幀是一張圖。一張表是狀態機:引擎能循環的幀數、能索引的方向數,還有每一格裡角色必須一致,這樣走路循環不會在轉一圈的中途變形。Neta Studio 從提示詞生出整張表,再讓你把那個角色丟進能走進去的 3D 世界。

一句提示詞,一整張角色表

你用白話描述角色:物種或身體構造、相對於網格的高度、體型、頭髮或頭盔、衣著層次、手上拿什麼、調色盤範圍,還有美術方向(像素、手繪、平面向量)。製造器把它解析成一份角色規格,再從同一份規格渲染出整個矩陣——每個動畫、每個方向。產出是一張表,不是姿勢挑選器。

單一幀幾乎沒辦法告訴你一個角色在遊戲裡行不行。一旦動起來,三件事必須成立:輪廓在你實際繪製的尺寸下要保持可讀、調色盤不能在幀與幀之間跑掉、軸心不能飄。一張表會讓這些限制立刻現形。你把走路擺在待機旁邊看,把第 3 幀對第 1 幀看,在漂移進入引擎之前就先攔下來。

從同一段描述出發也讓角色可重現。改提示詞——斗篷換成板甲、調色盤往冷色移兩階——整張表就帶著這個改動重新生成,處處套用。你不需要為了新的配色決定手改四十張幀。

1

01

寫下角色描述:體型、以網格格數計的高度、體格、衣著與手持物、調色盤、美術方向。

2

02

設定幀網格:方形格子,盡量貼齊二的次方,動畫列序寫進文件。

3

03

生成整張表,把每個動畫的第一幀拿來對最後一幀——兩者應該相鄰,而不是一模一樣。

4

04

在最終顯示尺寸下檢查輪廓,不要放大看。

5

05

匯出透明 PNG 幀,附上記錄好的網格,原點放在腳底。

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

五個動畫涵蓋大多數 2D 角色:待機、走路、跑步、攻擊、施法。待機是角色一輩子待最久的呼吸循環。走路是移動循環,通常也是腳掌觸地最明顯的那個。跑步是同一個動作加快、上半身更前傾。攻擊是一次性動作,有預備、接觸幀、收招。施法是帶停頓的一次性動作——角色維持某個姿勢,等投射物或範圍技結算。

幀數比一般人想的更重要。在遊戲實際尺寸下——角色大約 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)會讓對角變成視覺上的謊言:角色往東北走,精靈卻朝著東邊。八方向讓朝向對得上移動向量。

整張表排成矩陣:每個方向一列,動畫裡每一幀一欄;或是每個方向一個區塊,裡面按同一順序放所有動畫。兩種都行,只要順序有記錄下來。Unity 的 Sprite Editor 按網格切;Godot 的 AnimatedSprite2D 要的是一格一格的 region rect 或切好的貼圖;GameMaker 的精靈編輯器吃網格加每幀原點。你在引擎裡索引的順序必須和整張表渲染的順序一致,否則你會得到一個在月球漫步的角色。

微妙的地方在過渡幀。如果你只渲染八個標準朝向,當移動向量跨過 22.5 度的邊界時,精靈會突然跳過去。兩種解法:渲染八個朝向,用一段短轉身動畫蓋住邊界;或者接受跳變,讓角色的旋轉直接吸附到最近的八分之一。兩種都成立;整張表兩種都支援,因為它根本不假設存在任何轉身幀。

整組角色的一致度

精靈工作裡真正的災難是漂移。一號角色生成時有某個頭身比、某個調色盤、某個線寬。二號角色稍後才生成,提示詞措辭不同,回來就高了半顆頭、膚色偏冷、外框更粗。並排放在隊伍畫面裡,看起來不像同一個遊戲的角色。

漂移來自規格不足的提示詞。如果第一段提示詞寫的是「矮胖、低飽和大地色調、32 像素格、一像素外框」,第二段只寫「一個穿鎧甲的騎士」,那你描述的不是一組角色——你描述的是兩件無關的東西。整批角色要把風格子句保持完全一致,只變動身分子句:物種、體格、裝備、以及既定調色盤範圍內的顏色。

Agent Sprite Forge 就是為了把風格子句固定住而做的。你從一份共用的風格規格生出整批角色,頭身比、外框線寬、調色盤範圍都維持不變,只有個別角色不同。測試很簡單:把整批角色的待機幀在最終顯示尺寸下排成一列。如果哪一個讀起來像另一個遊戲,就是風格規格漂了。

整批角色維持同一種風格

在寫任何身分提示詞之前,先把風格維度凍結:格子尺寸、頭身比、外框線寬(以像素計)、調色盤範圍與明暗方向、美術方向。把這些當常數。每個角色提示詞都繼承它們,只加上身分。當某個角色回來時風格跑掉,要修的多半是風格子句,不是身分子句。

可直接餵進引擎的匯出

每一幀都匯出成透明 PNG。整張表附上記錄好的網格——格子寬高、每個方向的列數、每幀的欄數、動畫順序——匯入器才知道每一格在哪。原點落在腳底,水平對齊角色的質心,所以把精靈放在某個地面位置時,是腳踩在地上,而不是圖片中心踩在地上。

這個原點的選擇在每個引擎裡都有影響。Unity 的 Sprite Editor 可以設自訂軸心;設成底部置中來對上文件記載的原點。Godot 的 AnimatedSprite2D 用的是從切片貼圖來的逐幀 region rect;切片要對齊文件記載的網格,不然你的循環會差一幀。GameMaker 的精靈屬性吃網格加每張精靈的原點;同樣是底部置中這個值。

匯出預設可以覆寫。如果你的遊戲跑的是不同格子尺寸,整張表在整數倍縮放下依然乾淨;非整數縮放才是糊掉的來源。像素圖用 point 過濾,手繪用 bilinear。透明通道會保留,匯入前不需要再清邊。

引擎匯入路徑要設什麼
UnitySprite Editor自訂軸心設底部置中;按網格切片
GodotAnimatedSprite2D + SpriteFrames把貼圖切成文件記載的網格;逐幀設 region rect
GameMakersprite properties網格尺寸照文件;原點設底部置中

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

精靈表是一個角色。世界是它住的地方。生出那張表的同一段描述,接著餵給 3D game builder,把它變成一個能走進去的 Three.js 世界:地面、碰撞、攝影機,還有讓角色站的地方。你不是在工具之間搬檔案——描述本身就是資產。

你可以在瀏覽器裡走那個世界。把角色放進去、操作攝影機,看精靈在世界實際呈現的尺度下讀不讀得出來。一個在平面精靈檢視器裡看起來沒問題的角色,一旦牽涉到透視和陰影,放在打光的 3D 地板上就可能不對。兩個一起看,就能提早抓到這種落差。

這條路和 The Cyclops' Island 走的是同一條——一段描述,一個能玩的世界——而 Mini World 是它的小尺寸版本。精靈製造器是同一條管線的 2D 端:描述一個東西,拿到能用的資產,然後把它放到你能走來走去的地方。

  • Agent Sprite Forge從一段角色描述生出完整精靈表——待機、走路、跑步、攻擊、施法,橫跨八個方向——附透明 PNG 幀與記錄好的網格。
  • The Cyclops' Island一個生成出來、能走進去的 3D 世界,靠描述而不是手工擺放建成,用來當作精靈製造器產出角色的目標場景。
  • Mini World小尺寸的 3D 世界預設,讓你在不用做完整場景的情況下,快速把角色放進可走動的空間裡檢查。
  • 3D game builder瀏覽器裡的建構器,把一段文字描述變成真正能玩的 Three.js 世界,角色以可控演員的身分放進去。
騎士 — 六幀、一列,從一段描述來。
The Cyclops' Island — 同一條角色管線,再往 3D 走一步。

走進它所屬的那個世界

精靈是一個無處可站的角色。最後一步是別人都沒給的:把你剛做好的那張表,放進別人能繞一圈的世界——一座小島、一顆行星、一個下雨的街角。這個站上的每個世界都是從一段文字描述做出來,並以能玩的頁面形式發布。

常見問題

什麼是角色精靈製造器?+

角色精靈製造器把一段文字描述變成完整的精靈表——待機、走路、跑步、攻擊、施法,橫跨八個方向——透明幀、有記錄的網格、原點在腳底。它把手繪每個姿勢的流程,換成從一段描述生成。

走路循環需要幾幀?+

四到八幀。在遊戲實際尺寸下——大約 32 到 64 像素高——四幀讀起來是走路,八幀讀起來更順。超過八幀,多出來的幀在表的大小和匯入時間上的成本,會大於它在可讀性上的回收。

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

俯視和等角遊戲用固定攝影機,而且允許往任何方向移動,所以四方向會讓對角變成視覺上的謊言。八方向以 45 度為級距,讓精靈朝向對得上移動向量。

精靈匯出成什麼格式?+

透明 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/tool/sprite-resource-library

看真實的角色表

這個素材庫裡的每一份資產都是透明、可直接進遊戲的 PNG,附有記錄下來的提示詞——角色精靈表與精靈素材庫,依動作、風格和主題標記。可自由瀏覽與下載。

×