Communitygithub.com

OpenScaleOrg/pixel-animation

用於在 Aseprite 中搭配 aseprite MCP 工具製作精靈或場景動畫:待機循環、步行週期、攻擊、環境場景循環(雲、蒸氣、閃爍燈光)、幀時間、標籤與 GIF 匯出。

pixel-animation 是什麼?

這個技能是為使用 Claude Code、Cursor 或 Codex 等 AI 代理的開發者設計的,讓他們能夠直接在 Aseprite 中完成像素藝術動畫工作流程。它涵蓋了循環動畫的每個階段:從規劃(透過 animation_workflow_guide 工具)到分層、關鍵姿勢動畫、二級運動補間以及無縫循環閉合。支援的動畫類型包括角色待機、步行週期、攻擊動作,以及環境效果如蒸氣、閃爍燈光和滾動背景。技能強調正確的像素藝術慣例:對角色使用姿勢到姿勢的逐幀動畫,對有彈性的物體使用壓縮與拉伸,對剛體使用補間。它還包含嚴格的驗證步驟,例如 onion skin、幀比較和動畫稽核,以確保沒有遺漏的 cel 和不連續的動作。受支援的平台包括任何與 aseprite MCP 工具整合的 AI 代理,並可直接匯出為 GIF 或透過標籤匯出單一循環。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/OpenScaleOrg/Aseprite-Plugin/tree/HEAD/plugins/aseprite/skills/pixel-animation

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

使用 aseprite 工具製作像素藝術動畫

先呼叫 animation_workflow_guide:使用 use_case="character"、"idle" 或 "environment"。

1. 決定循環

  • 在使用者已開啟的檔案中製作動畫。 如果畫布太小或幀數太少,請在同一檔案中使用 resize_canvas 和 add_frames。切勿建立新精靈,無論是透過 create_canvas 還是 Lua 中的 Sprite()(請參閱 aseprite-live 技能)。

  • 長度與時間設定。 持續時間 = 幀數 × 每幀時間。常見選擇為 8 幀 × 120 毫秒(約 1 秒)用於環境循環,4–6 幀 × 100–150 毫秒用於待機,6–8 幀用於步行。

  • 持續時間。 使用 add_frames(count, duration_ms),然後使用 set_frame_duration_all。

  • 標籤。 使用 set_tag 為每個循環命名(例如 idle 或 walk),以便 export_tag 能單獨匯出該循環。

2. 先完成靜態圖層

先完成靜止幀;請遵循像素藝術技能。然後呼叫 propagate_cels 將所有不會移動的圖層(背景、家具)複製到所有幀。之後只重新繪製移動的圖層。

3. 以正確的方式移動物件

什麼移動如何移動
角色、生物姿勢到姿勢。在各自關鍵幀上重新繪製每個關鍵姿勢:預備動作、主要動作、跟隨動作。使用 copy_frame,然後用 erase_region 擦除移動部分,並用 draw_rows 重新繪製。涉及整個身體。除非在空中,否則雙腳保持在同一個地面線上。
軟體(史萊姆、果凍)壓縮與拉伸 30–50%,每個空中幀的形狀都不同。
剛體、二級運動使用 tween_cel_positions_eased、offset_cel_positions 或 oscillate_cel_positions(雲朵、漂浮圖示、搖晃的船)。
旋轉部件(風扇、風車)繪製 2–4 個姿勢,並用 copy_cel 交替顯示。
環境效果(蒸氣、閃光、螢幕內容、閃爍 LED)每幀重新繪製小像素集。讓粒子上升時透明度逐漸降低。

切勿將補間用作生物的主要動作。

4. 讓循環無縫

  • 最後一幀必須能流暢銜接到第一幀。 對於粒子,使用位置為 (frame + offset) % N 的計算。對於滾動,在循環中移動剛好一個週期。
  • 避免回彈。 某物漂移 8 像素然後跳回會顯得像是故障。使用前後搖擺,或讓它移動整個畫布寬度,使其離開後再重新進入。
  • 使用 render_onion_skin 檢查連續性。 使用 compare_frames 和 get_bounds 確認移動了什麼以及移動了多少。

5. 檢視與匯出

  • 檢視。 呼叫 view_sprite(frames="1-8") 以並排查看所有幀,並使用 audit_animation 或 validate_scene 找出遺失的 cel。
  • 匯出。 export_animation(output.gif, scale=4-8, background="#...") 可產生可分享的 GIF;使用 export_tag 匯出單一循環。
  • 在即時模式下,使用者也可以在 Aseprite 中按 Enter 播放動畫。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相關技能