出力を見る

実際のGIFからの実際の出力 — モックアップなし。

スプライトシートPNG

全フレームを1つのファイルに

各フレームをグリッドのPNGにパック。Unity、Godot、Phaser、またはスプライトシートを読めるあらゆるエンジンにそのまま投入できます。

コーギーの健康な歩行アニメーションのスプライトシート — 16×8グリッドに128フレーム

128フレーム · 16 × 8 グリッド · 1280 × 640 px · healthy_pacing.gif

トラベルテーブル · Dart / Flutter

フレーム → 位置のマッピング

ピクセルの動きをフレームごとに解析し、フレームごとに0→1の移動値を出力します。開始時のアイドル中は0を保ち、歩幅の間に前進し、末尾で1を保ちます — これによりキャラクターの画面上の位置が実際の脚の動きに固定されます。

// 128 frames · idle_pad=1 · hold_lead=3 · hold_trail=5
const _kPaceTravelByFrame = <double>[
  0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,
  // … idle lead — character sitting before walk …
  0.0244, 0.0488, 0.0732, 0.0976, 0.1220, 0.1463,
  0.1707, 0.1951, 0.2195, 0.2439, 0.2683, 0.2927,
  // … advancing through stride …
  0.8780, 0.9024, 0.9268, 0.9512, 0.9756, 1.0000,
  1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000,
  // … idle trail — character settling after walk …
];

同じGIFから < 1秒で生成 · あらゆる歩行アニメーションで動作

なぜスプライトではフラッドフィルが勝るのか

写真で学習されたAIモデルは、平坦なカートゥーンの色に混乱します

カートゥーンスプライトにAIを使う場合

  • [object Object]
  • [object Object]
  • [object Object]
  • [object Object]

スプライトにフラッドフィルを使う場合 ✦

  • [object Object]
  • [object Object]
  • [object Object]
  • [object Object]

方式を Auto に設定すると、RemoveGifBG は平坦な背景を検出したときに自動的にフラッドフィルを選びます。

ゲームスプライトのよくある質問

どのゲームエンジンがAPNGスプライトを受け付けますか?

Unity、Godot、Phaser.js、および大半のWebベースのエンジンは、PNGシーケンスをインポートするか、APNGを標準的なPNGとして読み込めます。フレームごとのPNGが必要なエンジンには、スプライトシートのダウンロードを使ってください。

なぜ被写体がフレーム間でずれるのですか?

RemoveGifBG はトリミング前に全フレームにまたがる和集合のバウンディングボックスを計算するため、被写体はフレームごとの位置に関係なく整列したままです。トリミングはアニメーション全体を通じて空間的に一貫しています。

「下」アンカーオプションとは何ですか?

キャラクタースプライトの場合、「下」アンカーは被写体をキャンバスの下部に配置し、足が常に地面に接するようにします — プラットフォーマーやRPGのアセットの標準的な慣例です。

ドット絵のスプライトにフラッドフィル方式を使えますか?

はい — フラッドフィルは単色背景のドット絵で非常にうまく機能します。シャープなピクセルの輪郭には低い許容値(8〜12)を設定してください。ドット絵にはAI方式は輪郭を柔らかくすることがあるため避けてください。