ドット絵パレット編集 · インデックスカラーとLospec
スプライトそのものを対象にしたパレットエディタです。絵をインデックスカラーに変えてから項目の並びや色を変えても、全フレームの見た目はそのまま。Lospecのパレットを名前で取り込み、Aseprite・GIMP・Photoshopが読める形式でパレットを保存できます。

- .aseprite検証済み· Aseprite 1.3.18
- Palette files測定確認· read back
- Engine bundles検証済み· Godot 4.7.2 · Unity 6000.5
- Frame PNG · .nerulio通常ファイル
できること
- カラーモードRGB ↔ インデックス:絵の正確な色、現在のパレット、DB32から選び、最も近い色はOklabで判定。ディザは初期設定でオフ(必要ならリニア光での組織的ディザ)。透明インデックスは別項目なので、黒は黒のまま残ります。
- パレットの項目を別の位置へドラッグすると、インデックスのスプライトは全セルがインデックス表に沿って書き直され、絵は変わりません。明るさ・色相・彩度・使用量で並べ替え、追加、削除、透明インデックスの指定。
- OkLCh上の色相シフトのランプ:暗い側は寒色へ、明るい側は暖色へずらし、段数・シフト量・最も暗い/明るい度合いをダイアログで設定。基準色は正確に保たれます。
- チームカラー差分:パレットでランプを選ぶと、チームカラーごとのランプが全フレーム・全レイヤーに対応づけられ、差分ごとに新しいスプライトになります。インデックスのスプライトならパレットを1回直すだけで全フレームの色が変わります。
- チェックパネルはフレームごとの色数を上限と比べ、パレット外の色とほぼ同じ色を洗い出し、はみ出したピクセルを選択するか1手順でパレット色にそろえます。
使い方
- スプライト、フレーム、.asepriteをこのページにドロップすると、パレットパネルにパレットが表示されたピクセル作業画面が開きます。
- ピクセル › カラーモードでインデックスとパレットの元(絵の正確な色、現在のパレット、DB32)を選び、すっきりしたドット絵ならディザはオフのままにします。
- 項目をダブルクリックして色を直し、ドラッグで並べ替えるか、ピクセル › Lospecパレットで最初に一度同意してからパレット名を入力します。
- パレットメニューから.gpl・.pal・.hex・.ase・.act・.jsonでパレットを書き出し、スプライトはインデックスの.asepriteで保存します。
パレット形式の読み書き
すべてパレットメニューから読み書きします。「確認済み」は書き出して読み戻し、一致したという意味です。
| 形式 | 作られる場所 | 読み込み | 書き出し |
|---|---|---|---|
| .gpl | GIMP、Lospec、Aseprite | 可(Lospecが書くRGBAも) | 可、確認済み |
| .pal | Paint Shop Pro(JASC)、RIFFパレット | 両方式 | 可、確認済み |
| .hex | Lospec | 可 | 可、確認済み |
| .ase(スウォッチ) | Adobe Photoshop・Illustrator | 可(実際の16色ファイルで確認) | 可、確認済み |
| .act | Adobeカラーテーブル | 可 | 可、確認済み |
| .json / .aseprite | Lospec JSON / Asepriteのスプライト | 可 / そのパレット | JSONは可、確認済み |
エンジン別の書き出しと検証方法
「検証済み」は、実際のCC0アセットから書き出したファイルを本物のエンジン・ツールで読み込み、元データと比較したという意味です。読み込んでいない形式はそのように表示します。
| 書き出し先 | ファイル | 検証 |
|---|---|---|
| .aseprite | layers · blend · opacity · locked · indexed palette · frames · tags | 検証済み Aseprite 1.3.18実際のAsepriteコマンドラインで、インデックスモード・レイヤー2枚・不透明度160の乗算・編集不可のロックレイヤーのまま開き直し、フレームのピクセルも一致しました。 |
| Palette files | .gpl · .pal · .hex · .ase · .act · .json | 測定確認 read back各形式を書き出して読み戻し、一致を確認。Asepriteが書いた.gpl・.pal・.hex・.actと実際のAdobe .ase(16色)も読み込めました。 |
| Engine bundles | Godot 4 · Unity 6 · Phaser 3/4 · PixiJS 8 … through Pack & Export | 検証済み Godot 4.7.2 · Unity 6000.5描いたスプライトはパック&書き出しでまとめます。そのエンジン用ファイルは実在のCC0アセットで各エンジンに読み込んで確認済み(49回中47回合格。失敗2回はPhaser 3プリセットで避けられるPhaser 3.90のバグ)。 |
| Frame PNG · .nerulio | PNG-8 with the palette when an indexed frame fits it · project file | 通常ファイルどのツールでも使える通常ファイルで、エンジンでの検証は主張しません。 |
検証の根拠
整理のベンチマーク(元の1倍画像が分かっているCC0ケース69件):サイズを正確に当てたのは81 %(±1px:90 %)、背景を残すとピクセルの74.0 %が完全一致。最も良い競合ツールはサイズ30 %(perfectPixel)、完全一致ピクセル44.6 %(unfake.js)。Asepriteで作った×4ニアレスト拡大は100 %、×3.78バイリニアは99.7 %一致で戻り、どちらもサイズは自動で判定。1pxのアウトラインとドロップシャドウはAsepriteの結果とピクセル単位で一致(1846px・705px)。ここで書いた.asepriteはAseprite 1.3.18でインデックスモード・レイヤー・合成モード・ロックのまま開きます。
制限
- ピクセル作業画面にないもの(Asepriteにはある):レイヤーグループ、リンクセル、タイルマップレイヤー、参照レイヤー、RotSpriteと選択範囲の自由回転・拡縮(反転と90°のみ)、グラデーション・スプレー・輪郭・テキストツール、カスタムブラシ(四角・丸の1〜16px)、タイル状の連続描画、LuaスクリプトとCLI。
- 対称軸は数値入力で、キャンバス上でドラッグできません。タッチでは右ボタンがないため、背景色は入れ替えボタンかXで使います。
- 整理:JPEGは近い色で戻りますが(背景を残すと84 %がΔE 0.02以内)、完全一致はまれ(12 %)。模擬的な生成画像でサイズが完全一致したのは20 %(±1px:80 %)、実際の生成画像7枚は1枚も自動では合わせません。パネルが示すピクセルサイズを入力してください。
- インデックス変換はAsepriteのRGB距離ではなくOklabで最も近い色を選びます。テスト用スプライトでは68 %のピクセルが別の(見た目により近い)色になりました。Lospec検索が唯一の通信で、事前に確認します。
よくある質問
インデックス変換でAsepriteと違う色が選ばれるのはなぜ?
最も近い色を知覚的な色空間Oklabで選ぶためで、AsepriteはRGBの距離を使います。テスト用スプライトをPICO-8に変換すると、不透明ピクセルはすべてOklabで最も近い色になり、RGBでの選択とは68 %のピクセルで異なりました。
Lospec検索は何を送信しますか?
入力したパレット名だけです。同意ダイアログのあと、Cookieとリファラーなしでlospec.com/palette-list/<名前>.jsonへのリクエストが1つ出ます。作業画面全体で唯一の通信で、断れば何も送りません。
PhotoshopやPaint Shop Proのパレットも読めますか?
はい。Adobeの.aseスウォッチと.act、JASC・RIFFの.pal、GIMPの.gpl、.hex、Lospec JSON、.aseprite内のパレットを読めます。各形式を書き出して読み戻し一致を確認し、実際の16色のAdobe .aseも読み込めました。
無料ですか?アカウントは必要ですか?
このページの機能はすべて無料で、アカウントなしで使えます。透かしや制限された書き出しはありません。
スプライトはアップロードされますか?
いいえ。Studioはこのブラウザのタブ内でデコード・パック・書き出しを行います。プロジェクトはブラウザ(IndexedDB)に自動保存され、.nerulioファイルとして保存できます。
Asepriteやエンジンのプラグインは必要ですか?
いいえ。.asepriteファイルはブラウザで読み書きします。エンジン別のバンドルには必要なものが入っています(Godotはインポート設定とシーン、UnityとGodotのタイルセットは小さなエディタースクリプト)。