AIドット絵の修正 · 生成画像を本物のピクセル格子に
画像生成で作られた絵は、拡大するまではドット絵に見えます。「ピクセル」は大きさの揃わない塊で、色は汚れ、縁はぼけています。Studioの整理パネルは塊の大きさを測って塊ごとにきれいなピクセルを1つ作り、色を減らします。信頼できるグリッドが見つからなければ、はっきりそう伝えます。

- Palette files測定確認· read back
- .aseprite検証済み· Aseprite 1.3.18
- Engine bundles検証済み· Godot 4.7.2 · Unity 6000.5
- Frame PNG · .nerulio通常ファイル
できること
- エッジ追跡が幅の不揃いな疑似ピクセルをたどります。ノイズより大きな縁だけを使い、縁のエネルギーの97 %以上に境界が乗る最大のセルサイズを選び、平らな区間は均等に分けます。色にノイズがあり、根拠が一致するときだけ使います。
- 元画像が分かっている模擬生成画像では、サイズを1px以内で当てたのが80 %(完全一致は20 %)、背景を残すとピクセルの70.3 %が完全一致、92.8 %がΔE 0.02以内でした。
- 実際の生成画像7枚はすべて「不確か」と判定してサイズを変えず、最良の候補(あるプレビュー群では約3.3px)を表示しました。その値を入力して自分で適用できます。
- Oklabでの色まとめ、色数の上限、スプライトのパレットへの減色、アンチエイリアスの縁と孤立ピクセルの除去。結果は鉛筆で手直しできる新しいスプライトです。
使い方
- 生成画像をこのページにドロップすると、ピクセル作業画面に開きます。
- 整理パネルで「測定」を押し、判定と確かさを読みます。
- 「不確か」ならグリッドを拡大して見えるドットの大きさを入力し、色数の上限を決めます。
- プレビューのあと新しいスプライトとして適用し、まだ気になるピクセルを整えます。
エンジン別の書き出しと検証方法
「検証済み」は、実際の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検索が唯一の通信で、事前に確認します。
よくある質問
大きさの違うピクセル(ミクセル)も直せますか?
多くの場合は直せますが、いつもではありません。幅の不揃いな疑似ピクセルのためにエッジ追跡があり、模擬生成画像では80 %でサイズが1px以内でした。根拠が弱いと「不確か」と伝え、サイズを入力するまで何も変えません。
何かを生成したり描き直したりしますか?
いいえ。出力ピクセルはセル内で最も多い色(またはOklabのメドイド)で、パレットは絵か自分で選んだパレットから来ます。元画像は変わらず、結果は新しいスプライトです。
複数フレームのパレット固定やアンチエイリアス除去は?
整理パネルに色数の上限とパレットへの減色があります。従来のピクセルラボも複数フレームを1つのパレットに固定し、アンチエイリアスの縁を合わせます。下にリンクがあります。
無料ですか?アカウントは必要ですか?
このページの機能はすべて無料で、アカウントなしで使えます。透かしや制限された書き出しはありません。
スプライトはアップロードされますか?
いいえ。Studioはこのブラウザのタブ内でデコード・パック・書き出しを行います。プロジェクトはブラウザ(IndexedDB)に自動保存され、.nerulioファイルとして保存できます。
Asepriteやエンジンのプラグインは必要ですか?
いいえ。.asepriteファイルはブラウザで読み書きします。エンジン別のバンドルには必要なものが入っています(Godotはインポート設定とシーン、UnityとGodotのタイルセットは小さなエディタースクリプト)。