LibreSprite 對上 Aseprite —— 免費像素編輯器比較(外加第三條路)
做一個自己的 libresprite vs aseprite
LibreSprite 是 Aseprite 的免費分支;Aseprite 是付費的原版。兩者都只能在桌面端跑。以下是它們的比較——以及一個也給你 3D 的瀏覽器選項。
LibreSprite 對上 Aseprite 不是兩個產品在打架。它是同一份程式碼在 2016 年分家:Aseprite 換了授權,最後一份 GPL 快照被分支出去、以 LibreSprite 之名繼續活著。Aseprite 是付費、一次買斷的原版。LibreSprite 免費。兩者都是 Windows、macOS、Linux 的桌面程式。都不在瀏覽器分頁裡跑,都不會把一段文字描述變成美術,也都對 3D 場景一無所知。
最後這點很關鍵,因為現在大多數像素美術的工作,終點都不是磁碟上的一張 PNG。你需要的是一張圖集裡的精靈表、一個能讓邊緣保持銳利的濾鏡模式,以及一個用整數倍率把這些像素畫出來、而且攝影機不會抖動的場景。這頁會老實比較這兩款桌面編輯器,再講瀏覽器那條路:Neta Studio 的 3D game builder,由 Agent Sprite Forge 負責精靈生成——美術和它所在的世界是同一個專案。
快速解答
兩款編輯器的核心工具集一樣,因為 LibreSprite 就是在某個時間點從 Aseprite 分支出來的:鉛筆、橡皮擦、含容差的油漆桶、矩形與橢圓選取、圖層、影格、洋蔥皮、調色盤檔,以及批次命令列。真正有意義的差異,全都在分支之後發生了什麼事。
一句話結論:要動畫、要拼接圖磚、要寫腳本,就選 Aseprite,並接受一次買斷。如果「免費、可再散布的執行檔」是硬需求、而你可以不要分支之後的功能,就選 LibreSprite。如果你的實際交付物是一個跑得起來的場景而不是一張精靈表,就選瀏覽器 builder。
| LibreSprite | Aseprite | |
|---|---|---|
| 費用 | 免費。GPL 授權原始碼,編譯出來的版本可以再散布。 | 付費,一次買斷。沒有訂閱。原始碼公開,但不允許把編譯好的版本發出去。 |
| 官方 | 2016 年之前 GPL 版 Aseprite 程式碼庫的分支,由貢獻者另行維護。 | 原版,由 Aseprite 開發團隊維護。 |
| 作業系統 | Windows、macOS、Linux。僅限桌面。 | Windows、macOS、Linux。僅限桌面。 |
| 在瀏覽器分頁裡跑 | 不行。 | 不行。 |
| 給動畫師的結論 | 逐格循環可以。圖磚圖層和較新的匯出格式沒有。 | 時間軸、標籤、循環模式、連結賽璐璐和精靈表打包,就是付錢的理由。 |
| 給初學者的結論 | 裝好就畫。沒什麼要設定,也沒什麼要付。 | 裝好就畫,而且針對這個介面寫的教學多得多。 |
| 給零安裝需求的結論 | 不是選項。 | 不是選項。改用瀏覽器 builder。 |
LibreSprite 是什麼
Aseprite 的原始碼在 1.1.x 之前都是 GPLv2。2016 年專案改用 source-available 的 EULA,允許你為了自己使用而編譯,但不允許散布編譯出來的執行檔。授權變更沒辦法把已經以 GPL 出貨的程式碼變成非 GPL,所以那份快照被分支出去。LibreSprite 就是那個分支:免費、可再散布,衍生自改授權之前的程式狀態。
分支當下存在的東西全都還能用。圖層與賽璐璐、各自帶時長的影格、洋蔥皮、索引色與 RGBA 色彩模式、GIMP .gpl 與 JASC .pal 調色盤、筆刷尺寸、遞色矩陣、變形、精靈表匯出,以及沿用下來的批次命令列,全都在。檔案以 Aseprite 家族的 .ase 格式寫出,所以 LibreSprite 的檔案通常可以直接在 Aseprite 裡開,不用先轉檔。這種單向相容正是這個分支還實用的主因。
它不做的,是跟上上游。圖磚圖層、Lua 腳本 API、後來的打包與匯出選項,以及 1.2、1.3 系列的介面工作,全都沒有。實際會碰到的失敗模式是檔案,不是選單:開一個用了圖磚圖層的精靈,分支的載入器不認那些 chunk 類型,所以預期會看到拒收,或是一個被壓平的近似結果。任何用到分支後功能的東西,都留一份 Aseprite 端的副本。發版節奏也比上游慢,而且從原始碼編譯當前版本會拉進 Skia 依賴——這正是滾動發行版上從原始碼建置失敗的常見原因。
Aseprite 是什麼
Aseprite 是付費的原版,而付的錢買的是那些大多數人在單張圖裡根本不會碰到的部分。時間軸裝著圖層和賽璐璐,每個影格自帶以毫秒計的時長,標籤則帶循環模式:正向、反向、乒乓。賽璐璐可以連結,讓同一張圖跨影格重複使用而不必複製像素。平鋪預覽模式讓你在畫的當下就看到無縫圖樣,這是「猜接邊長怎樣」和「直接看見接邊」的差別。
圖磚圖層給你一個固定網格,每個圖磚可個別變形、可翻轉,所以關卡是以圖磚拼出來的,而不是畫成一張扁平點陣圖。Slice 為精靈的區域命名,讓匯出能把每個區域寫成獨立檔案。Lua API 既能在編輯器裡跑,也能從命令列無介面執行,批次轉檔、程序化繪圖、腳本化精靈表排版都是靠這個做的。匯出涵蓋帶 JSON 或 XML metadata 的精靈表、精靈表打包、依圖層或標籤分割,以及動畫 GIF、APNG、WebP。確切的旗標名稱在各版本之間搬動過,所以要拿命令列把流程串成自動化之前,先看你手上那個版本的說明。
費用和授權要講精確:這是付費軟體,以一次買斷、而非訂閱的方式販售,透過專案自己的商店和 Steam 散布。原始碼有公開,授權允許你編譯來自己用;但不允許你把編譯出來的版本再散布出去。這就是它和那個分支之間的全部差別。其餘的差別是資金與動能:付費開發支撐起規律的發版節奏和公開的 changelog,而這個程式周圍的社群,正是教學、筆刷、調色盤和腳本幾乎都針對 Aseprite 的介面與命令列來寫的原因。
功能與費用對照表
下面這些格子描述的是實際出貨版本會做的事,不是「如果有足夠貢獻者,某個分支理論上能實作什麼」。遇到跟版本有關的功能,格子裡會直接寫出來。
有兩列值得先警告。腳本和平鋪最常被誤以為是共通的,因為兩個程式在截圖裡長得一模一樣。它們並不共通,任何依賴這兩者的流程都無法在兩邊之間搬移。
怎麼讀 LibreSprite vs Aseprite 這張表
把每一列當成同一個屬性的兩個值來讀。如果某一列對你的工作是決定性的,那一列就是你的決定;表格其餘部分都是雜訊。
| LibreSprite | Aseprite |
|---|---|
| 費用:免費。沒有付款步驟,沒有授權金鑰,編譯出來的版本可在 GPL 下再散布。 | 費用:付費,一次買斷。沒有訂閱。原始碼公開;不允許散布編譯好的版本。 |
| 平台:Windows、macOS、Linux 桌面版。沒有瀏覽器目標。 | 平台:Windows、macOS、Linux 桌面版,也透過 Steam 散布。沒有瀏覽器目標。 |
| 動畫:影格、逐格時長、洋蔥皮與標籤。應付逐格循環夠用。沒有圖磚驅動的動畫,也不能匯出動畫 WebP 或 APNG。 | 動畫:帶標籤與循環模式的時間軸、連結賽璐璐、平鋪預覽、GIF、APNG、WebP 匯出,以及帶 JSON 或 XML metadata 的精靈表打包。 |
| 腳本:不在出貨功能集內。腳本在 issue tracker 裡是被追蹤的請求,不是能用的 API。 | 腳本:編輯器內建 Lua API,也能從命令列無介面執行,用於批次匯出與程序化繪圖。 |
| 平鋪:平鋪預覽,可在畫無縫圖樣時看見接邊。沒有圖磚圖層型別,圖磚只能手動擺。 | 平鋪:固定網格上的圖磚圖層,支援逐圖磚變形與翻轉旗標。 |
| 活躍開發:由貢獻者維護,標記版本之間常有長時間空窗;從原始碼建置會拉進 Skia。 | 活躍開發:有資金支撐的開發、規律發版、公開 changelog。 |
| 社群規模:相對上游偏小。求助集中在 repo 的 issue tracker,而多數教學是為 Aseprite 寫的,得自己手動對應過來。 | 社群規模:相對那個分支大得多。教學、腳本、調色盤和筆刷都是針對 Aseprite 的介面與命令列寫的。 |
該選哪個
決定很短,因為兩個程式重疊得太厲害。對照你的限制條件,而不是你的偏好,並且在裝任何東西之前,先寫下表格裡哪一列是你不能沒有的。
- 動畫師Aseprite。循環模式、連結賽璐璐、平鋪預覽,以及帶 metadata 的精靈表打包,就是工作流程本身。在 LibreSprite 裡你得手動排影格、自己寫圖集 metadata,短循環還行,到了走路循環的八個方向就撐不住了。
- 預算為零的初學者LibreSprite。裝好就畫,沒東西要設定,也沒東西一直催你付錢。接受一件事:講到圖磚圖層或腳本的教學對不上你的選單,你得把指令翻譯過來而不是照著做。
- 想被教會的初學者Aseprite。教學、筆刷和調色盤包大多預設你用這個程式,所以文件和介面彼此對得上。
- 要交出一个 3D 場景的人單靠哪一個都不行。兩款編輯器的終點都是一張 PNG、一張 GIF 或一張精靈表。還得有別的東西把這些美術放進世界裡、打光、做動畫、送到玩家面前。下一節講的就是這個缺口。
- 完全不想安裝東西的人兩個都不是。兩者都是原生桌面執行檔,配原生檔案對話框。如果你工作的機器上不能裝軟體,瀏覽器 builder 是這些選項裡唯一能開在分頁裡的。
第三條路:瀏覽器、生成器、3D
如果你的限制是「不能安裝」,或者精靈的終點是一個場景而不是一個資料夾,那麼桌面編輯器的比較就沒什麼用了。像素編輯器是帶檔案選單的繪圖工具。世界則是一張場景圖、一台攝影機、碰撞,以及一個必須跑在玩家已經在的地方的渲染迴圈。
Neta Studio 的 3D game builder 是瀏覽器裡的世界與遊戲建構器。你用文字描述一個世界,它會被建成一個跑在分頁裡的、可遊玩的 Three.js 場景。不用安裝程式,不用先搭引擎專案,也不用先匯出才能進去走一圈、確認東西的尺度。The Cyclops' Island 和 Mini World 是完成品參考世界,你可以在動手做自己的之前先打開來看一個場景是怎麼構成的。
兩款桌面編輯器在分頁裡都做不到的事
Aseprite 和 LibreSprite 都沒有瀏覽器版。兩者都是原生 C++ 應用程式,配原生檔案對話框,而那個分支還額外背著 Skia 依賴——沒有任何理由它會為了 web 而變小。其他像素編輯器是有第三方的瀏覽器移植版,但那不是這兩個程式,也沒有你會期待的原生檔案對話框或本機檔案存取。
更大的缺口在編輯器的下游。兩個程式都不會從一段描述生成精靈,也都不能把精靈放進 3D 場景。桌面編輯器最強的輸出是一張打包好、帶 metadata 的精靈表;在那之後,你還是得把它匯入引擎、指定材質、寫好擺放的程式碼,最後發布到玩家到得了的地方。
Agent Sprite Forge 在哪裡接上
Agent Sprite Forge 為你建的世界生成精靈:角色、道具,那些否則你得在桌面編輯器裡一格一格畫出來的東西。輸出是以材質的形式抵達,而且已經在專案的資源管線裡、也已經指派給場景裡的某個東西——這就省掉了介於一張 PNG 和一個遊戲物件之間的匯入與接線步驟。
決定你的像素能不能活下來的匯入設定
像素美術在 3D 渲染器裡掛掉,原因都很無聊。材質如果用線性插值取樣,一個 16x16 的精靈在攝影機一動就糊掉;把放大與縮小的濾鏡都設成最近鄰,並且把 mipmap 關掉,因為 mipmap 鏈本質上就是一層模糊。精靈表如果打包時影格之間沒有留間距,靠邊的取樣會把隔壁影格拉進來,所以打包時留一兩個像素的間距。如果你在意較舊的 WebGL1 後備路徑,把圖集維持在二的次方。
還有兩個設定會造成大多數被形容成「遊戲看起來怪怪的」的抱怨。用基礎解析度的整數倍率渲染:320x180 放大 4 倍是 1280x720,而 2.5 倍會讓有些像素佔兩個螢幕像素、有些佔三個,那條不均勻的格線在任何直邊上都看得出來。然後把靜態攝影機對齊到整像素、移動中的攝影機對齊到半像素;否則捲動背景會在取樣點落在 texel 之間時閃爍。
01
在 builder 裡描述世界,而且把尺度講具體:玩家多高、攝影機是正交還是透視、玩家會撞到什麼。
02
用 Agent Sprite Forge 生成角色與道具精靈。挑一個放大後仍乾淨的影格尺寸,例如 16x16、24x24 或 32x32。
03
在匯入時確認材質設定:最近鄰濾鏡、mipmap 關閉、不要各向異性濾鏡,這樣不管攝影機多遠,一個 texel 就是一個 texel。
04
在調任何其他東西之前,先把渲染倍率設成基礎解析度的整數倍。之後再改會讓你先前做過的每一個尺寸決定失效。
05
靜態時把攝影機位置對齊整像素,移動時對齊半像素,然後在目標影格率下檢查捲動邊緣有沒有閃爍。
06
接上碰撞,直接在分頁裡玩這個場景。在同一個 session 裡反覆調整,因為編輯和跑起來的場景之間沒有 build-and-launch 的循環。
07
打開 The Cyclops' Island 或 Mini World,看看一個完成的世界是怎麼組起來的,再回頭重整你自己的。
比較的陷阱
比較同一個程式的兩個分支,等於是把一個程式跟它自己比。LibreSprite 和 Aseprite 共享血統、大部分的介面、同一個檔案格式家族,以及一整套鍵盤快速鍵。兩者之間幾乎每個差異,都可以化約成一個是非題:某個功能在特定版本裡存不存在——而 changelog 回答這題比任何評測都快。把它們排名,等於暗示這是兩個獨立產品在做獨立選擇,但實情不是這樣。
為什麼 LibreSprite vs Aseprite 是錯的軸線
真正會改變你工作的軸線是桌面對上瀏覽器,以及純 2D 對上 2D 進入 3D。問你的輸出必須是什麼。如果是一張給別人流程用的精靈表,就挑一個符合你預算的編輯器,到此為止。如果是一個跑得起來的場景,兩款編輯器都不是完整答案:它們都停在一張圖,而圖之後的一切是另一套工具、另一套失敗模式。
算一下從你的圖到玩家之間有幾步。桌面路徑是編輯器到 PNG、PNG 到引擎匯入、引擎到材質、材質到場景、場景到 build、build 到託管。瀏覽器專案把其中好幾步收攏進同一個 session。你每次改角色影格尺寸時會感受到的,是這個步數,不是分支歷史。
走進它所屬的那個世界
同一個桌面程式的兩個分支,能差的地方就那麼多。第三個選項形狀完全不同——不用安裝、以生成取代只能手畫,終點是一個 3D 世界。打開它,自己比一比。
常見問題
LibreSprite 跟 Aseprite 一樣嗎? +
不一樣。LibreSprite 是 Aseprite 程式碼庫在 GPL 時期狀態的分支,在 Aseprite 於 2016 年改授權後被保留下來。它們共享工具、快速鍵和 .ase 檔案格式家族,但由不同的人維護,而且 LibreSprite 不跟進上游功能。
LibreSprite 和 Aseprite 哪個比較好? +
要動畫、圖磚、腳本和匯出控制,選 Aseprite,因為那些功能在那裡有、在分支裡沒有。要免費、可再散布、不用付款的執行檔,選 LibreSprite。要在瀏覽器分頁裡跑起來的 3D 場景,兩個都不是。
LibreSprite 支援動畫嗎? +
支援。影格、逐格時長、洋蔥皮和標籤都來自原本的程式碼庫,現在還能用,應付逐格循環足夠。它缺的是後來的動畫與匯出工作,包括圖磚圖層動畫,以及動畫 WebP 或 APNG 輸出。
哪一個免費? +
LibreSprite 免費、GPL 授權,你可以再散布。Aseprite 是付費軟體,一次買斷;原始碼公開,授權允許你編譯來自用,但不能散布你編譯出來的版本。
那 Pixelorama 呢? +
它是另一個獨立撰寫的像素編輯器,免費且開源,以 Godot 應用程式的形式建構,有桌面版也有瀏覽器版。它不是 Aseprite 的分支,對 Aseprite 檔案的支援涵蓋常見情況而非每一個 chunk,所以在依賴它之前先驗證一次來回轉檔。
我可以在瀏覽器分頁裡跑 Aseprite 或 LibreSprite 嗎? +
官方不行。兩個專案都沒有出 web 版;你得在 Windows、macOS 或 Linux 上裝桌面執行檔。如果裝軟體不是選項,瀏覽器那條路就是 3D game builder——由 Agent Sprite Forge 產出精靈,場景跑在分頁裡。
回到 3D Game Builder
全部 31 個完成的 3D 世界、遊戲和場景都在同一頁——每一個都能玩。