使用 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 播放動畫。