LibreSprite 對上 Aseprite · 以及瀏覽器上的第三條路

LibreSprite 對上 Aseprite —— 免費像素編輯器比較(外加第三條路)

做一個自己的 libresprite vs aseprite

LibreSprite 是 Aseprite 的免費分支;Aseprite 是付費的原版。兩者都只能在桌面端跑。以下是它們的比較——以及一個也給你 3D 的瀏覽器選項。

✦遊戲
做一個 libresprite vs aseprite

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。

LibreSpriteAseprite
費用免費。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 這張表

把每一列當成同一個屬性的兩個值來讀。如果某一列對你的工作是決定性的,那一列就是你的決定;表格其餘部分都是雜訊。

LibreSpriteAseprite
費用:免費。沒有付款步驟,沒有授權金鑰,編譯出來的版本可在 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 之間時閃爍。

1

01

在 builder 裡描述世界,而且把尺度講具體:玩家多高、攝影機是正交還是透視、玩家會撞到什麼。

2

02

用 Agent Sprite Forge 生成角色與道具精靈。挑一個放大後仍乾淨的影格尺寸,例如 16x16、24x24 或 32x32。

3

03

在匯入時確認材質設定:最近鄰濾鏡、mipmap 關閉、不要各向異性濾鏡,這樣不管攝影機多遠,一個 texel 就是一個 texel。

4

04

在調任何其他東西之前,先把渲染倍率設成基礎解析度的整數倍。之後再改會讓你先前做過的每一個尺寸決定失效。

5

05

靜態時把攝影機位置對齊整像素,移動時對齊半像素,然後在目標影格率下檢查捲動邊緣有沒有閃爍。

6

06

接上碰撞,直接在分頁裡玩這個場景。在同一個 session 裡反覆調整,因為編輯和跑起來的場景之間沒有 build-and-launch 的循環。

7

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 世界、遊戲和場景都在同一頁——每一個都能玩。

平台: Neta Studio頁面: LibreSprite vs Aseprite接著讀: /explore/guide/aseprite-alternatives · /use-cases/en/aseprite-free-alternative · /use-cases/en/aseprite-alternative
×