本文へスキップ

AIドット絵の修正 · 生成画像を本物のピクセル格子に

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

描くスプライト・フレーム・GIF・.aseprite、または整理する拡大画像をドロップ
空のStudioを開く
ブラウザ内で処理し、ファイルはアップロードされません。
Studio のピクセル作業画面の整理パネル:画像生成で作られたCC0画像を「不確か」と判定し、自動では適用しない
CC0アセット(OpenGameArt)を開いた実際のStudio画面です。
書き出し先
  • 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での色まとめ、色数の上限、スプライトのパレットへの減色、アンチエイリアスの縁と孤立ピクセルの除去。結果は鉛筆で手直しできる新しいスプライトです。

使い方

  1. 生成画像をこのページにドロップすると、ピクセル作業画面に開きます。
  2. 整理パネルで「測定」を押し、判定と確かさを読みます。
  3. 「不確か」ならグリッドを拡大して見えるドットの大きさを入力し、色数の上限を決めます。
  4. プレビューのあと新しいスプライトとして適用し、まだ気になるピクセルを整えます。

エンジン別の書き出しと検証方法

「検証済み」は、実際のCC0アセットから書き出したファイルを本物のエンジン・ツールで読み込み、元データと比較したという意味です。読み込んでいない形式はそのように表示します。

書き出し先ファイル検証
.asepritelayers · 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 bundlesGodot 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 · .nerulioPNG-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のタイルセットは小さなエディタースクリプト)。