画像から使いやすいピクセルアートのパレットを抽出する方法

新しいキャラクターを、既存のキャラクターと並べてもなじむようにしたいと考えています。スポイトで拾った1色をコピーするだけでは実現できません。元のスプライトには、影、基本色、ハイライト、そしてしばしば輪郭の余分な色が含まれています。まず実際に使われている色を見つけ、その後、どの色で使えるパレットを構成するかを決めてください。

まだピクセルがきれいなファイルから始める

元のPNGがあれば使ってください。JPEGのスクリーンショットは各縁のRGBを微妙に変えるため、意図した6色で描いたキャラクターが数百色に見えることがあります。非可逆WebPも同様です。パレット抽出はデコード色を正確に数え、新しい近似色を同じ絵の具として扱いません。

キャラクターのパレットが必要なら、アップロードする前に、無関係なUI、枠、大きな単色背景を切り取ってください。そうしないと、最も多くのピクセルを占めるだけの理由で、背景が1位になる場合があります。透明なスプライトでは、ほぼ見えない端のピクセルを無視できるよう、最小アルファしきい値を調整してください。

実用的な6色のキャラクターパレット

青いジャケットを着た32 × 32の主人公を想像してください。抽出一覧には2つの青、淡いハイライト、暗い輪郭、肌、暖色のアクセントが含まれます。頻度上位6項目をむやみにコピーしないでください。輪郭、ジャケットの影、ジャケットの基本色、ジャケットのハイライト、肌、アクセントという役割別に整理します。影から基本色、ハイライトへの並びは 色の階調。この関係は、使用頻度の一覧で色が並ぶ順番よりも重要です。

  1. きれいなスプライトをアップロードし、使用頻度一覧を確認します。見た目でキャラクターに属する色の16進コードをコピーしてください。
  2. ジャケットの影、基本色、ハイライトなど、各コードを役割と一緒に小さなメモへ置きます。2コードが区別できなければ、両方が意図的か判断する前に元画像を拡大してください。
  3. 同じ輪郭と階調の考え方を使って、新しいキャラクターを描いてください。一貫性が役立つ部分では正確に同じ色を再利用し、新しいキャラクターに異なる個性が必要なら、アクセントや素材の色を変えます。
  4. 選んだ値を保持するため、CSSまたはJSONを書き出してください。その出力は作業用一覧として扱い、数えたすべての色を最終パレットに入れるべきだという証明にはしないでください。
青いジャケットのピクセルアートの旅人と、輪郭・影・基本色・ハイライト・肌・アクセントの6つの色の役割。
抽出した色は、頻度だけでなく、作品の中で担う役割に応じて整理してください。色見本は、役に立つ役割の組み合わせを示すもので、実測に基づく抽出レポートではありません。 フルサイズ画像を開く

写真で役立たない結果になる理由

写真には多数のグラデーションや圧縮による変化が含まれます。厳密な集計では、どのRGBの組み合わせが最も多いかは分かりますが、似た色をまとめたり、見栄えのよい階調を選んだりはしません。目的が 削減 写真を様式化した12色にするには、抽出だけでなく量子化や手動のパレット設計が必要です。ImageMintのツールは意図的にピクセルに存在する色を報告し、再着色はしません。

便利な診断: 単色のはずのスプライトで数十の近似色が出たら、JPEG保存、平滑化リサイズ、背景への合成を確認します。パレットを作る前に可逆原本へ戻ってください。

大きなプロジェクトでは、名前付きの色見本を載せた参照シートを保持してください。新しい画像を解析して、意図せず生じた色を見つけます。 最近傍拡大 既存ピクセルを確認しやすくできますが、元画像に焼き付いたぼけは戻せません。可能なら可逆の原本を取り戻してください。

アルファと割合を正しく読む

32 × 32のキャンバスには1024ピクセルあります。選んだアルファしきい値を満たすのが600ピクセルだけで、そのうち150ピクセルがジャケットの基本色だとします。表示される頻度は150 ÷ 1024ではなく、150 ÷ 600 = 25%です。透明な余白は色として数えられず、しきい値を下げると、かすかな端の色が一覧に再び入る場合があります。

標準しきい値128は、およそ半分以上不透明なピクセルを含みます。255では完全に不透明なピクセルだけを含みます。意図的に硬い輪郭の絵柄なら255から始め、必要な柔らかい縁がある場合は128と比較してください。最小アルファを変更すると以前の結果は消えます。件数を比較する前に、もう一度解析してください。

少数しか使わないアクセント色を失わず、候補一覧を書き出す

上位8、16、32、64は表示・書き出しの上限で、画像の色数を減らすものではありません。上位8色が条件を満たすピクセルの85%を占めるなら、残り15%は非表示の色です。候補が揃ったと決める前に、上限を増やして目のハイライトや小さなアクセントを確認してください。

ダウンロードするCSSでは、次のような番号付き変数を使います: --pixel-color-01。キャラクターのポーズが変わると順位も変わることがあるため、その名前を「ジャケットの影」のような固定の意味を持つ役割として扱わないでください。役割を割り当てた後、選んだ変数をご自身のプロジェクトで名前変更してください。JSONは表示された色と個数を保持しますが、インデックスカラーパレットの画像でも、色変更の指示でもありません。

実際の絵柄でパレットを確認

  1. 選んだ輪郭色と、素材の3色の階調で、小さな新しいポーズを描いてください。
  2. 元画像と横に並べ、実寸で見てください。シルエットや重要なアクセントの読み取りやすさを確認します。
  3. 新しいPNGを解析し、柔らかいブラシや平滑化で意図せず生じた色を探してください。
  4. 名前付きの色見本の参照と、きれいなオリジナルを保持してください。色の集計結果は、目視の判断を置き換えるものではなく補うものです。

作業手順を試す

PNGをアップロードし、正確な色数を確認して16進値をコピーし、CSSかJSONで書き出します。

ピクセルアートの色を確認 →