ドット絵をGIFアニメで書き出す手順|透過とループ最適化
ドット絵をGIFアニメで書き出す手順|透過とループ最適化
GIFアニメの書き出しは、Asepriteで32x32のキャラ歩行アニメを透過背景つきで作っても、輪郭に白いフチが残るところで止まりやすい。GIFは1フレーム最大256色、アルファは透明か不透明の1bitしか持てないため、半透明のアンチエイリアスがそのまま透過できず、
GIFアニメの書き出しは、Asepriteで32x32のキャラ歩行アニメを透過背景つきで作っても、輪郭に白いフチが残るところで止まりやすい。
GIFは1フレーム最大256色、アルファは透明か不透明の1bitしか持てないため、半透明のアンチエイリアスがそのまま透過できず、まずはその仕様を前提に組み立てる必要があります。
この記事では、透過・無限ループ・速度・サイズを数値で詰めながら、背景が白くなる、SNSで引き伸ばされてぼやける、ファイルが重いという3つのつまずきを順番にほどいていきます。
パレット確定からループ設定、整数倍リサイズ、最適化までを4工程で固定化し、読後には迷わずGIFを書き出してそのままゲーム素材やX投稿に回せる状態を目指しましょう。
完成イメージとGIF書き出しの全体像
GIFは、透過・無限ループ・軽量を同時に満たしてこそ書き出し先として使いやすくなります。
まず完成イメージを先に置き、その条件を順に満たすために、書き出しはパレット確定、ループ設定、倍率指定、最適化の4工程で考えると迷いが減ります。
32x32の透明背景に4フレームの歩行アニメを置いた状態を出発点にすると、読者は自分の制作物と重ねやすいでしょう。
プレビューでループ再生を確認してから出力する癖を付けると、書き出し後に見つかる崩れを前段でつぶせます。
GIFが得意なこと・苦手なこと
GIFが向いているのは、256色以内で収まる短いループアニメです。
SNSやサイト埋め込みでそのまま動かしやすく、再生環境を選びにくいのが強みになります。
逆に、半透明のにじみや多色グラデーション、長尺の動きは苦手です。
GIFのアルファは1bitなので、輪郭の半透明ピクセルは不透明扱いになりやすく、透過したはずの部分に白フチが残ります。
だからこそ、透過表現をきれいに見せたいなら輪郭はハードエッジで組み、フェードや発光を残したい場面では連番PNGやAPNGへ切り替える判断が必要です。
形式の限界を先に見ておくと、制作途中で「なぜ崩れるのか」を悩まずに済みます。
完成物の見栄えだけでなく、どの配布先で破綻しないかまで含めてGIFの役割を決めるのがコツです。
書き出し前に決めておく3つの設定
設定の核は、ループ、速度、サイズです。
ループは0で無限再生、1以上で指定回数の再生停止になります。
速度はFPSかフレームディレイで決め、ピクセルアニメならキャラ動作で8-12FPS、待機ループで4-6FPSが扱いやすいです。
10FPSなら約100ms、6FPSなら約167msに相当するので、後から数字を変えるより先に動きの速さを共有しておくと迷いません。
サイズは整数倍リサイズが基本で、拡大はニアレストネイバーに固定します。
2x、4x、8x、16xのように倍率をそろえるとピクセル境界がぼけず、非整数倍で起きる大きさの不揃いも避けられます。
さらに、色数は必要最小限まで削ると圧縮が効きやすく、ベタ塗り主体ならディザリングを切ったほうが余計なノイズを増やしません。
背景が静かなループでは、変化領域だけを保存する考え方も効きます。
対象ツールと前提キャンバス
この記事ではAsepriteを主軸にし、無料のPiskelとオンライン最適化ツールを補助として扱います。
画面の名前や配置は違っても、透過、ループ、サイズの3設定がどこにあるかさえ分かれば、操作の流れはほぼ共通です。
32x32・透明背景・4フレームの歩行アニメを作っておくと、各ツールでの差分を見比べやすくなります。
最適化の仕上げでは、1フレームに256色を超えないかを確認し、必要ならインデックスカラーで色数を詰めます。
XはアップしたGIFをmp4へ自動変換するため透過は残りませんが、透過を保ちたいアイコン用途なら900px未満のPNG-8が候補になります。
オンラインの圧縮は強くかけすぎると色ノイズが出るので、書き出し前のプレビューでループと色の崩れを見てから進めると安心です。
背景透過がうまくいかない理由と正しい対処
GIFの透過が白く見えるのは、GIFが半透明を持てない1bitアルファの形式だからです。
透明か不透明かの二択しかなく、輪郭のアンチエイリアスに使った中間色のピクセルも、書き出し時には不透明側として扱われます。
透過したはずなのに白フチが残るのは、そのピクセルが背景色に置き換わって見えているためです。
なぜ透過部分が白くなるのか
GIFは1フレームあたりの色数にも制約がありますが、つまずきの本体はアルファの扱いにあります。
輪郭を柔らかく見せるために入れた半透明のなじませは、PNGならそのまま活きますが、GIFでは成立しません。
歩行アニメをいったんアンチエイリアスありでGIF化して、白い縁が足先や髪先に残った経験があるなら、それは形式の都合であって描き方の失敗ではないのです。
透過前提のドット絵では、輪郭をハードエッジで切るほうが結果的にきれいに見えます。
柔らかさを残したい気持ちは自然ですが、GIFではその柔らかさが白フチに変わりやすい。
そこで線をくっきり描き直すと、輪郭の外側が不透明扱いされる部分を減らせるので、表示時のにじみが消えます。
発光やフェードを残したいなら、そもそもGIFに載せる設計を変えるべきです。
Asepriteで透過レイヤーを正しく準備する
Asepriteでは新規キャンバス作成時にBackgroundを「透明」にしておくと、最初から透過レイヤーで作業できます。
ここを最初に整えておくと、後から背景色が混ざったまま気づかず描き進める事故を避けやすいでしょう。
すでに背景レイヤーがあるなら、LayerをBackgroundのままにせず、通常レイヤーへ変換してから透過前提で進めるのが筋です。
書き出し前には、背景レイヤーを非表示にして市松模様が見えるか確認します。
市松が見えていれば、キャンバスの透明部分は正しく準備できています。
逆に背景が見えたままなら、GIFにした瞬間に「透過したのに白くなる」流れへ入りやすい。
待機モーションやアイコンのように背景へ馴染ませたい絵ほど、ここでの確認が効いてきます。
半透明が必要なら連番PNGかAPNGに逃がす
発光エフェクト付きの待機モーションのように、半透明のフェードをどうしても残したい場面では、GIFを続ける理由がありません。
連番PNGなら8bitアルファで半透明を保持でき、APNGでも同じ方向性で扱えます。
ゲームエンジンに渡すなら、連番PNGかスプライトシートのほうが扱いやすく、表現と再利用性を両立しやすいです。
実務では、柔らかい輪郭を残したい絵だけを無理にGIFへ押し込まず、用途で形式を分ける判断が役に立ちます。
白フチを消したい歩行アニメはハードエッジに描き直してGIFへ、発光やグラデーションを生かしたい演出はPNG系へ、という切り分けです。
迷ったら、表現を守るほうを選びましょう。
無限ループとフレーム速度を設定して書き出す
GIFのループは、書き出し時点で先に決めておくと再生の破綻を避けやすい設定です。
無限ループにしたいなら回数は0、1回で止めたいなら1と指定し、用途ごとに切り分けるのが基本になります。
速度はFPSかフレームディレイ(ms)で管理すると整理しやすく、10FPSと12FPS、6FPSの感覚をつかんでおくと迷いません。
ループを無限にする設定
GIFのループ回数は0で無限ループになります。
1以上を入れると、その回数だけ再生して最後のフレームで止まるので、SNS投稿やアイコンのように視線を待たせたくない用途では0が扱いやすいです。
逆に、アイキャッチGIFのように一度だけ見せて終わらせたい場面では1にすると意図が伝わりやすくなります。
用途で回数を切り替えるだけで、見え方の印象はかなり変わります。
実際に4フレームの歩行を10FPSで書き出すと、各フレーム約100msになり、足の運びに自然なリズムが出ます。
これを6FPS、つまり各フレーム約167msまで落とすと、同じ動きでも間が伸びてぎこちなさが目立ちます。
歩行や瞬きのようにテンポが命のアニメでは、回数指定と速度設定を別々に考えず、再生の印象としてまとめて調整すると失敗しにくいでしょう。
FPSとフレームディレイ(ms)の換算
FPSは1秒あたりのフレーム数、フレームディレイ(ms)は1コマを何ミリ秒見せるかを表します。
10FPSなら約100ms、12FPSなら約83ms、6FPSなら約167msで、数値を行き来できるとツール間の表記差に振り回されません。
15FPSを超えると動きが滑らかになりすぎて、ドット絵特有のカクッとした質感が薄れやすいので、あえてコマを間引いてピクセルアートらしいリズムを残すのも有効です。
この換算を覚えておくと、書き出し前に「速すぎる」「遅すぎる」をすぐ修正できます。
たとえば待機モーションは6FPS寄り、軽い動きは10FPS前後、滑らかさを少し足したい場面でも12FPS前後にとどめると、動きの輪郭が崩れにくいです。
数字だけを追うより、何を見せたいアニメかで決めるほうが、結果は安定します。
Aseprite・Piskelそれぞれの速度・繰り返し指定
Asepriteでは、File→Export Animation か Save As のダイアログで倍率(Resize)とループ設定をまとめて指定できます。
書き出し時にサイズと繰り返しを同じ画面で詰められるので、完成後に別ツールへ持ち込んで迷う手間が減ります。
さらに Timeline 上ではフレームごとの再生時間も個別に変えられるため、タメのあるコマだけ長くして見せ場を作る調整もやりやすいです。
Piskelはフレームディレイをその場で動かしながらプレビューでき、無料で透過GIFを書き出せます。
オンラインツールは、書き出したあとでも速度を速くしたり遅くしたりしやすいのが強みです。
Asepriteで基準を作り、Piskelでディレイの見え方を確認し、必要なら後から速度を詰める流れにすると、試行錯誤の回数を減らせます。
1回だけ再生して止めたいアイキャッチGIFではループ1、SNS向けの短いループ演出では0といった切り分けを意識して、書き出し前に再生設計まで固めてしまいましょう。
整数倍リサイズでぼやけさせない書き出しサイズ
拡大時に輪郭を保つには、補間で隣り合うピクセルを混ぜないことが出発点です。
ニアレストネイバーなら元の1ドットをそのまま複製するだけなので、境界の鋭さが残り、色もにじみません。
逆にバイリニアやバイキュービックは周辺色を平均化するため、ドット絵の「粒」が溶けて見えます。
ニアレストネイバーで拡大する理由
ドット絵は、1ピクセルごとの形と色の差で表情を作ります。
そこで補間が入ると、斜めの輪郭や明暗の切り替えが半端な中間色に置き換わり、輪郭線だけでなく面の密度まで弱まります。
ニアレストネイバーは最も近い1点をそのまま写す方式なので、制作時の格子を崩さずに拡大できるのが利点です。
GIF化の直前に一度だけかける流れにしておけば、途中工程で別の補間が混ざる事故も起きにくくなります。
整数倍だけを選ぶ
150%のような非整数倍は、同じ元ピクセルが場所によって1マスだったり2マスだったりして、並びの規則性が崩れます。
画面上では一見拡大できていても、格子が不揃いになるせいで輪郭の直線が波打って見え、細いパーツほど不安定です。
200%なら各ピクセルがきれいに2倍され、4x、8x、16xでも同じ理屈で揃います。
ゲームエンジン向けに2x-4x、SNSや印刷で粒立ちを見せたいなら8x-16xを選ぶと、用途と見え方の釣り合いが取りやすいでしょう。
SNS向けの目標サイズ
X(旧Twitter)はアップ画像を勝手にリサイズするため、元画像の整数倍で書き出し、横506px以上を目安にすると引き伸ばしのぼやけを避けやすいです。
32x32のGIFをそのまま上げると荒れやすく、16倍の512pxで出し直すと、ドットの粒が残ったまま表示しやすくなります。
小さな原寸のまま外部ツールで拡大すると、途中で補間が入る余地が増えるので、最終書き出しで一気に整えるのがおすすめです。
SNS用なら「見せたい最小単位」を先に決めて、そこから逆算しましょう。
ファイルサイズを軽くする最適化テクニック
GIFの軽量化は、まず色数の整理から始めるのが最も効きます。
使う色を必要最小限まで削るとLZW圧縮が効きやすくなり、フレームごとの差分も小さくなるため、全体のファイルサイズが素直に下がります。
16色のキャラループを32色のまま書き出して重くなっていた場合でも、実際に使っている16色へ戻すだけで見た目の変化をほとんど増やさずに軽くできます。
色数を必要最小限まで削る
GIFのサイズは、まずパレットの設計で決まります。
余計な色が残っていると、同じ面積でも表現のばらつきが増え、圧縮側は似た並びを拾いにくくなるのです。
ドット絵はもともと少ない色で成立するので、この整理がそのまま圧縮効率につながります。
色を選び直す作業は地味ですが、最初にやる価値が高い手順だといえます。
ベタ塗りならディザリングはOFF
ベタ塗り主体のドット絵では、ディザリングは基本的に切ってしまってかまいません。
ディザは中間色を点の混合で見せる手法ですが、平らな面ではその効果が出にくく、むしろノイズ的なピクセルが増えてデータ量だけが膨らみます。
輪郭がはっきりしたキャラや背景なら、ディザなしのほうが面も締まり、GIFとしても扱いやすくなります。
迷ったら一度OFFにして、必要な場面だけ戻す運用が実用的です。
フレーム差分とオンライン最適化ツールの併用
動きの少ないループでは、フレーム差分の効果がとても大きくなります。
背景が止まった待機モーションのような素材なら、フレーム全体を毎回保存する必要はなく、変化した領域だけを残すだけでファイルは目に見えて小さくなります。
背景が静止したループでフレーム差分を有効にすると、全フレーム保存に比べて70-90%もサイズを削減できる場合があり、オンライン最適化ツールの最小矩形クロップと相性も良いです。
Asepriteや専用最適化ツールで整えたあと、ギフシクル系のオンライン最適化に通すとさらに30-50%軽くできることがありますが、かけすぎると色ノイズが出るため、仕上がりを見ながら段階的に進めるのがおすすめです。
優先順位は「色数削減→ディザOFF→フレーム差分→ロスあり圧縮」です。
上から順に画質への影響が小さいので、この順で試すと破綻しにくく、軽量化の効果も把握しやすくなります。
まず見た目を保ったまま削れる部分を削り、そのあとで差分と圧縮を重ねていきましょう。
投稿先別の注意点とよくある失敗
X(旧Twitter)では、アップしたGIFが内部でmp4へ自動変換されるため、投稿後に透過が残る前提で組むと崩れやすいです。
背景が黒や白で埋まったり、ループの挙動が配信側の仕様に置き換わったりするので、アニメGIFをそのまま見せる用途には向きません。
透過を優先する素材と、動きを見せる素材は最初から分けて考えましょう。
X(旧Twitter)・Discord等のGIF仕様差
X(旧Twitter)はGIFをそのまま配信しているように見えて、実際にはmp4へ自動エンコードします。
そのため、書き出し時に残っていた透過やループの細かな指定が、投稿後には別の見え方に変わるのです。
DiscordやLINEもサイズ上限や変換の扱いが異なるので、同じGIFをどこへでも流用する発想より、投稿先ごとに尺と容量を詰め直す意識が役立ちます。
長いアニメを無理に持ち込むより、フレームを間引いて見せ場を残すほうが安定します。
透過を優先するならPNG-8/連番PNG
透過を残したいなら、Xでは900x900px未満のPNG-8を動かないアイコン用途に使うのが現実的です。
900px以上のPNGは自動でJPEG化され、透過が失われる前提になるため、サイズの線引きを外さないことが肝心でしょう。
透過表現を守りたい静止画はPNG-8、動きで見せたい素材はmp4前提、と割り切ると迷いが減ります。
連番PNGで書き出してから用途に応じて組み替える流れも、素材管理を整理しやすい選択です。
コマ落ち・色化けを防ぐ最終チェック
色化けは、1フレームに256色を超える色が入り込んだときに起きやすいです。
複数レイヤーの合成や半透明の重なりで色数はすぐ増えるので、書き出し前にインデックスカラーでパレットを確認しておくと原因をつかみやすくなります。
実際に色化けしたGIFをインデックスカラー表示で見直したら256色を超えており、色を削って整えたら落ち着きました。
コマ落ちについても、フレームディレイの設定ミスや圧縮のかけすぎが原因になりやすいので、投稿先で再生して速度設定と圧縮率を見直してみてください。
ゲーム会社でドット絵グラフィッカーとして10年以上の経験を持つ。ファミコン・スーファミ時代のレトロゲームに影響を受け、現在はインディーゲームのアート制作を手がける。制作テクニックの体系化に情熱を持つ。
関連記事
Lospecパレットの使い方|DL方法とおすすめ3選
Lospecは、ドット絵向けのパレットを2,500点以上そろえたカタログであり、2017年10月10日に公開されたAAP-64や、Lospec Discordの共同制作であるLospec500のような定番も集約している。
ドット絵でLINEスタンプを作る手順とサイズ規格
LINEスタンプのドット絵制作は、低解像度の絵を最大370×320pxの規格に収めながら、ドットの輪郭を崩さずに仕上げる作業です。48×48で描いた絵をそのまま等倍で書き出してトーク画面に置いたとき、豆粒のように埋もれてしまった経験があると、
Asepriteはスマホで使える?代替アプリと方法
Asepriteは、Windows・macOS・Linux向けに配布されている買い切りのデスクトップ用ドット絵ツールで、AndroidやiPhone向けの公式スマホ版は存在しません。
ドット絵ツール早見表|目的別の選び方
ドット絵制作ツールは、無料か有料かと、PC・ブラウザ・スマホのどこで描くかの二軸で整理すると、一気に選びやすくなる。Asepriteは約2,050円、セール時は1,025円まで下がり、無料のPiskelやPixilart、GraphicsGaleやEDGE、dotpict、Pixquareまで含めて見れば、