RPG 精靈製作器 — 免費產生 RPG 角色、精靈與圖磚集
做一個自己的 RPG 精靈製作器
用一句描述就能產生 RPG 角色精靈、精靈表和圖磚集。免費、線上、不用會畫畫——再把它們丟進一個真的能玩的世界裡。
RPG 精靈製作器會把一段文字描述變成真的能用的遊戲美術。你打進類似「老漁夫、藍色外套、草帽、俯視角、32 × 32、四格走路動畫」這樣的描述,產生器就會回傳角色精靈、精靈表或圖磚集,格式是背景透明的 PNG。背後跑的是 Agent Sprite Forge,在瀏覽器裡的 Neta Studio 中執行。不用安裝、不用繪圖板,也不必另外開一個視窗放著像素編輯器。
RPG 美術難的不是品質,是數量。一款小遊戲需要一個玩家角色、八個 NPC、四個店主、二十種敵人變體,而且大多至少要有兩個方向。這算下來大約四十個角色,而你連一棵樹都還沒開始畫。大部分在做 RPG 的人,這四十個角色一個也畫不出來。一個能在幾秒內產出風格一致、長得有點樸素的 32x32 精靈的產生器,對一個能收尾的專案來說,比一張花掉整個週末的精美插圖更有價值。
產生你畫不出來的角色陣容
先做配角群,不要先做主角。主角是你唯一真的會想一直畫、一直改的角色。專案通常死在配角群上:鐵匠、鐵匠的學徒、三個盔甲略有不同的守衛、一個商人、一個小孩、一隻狗、六隻史萊姆和一隻狼。每一個都是一小件美術工作,而四十小件美術工作就是一道牆。Agent Sprite Forge 就是為了讓你翻過那道牆,讓世界在你動能燒完之前先有人。
輸入就是一段描述,而描述就是整個介面。好的描述會講清楚四件事:角色是誰、身上穿什麼、調色盤、視角。「守衛,鎖子甲外罩深藍色罩袍,長槍,俯視角,32x32,兩個方向」這樣可以用。「帥氣的戰士」不行,而且失敗方式完全可以預測:產生器只能挑通用細節,你拿到一個灰灰的騎士,然後你按五次重新生成,想用重骰按鈕解決一個描述問題。
第二種失敗模式是描述過頭。在 32 像素寬的尺寸下,一個角色大約就是一顆頭、一個軀幹、兩條腿。披風、背包、圍巾、肩甲和發光護符全都在搶同一段十二像素的輪廓。小尺寸下,配件不會增加細節,只會增加雜訊。如果第一次生成的結果是一團看不懂的東西,先從句子裡刪掉配件,其他什麼都別改。3D game builder 以及 Mini World、The Cyclops' Island 這類世界用的也是同一個原則:先有形狀可辨的剪影,裝飾擺後面。
生成範例
三種輸出形式就足以涵蓋 RPG 幾乎所有需求。每一種都匯出成帶透明通道的 PNG,而且每一種最後會去的地方都不一樣。這些差異比畫風更重要,因為網格設錯的精靈表根本不能用,不管那張圖畫得多好。
單一姿勢
一個角色、一個影格、一個檔案。帶透明度的 32x32 PNG 是最小的可用單位。站著不動的 NPC、櫃檯後的店主、路標、寶箱,或是不會移動的敵人,都是生成這種。它會匯出成單格的 PNG。
它可以直接當成貼圖,貼在平面或面向相機的 billboard 上。在 3D game builder 裡,billboard 上放一張單一姿勢的精靈,就足以撐起一整個村莊的靜態 NPC;而且因為沒有動畫狀態,也就沒有東西會壞。如果你的角色清單很長、時間很短,預設就用這個格式。
走路循環精靈表
四個影格由左到右排開,匯出成一條橫向長條或一張網格。32x32 四格排成單列就是 128x32 的 PNG。四個方向就變成 4x4 網格、128x128;兩個方向則是 4x2 網格、128x64。走路循環的作法是隨時間推進影格索引;以每秒八格來說,四格走路動畫一輪走完是半秒,在一般移動速度下讀起來是對的。
它會匯出成一張 PNG,另外可選擇附帶一個 JSON sidecar,列出影格尺寸、影格數、欄數與方向。這個 sidecar 只是純中繼資料,不是什麼專有格式。如果你不想用它,數字其實就寫在 PNG 的尺寸裡:128 除以 32 等於四格。
Tileset 圖集
一張圖裡排滿地形圖磚的網格:草地、草地邊緣、泥土路徑、水面與水岸、牆頂、地板接縫。以 16x16 一格來算,8x8 的圖集是 128x128 的 PNG,裝得下 64 塊圖磚。改成 32x32,同樣的 64 塊圖磚就需要 256x256。
它匯出成單一圖集 PNG。可以直接丟進 Tiled 的地圖圖層、Godot 的 TileSet,或 Three.js 的圖磚網格。關鍵在於格子尺寸必須和地圖網格完全一致。如果你生成 32x32 的圖磚,卻把它們放在 16 單位的網格上,每隔一塊圖磚就會落在半格偏移的位置,接縫明顯到從外太空都看得到。
角色精靈 vs 精靈表 vs 圖塊集
這三個詞在對話裡常被混著用,但在專案裡它們不能互換。角色精靈是單一幀,不帶任何時間資訊。精靈表是同一角色的幀排成網格,帶的是幀順序。圖塊集則是不同地形碎片的網格,帶的是相鄰關係。挑錯的話,你要嘛會把圖塊集切成動畫幀,要嘛會把走路循環的幀當成地板鋪上去。
決定格式的是消費端,不是產生器。先問是誰在讀這個檔案:角色表插槽要的是從左上角儲存格開始、沒有 padding、沒有 margin 的固定網格;圖層要的是原點已知、大小一致的儲存格;UI 圖片節點要的是單一幀。padding 是最常見的匯出錯誤。為了保險多留一格像素的邊界,會讓每個幀索引整體位移一格,整段動畫跟著偏移。
實務上的幀數與方向
兩個方向(左和右,另一側用鏡像的精靈)能讓你的表縮一半,是側視遊戲的標準偷懶法。四個方向(下、左、右、上)是俯視角的預設,需要正方形網格,所以四方向各四幀的走路就是 16 幀。八方向是多數小團隊該停下來重新考慮的地方;表會長到每個角色 32 幀,而斜向姿勢正是在 32 像素下最難辨識的那幾個。
能用的幀數:2 幀是僵硬的待機上下浮動,4 幀是走路,6 幀是更順的走路,8 幀是跑步。低於 4 幀,走路看起來像跛腳。高於 8 幀,你是在為玩家不會有意識看到的幀付錢。
| 格式 | 用途 | 網格與版面 | 消費它的引擎端 |
|---|---|---|---|
| 角色精靈 | 靜態 NPC、道具、告示牌、單一姿勢的敵人、放大使用的對話圖 | 單一幀,沒有網格。常見儲存格:32x32 或 48x48 | 3D game builder 裡貼在平面或 billboard 上的貼圖;任何 2D 引擎的貼圖插槽 |
| 精靈表 | 走路循環、待機、攻擊、受傷、死亡動畫,每個角色一張精靈表 | 固定網格,例如 4 欄 x 1 列、每格 32x32 = 128x32;四方向用 4x4 = 128x128 | Three.js 動畫式 UV 位移;Unity 精靈模式 Multiple,依儲存格尺寸切割;Godot AnimatedSprite2D |
| 圖磚集/自動圖磚圖集 | 地面、路徑、水面與水岸、牆面、地板轉場 | 統一圖集,例如 8x8 格、每格 16x16 = 128x128;等角菱形為 32x16 | Tiled 地圖圖層;Three.js 實例化圖磚網格;Godot TileSet,儲存格尺寸要設成與圖磚一致 |
| 立繪/半身像 | 對話框、隊伍選單、商店畫面 | 單一幀,儲存格較大,從 64x64 到 144x144 | 3D game builder 裡的 UI 圖片節點,或任何 HUD 圖層 |
運作方式
五個步驟,照這個順序。跳過第四步的剪影檢查,就是有人生成二十次還是拿不到可用東西的原因。
01
用一句話描述角色。依序寫出角色定位、服裝、色盤、視角。生成前先檢查:把這句話唸給別人聽。如果對方腦中浮現的角色跟你不同,代表描述太模糊,輸出也會一樣模糊。
02
選一個幀數和一個幀尺寸。道具和靜態 NPC 用一幀,走路用四幀。動手前先確認算術:幀尺寸乘以欄數必須剛好等於精靈表寬度。32 x 4 = 128,沒問題。256 除以 48 是 5.33,那就表示會有一幀滲色。
03
產生。精靈表會以帶透明通道的 PNG 回傳,另外附上 JSON 附屬檔,裡面有影格尺寸與欄數。把檔案尺寸跟你要求的數字對一下;如果寬度不等於影格尺寸乘上欄數,就在這裡停下來重新產生,不要留到下游再修。
04
用 100% 縮放檢查剪影。把圖片縮到角色差不多是螢幕上的大小,然後看輪廓。在腦中把它填成純黑。如果在那個大小下分不出手臂和軀幹,或分不出帽子和頭,這個精靈就不能用。修法是拿掉配件或改用更大的影格尺寸,不是一直重新產生。
05
匯出後在棋盤格背景上檢查透明通道。要確認兩件事:邊緣沒有白邊或灰邊光暈,以及目前影格的最後一欄看不到下一影格的像素。如果有光暈,表示檔案在某個流程環節被壓平到淺色背景上了。
把它放進世界裡
下載資料夾裡的 PNG 不是產品。大多數精靈產生器都停在這個步驟,而這個步驟決定你到底有沒有把東西做完。精靈表要放到網格上、給它碰撞體積、再交給動畫計時器驅動,才會變成遊戲。
在 3D game builder 裡,產生精靈表的同一個瀏覽器工作階段就能把它放進去。圖磚集的儲存格尺寸決定世界網格,所以 32x32 的圖磚表示所有碰撞框都會對齊 32 單位的間隔。這一個決定就消掉一整類 bug:角落不會出現半格空隙,玩家不會卡在兩塊地板圖磚之間。精靈表會變成貼在四邊形上的動畫看板,攝影機設成 2:1 等角角度(約 26.57 度),這樣 32x16 的菱形圖磚在畫面上就看成一塊方形地板。
用這種方式做出來的世界直接在瀏覽器裡跑,不用安裝引擎執行環境,也沒有建置步驟。Mini World 和 The Cyclops' Island 都是把一段文字描述變成可玩的 Three.js 場景的例子,你產生的角色群也是走同一條路。實際可行的順序是:先產生圖磚集,再產生角色群,接著放玩家,最後加 NPC。如果先做角色群,你不會知道地面該多大。
- 圖磚式碰撞碰撞框是從圖磚網格推導出來的,所以會跟你產生的圖磚集保持對齊。
- 動畫精靈看板精靈表的影格會依計時器推進,對應到 UV 位移,所以你匯出的同一個 PNG 就能播四影格的走路動畫。
- 等角攝影機預設2:1 的攝影機角度搭配菱形圖磚,所以 32x16 的圖磚在螢幕上佔的是一塊正方形範圍。
- 不需安裝引擎世界直接在瀏覽器分頁裡用 Three.js 跑。不用下載編輯器,也不用先匯出建置才能走動。
免費、線上、免安裝:RPG 精靈製作器直接在瀏覽器裡跑
精靈製作器免費,而且跑在線上。沒有安裝檔、沒有桌面應用程式、沒有外掛,也不用另外買繪圖軟體。開啟頁面、打一段描述,就拿到一張 PNG。它用的是瀏覽器的 canvas 和 WebGL2,所以你手上現有的機器就夠了。
輸出的東西是刻意做得很無聊的。匯出的是帶透明通道的標準 PNG,尺寸就是你選的幀大小與精靈表尺寸,另外可選附一個 JSON 檔,描述幀大小、幀數、欄數與方向。沒有專有容器格式。沒有任何東西把這些素材鎖在 Neta Studio 裡。你明天把 PNG 拿到別的工具開,它照樣開得起來。
哪些東西沒有包含在內,先講清楚你好安排:沒有骨骼綁定、沒有骨骼動畫,也沒有自動補間。每一幀都是一張平面圖。四幀的走路動畫就是四張圖。這是限制,但也正是檔案能保持通用的原因——平面幀在任何一套既有的 2D 管線裡都能用。
RPG 的精靈尺寸 — 在 RPG 精靈製作器裡挑網格
三種尺寸就涵蓋大部分 RPG 工作:每幀 16、32、48 像素。16x16 適合密集的地圖與復古感,640x360 的視埠一次能看到很大一片世界,但臉部會糊到看不清。32x32 是安全的預設值;頭、軀幹、腿都還留得住可辨識的空間,而且能整除所有常見的精靈表尺寸。48x48 則用在需要看得出臉部細節的角色、手機或觸控上必須大到能點到的目標,以及畫面上可見圖磚數較少的遊戲。
比尺寸更重要的規則:幀大小必須能整除精靈表寬度。寬 256 像素的精靈表剛好放得下八個 32 像素的幀。它放不下 48 像素的幀;256 除以 48 是 5.33,所以第六欄會被切一半,取樣器會讀到隔壁那一幀。實際看到的狀況是:目前這個姿勢的左邊緣出現一條來自下一個姿勢的一像素欄,看起來像算圖 bug,其實是數學錯誤。另外把貼圖濾鏡設成最近鄰(Three.js 的 NearestFilter、Godot 關閉 filter、Unity 的 filter Point)。線性濾鏡會把相鄰像素跨幀邊界混在一起,銳利的精靈就糊成一團。
本站的精靈尺寸指南列出完整尺寸表,每一個都附上精靈表的算術,包括等角菱形那些格子是 32x16 或 64x32、而不是正方形的尺寸。
| 幀大小 | 適合用在哪 | 精靈表算術 | 要留意的失敗模式 |
|---|---|---|---|
| 16x16 | 密集的地圖、復古感、可視範圍大、畫面上圖磚多 | 256x256 精靈表 = 16 欄 × 16 列 | 臉部和小道具會糊成一團;帽子和鬍子變成同一個形狀 |
| 32x32 | 2D RPG 的預設尺寸,也是新專案最保險的第一個選擇 | 256x256 精靈表 = 8 欄 × 8 列;128x32 橫條 = 4 幀 | 道具看起來像雜訊;再加披風或背包,剪影就完全讀不出來 |
| 48x48 | 細節更多的 NPC、畫面上更大的角色、方便手指點擊的目標 | 288x288 精靈表 = 6 欄 × 6 列。256 無法被 48 整除 | 精靈表寬度無法整除時,下一幀會在欄邊界滲進當前這一幀 |
走進它所屬的那個世界
單獨一張精靈,是一個沒有地方站的角色。真正關鍵的那一步,編輯器給不了你:把你剛做好的精靈表放進一個別人能走進去逛的世界。這個網站上的等角視角世界,全都是這樣做、這樣發佈的。
常見問題
RPG 精靈製作器是免費的嗎? +
可以。在瀏覽器裡產生精靈、精靈表和圖磚集是免費的,也不需要安裝程式。匯出的是標準 PNG,所以不管接下來你要做什麼,檔案都留在你手上。
它可以做出完整的圖磚集,而不只是一塊圖磚嗎?+
可以。它會產生一張尺寸統一的圖集,例如 8x8 網格、每格 32x32,共 64 塊圖磚。匯出後檢查兩件事:格子大小是否對上你之後要鋪設的地圖網格,以及水和道路的邊緣在圖磚交界處是否接得起來。
支援哪些精靈尺寸?+
16x16、32x32 和 48x48 幾乎涵蓋所有 RPG 製作需求,另外還有 32x16 與 64x32 的等角菱形。先決定尺寸,再挑一個剛好是該尺寸精確倍數的精靈表寬度,因為 48 無法整除 256。
產生的精靈可以用在 Unity 或 Godot 裡嗎?+
可以,它們就是帶透明通道的一般 PNG。在 Unity 裡,把 Sprite Mode 設成 Multiple,用 Cell Size 切片,將 Pixels Per Unit 設成你的影格尺寸,並關閉 Compression。在 Godot 裡,以 texture 匯入並關閉 Filter,然後把 TileSet 或 AnimatedSprite2D 的 Cell Size 設成與影格尺寸完全一致。
我需要會畫畫嗎?+
不用。你需要的是能用一句話描述一個角色,以及判斷輪廓在縮小後還看不看得出來。第二項技能一個下午就能練:把精靈縮到它在畫面上的實際大小,看看你還能不能分辨出手臂和軀幹。
它能正確匯出透明嗎?+
可以,匯出檔包含 8 位元透明通道,而且沒有背景。驗證方法是把 PNG 疊在棋盤格上,而不是白色背景上開啟;邊緣出現白邊表示檔案在你的流程某處被壓平了,不是匯出錯了。
我可以用它做走路循環動畫嗎?+
可以。走路動畫的實務下限是四格,而每秒八格在一般移動速度下看起來就正確。匯出成橫向長條(四格 32 像素影格就是 128x32)或網格,如果你是在 3D game builder 裡驅動它,就用計時器推進影格索引,並對照 UV 偏移。
最好的免費 RPG 精靈製作工具是哪一個?+
我們自己做了一套,所以請把這段當成偏誤警告。有用的測試不是功能清單,而是匯出的網格是否對得上要使用它的引擎,以及工具是停在 PNG 就結束,還是能繼續做成可以玩的東西。如果你需要對結果做像素級的手動編輯,就把任何生成器搭配像素編輯器使用;如果你需要精靈在同一個瀏覽器分頁裡的世界中走動,那就是我們的工具在做的事。
回到 3D Game Builder
31 個完成的 3D 世界、遊戲與場景全放在同一頁——每一個都能直接玩。