name: stickman-animation-studio description: Build smooth 2D and 3D stickman animations from image references and export finished YouTube-ready MP4 videos. Use when the user asks to create, animate, render, or improve stickman animation projects. Stickman Animation Studio — 2D & 3D MP4
目的
建立完整、可編輯的火柴人動畫專案,並渲染成 YouTube 適用的 MP4 影片。支援 2D 與 3D 工作流程。優先考慮流暢的動作、清晰的敘事、一致的角色設計、場景連貫性以及可靠的渲染。
此技能會建立動畫程式碼與專案檔案。它不會假設一張靜態圖片能自動變成一個完整的角色。首先,檢查參考圖片,然後選擇合適的建構方法。
運作原則
- 先檢查,再建構。 檢查提供的參考圖片、專案檔案、可用的軟體以及輸出需求。
- 僅詢問必要的遺漏資訊。 如果使用者未指定格式,預設為 1920×1080,30 fps,橫向 16:9,除非請求明顯是為 Shorts 設計(則使用 1080×1920,30 fps,9:16)。
- 保留參考。 比對角色的輪廓、頭部形狀、四肢比例、顏色、服裝/配件以及顯著特徵。不要添加與參考衝突的細節。
- 有目的地動畫。 每個動作都應傳達一個動作或情緒。避免隨機的動作和不必要的鏡頭移動。
- 使用流暢的時機。 偏好連續曲線、緩和過渡、預備動作、跟隨動作以及受控的停頓。避免突然的位置跳躍。
- 保持場景連貫性。 保留畫面方向、角色比例、道具、燈光以及相鄰鏡頭之間的空間關係。
- 渲染並驗證。 在渲染成功且輸出檔案檢查完成之前,不要聲稱 MP4 已完成。
- 誠實面對限制。 如果缺少 Blender、FFmpeg、字型或其他依賴項,請回報該情況,並提供確切的設定步驟,而不是假裝渲染已發生。
工作流程
第一階段 — 理解請求
確定:
- 動畫模式:2D、3D 或兩者兼具。
- 來源:圖片參考、現有專案或文字描述。
- 場景/動作與情緒基調。
- 持續時間與長寬比。
- 輸出:MP4、預覽、可編輯專案或全部。
- 是否需要旁白、字幕、音效或音樂。
如果缺少詳細資訊,請使用這些預設值:
- YouTube 長影片:16:9,1920×1080,30 fps。
- YouTube Shorts:9:16,1080×1920,30 fps。
- 視訊編碼器:H.264;音訊編碼器:有音訊時使用 AAC。
- 影格率:固定 30 fps。
- 背景:使用使用者的參考或一個簡單的、適合場景的背景。
第二階段 — 檢查參考圖片
當提供圖片時:
- 開啟並檢查所有相關圖片。
- 識別主要角色、輪廓、頭部/身體比例、四肢長度、顏色、配件與視覺風格。
- 識別可見的姿勢、面向方向、攝影機角度與場景元素。
- 在專案中記錄一份簡潔的角色規格,例如
character_design.md。 - 如果參考只是一個單一姿勢,請將其視為設計參考,而非完整的動畫骨架。
- 對於 2D,建立乾淨的向量形狀或分層的透明素材,以保留設計。
- 對於 3D,建立一個由參考引導的簡單網格/骨架。如果可用,使用正面/側面參考;不要像它們可見一樣憑空發明隱藏的細節。
第三階段 — 選擇管道
2D 管道
偏好實作:
- 使用 JavaScript 的 HTML5 Canvas,用於程序化/向量動畫,或
- 使用 Python 與合適的 2D 繪圖庫進行逐格渲染。
選擇能夠可靠產生請求結果的最簡單管道。在有用的情況下,將角色部位分開:頭部、軀幹、上/下臂、手掌、上/下肢以及腳掌。在關節處使用樞紐點。
動畫需求:
- 使用固定的時間步長或確定性的影格取樣,以便相同的影格編號始終產生相同的姿勢。
- 使用平滑的緩動函數來插值位置、旋轉與縮放。
- 使用關節旋轉,而不是獨立移動每個肢體端點。
- 僅在次要動作有助於支援主要動作時,才添加微妙的次要動作。
- 除非風格要求,否則避免彈性 overshoot。
- 保持線條寬度、關節外觀與比例的一致性。
對於 Canvas 實作:
- 僅將
requestAnimationFrame用於互動式預覽。 - 對於最終輸出,透過時間戳記/影格索引來渲染確定性的影格。
- 將影格匯出為圖片序列,然後使用 FFmpeg 對其進行編碼。不要依賴即時螢幕錄製來保證最終品質。
3D 管道
偏好實作:
- 使用 Blender Python API 進行場景建立、骨架綁定、動畫、攝影機、燈光與渲染。
- 使用一個擁有合理骨骼樞紐點的簡易骨架,用於頭部、軀幹、上/下臂與上/下肢。
- 僅在能夠改善腳/手放置時使用 IK;否則使用明確的 FK 關鍵影格。
- 保持材質與幾何形狀簡單,除非使用者要求詳細的 3D 風格。
動畫需求:
- 使用 Blender 關鍵影格與貝茲曲線插值來實現平滑移動。
- 刻意設定控制柄類型;避免 overshoot 或無意的晃動。
- 對於走路、跑步、跳躍、轉身與撿起物體等動作,使用預備動作、接觸、跟隨動作與穩定。
- 在接觸期間保持固定的腳部穩定,以實務上可行的方式防止腳部滑動。
- 檢查關節彎曲、穿模、地面接觸與輪廓可讀性。
- 在連續鏡頭中使用穩定的攝影機與一致的燈光。
第四階段 — 規劃動作
在編寫程式碼之前,建立一個簡短的動作計劃:
- 起始姿勢。
- 主要動作。
- 關鍵姿勢與大約時間點。
- 接觸時間點(腳接觸地面、手接觸物體、落地)。
- 次要動作(頭部轉動、手臂跟隨、身體穩定)。
- 結束姿勢與轉場到下一個鏡頭。
使用姿勢分解,而不是一個大型動作。例如,跳躍可能包含準備、起跳、空中姿勢、落地與恢復。確切的時間安排必須符合請求的持續時間與基調。
第五階段 — 流暢度與品質控制
將這些檢查應用於每個場景:
時機與插值
- 避免位置、旋轉或縮放的突然變化。
- 為起始與停止使用緩和過渡。
- 僅對應保持恆定速度的運動使用線性插值。
- 保持動畫在不同渲染之間具有確定性。
- 確保為請求的影格率與持續時間提供足夠的影格。
角色一致性
- 將渲染出來的角色與參考進行比較。
- 檢查頭部大小、軀幹長度、四肢長度、線條粗細/材質、顏色與配件。
- 不允許設計在不同鏡頭之間發生偏移。
動作可讀性
- 確保動作在剪影下是可以理解的。
- 避免四肢不自然地交叉。
- 檢查平衡、重量轉移、接觸與間距。
- 避免過多的動態模糊掩蓋動作。
連貫性
- 在連接的鏡頭之間匹配角色位置與面向方向。
- 保留道具位置與場景地理環境。
- 使用剪輯或有理有據的鏡頭移動;沒有理由就不要移動攝影機。
渲染
- 首先以較低的解析度渲染一個短預覽。
- 檢查代表性影格,並在可能的情況下播放預覽以檢查節奏與卡頓。
- 僅在預覽獲得批准或使用者要求直接進行最終渲染後,才渲染最終輸出。
- 檢查最終檔案的存在、持續時間、解析度、影格率、視訊編碼器與音訊同步。
第六階段 — 匯出 YouTube 適用的 MP4
當 FFmpeg 可用時使用。典型的 H.264 匯出指令是:
ffmpeg -framerate 30 -i frames/frame_%06d.png \
-c:v libx264 -pix_fmt yuv420p -r 30 \
-movflags +faststart output.mp4
如果提供了音訊,請小心地將其混音,並確保其與視訊長度匹配。除非使用者提供或確認他們有使用權限,否則不要添加受版權保護的音樂或音效。
對於 Blender,在需要可靠性時,先將渲染輸出設定為圖片序列,然後使用 FFmpeg 將序列編碼為 MP4。這使得中斷的渲染更容易恢復。
第七階段 — 交付物
在可能的情況下,提供:
output.mp4— 完成的影片。- 來源專案/程式碼 — 例如
.blend、.py、.html、.js。 character_design.md— 符合參考的角色說明。README.md— 依賴項以及如何重新執行或修改動畫。- 預覽渲染或選定的預覽影格。
清楚說明哪些檔案已成功建立。如果渲染無法完成,請提供專案/來源,並清楚說明還需要安裝或執行哪些內容。
建議的專案結構
stickman-project/
├── references/
├── assets/
├── scenes/
├── src/
│ ├── 2d/
│ └── 3d/
├── renders/
│ ├── preview/
│ └── frames/
├── output/
│ └── output.mp4
├── character_design.md
└── README.md
工具與環境檢查
在實作之前,檢查實際安裝了哪些工具:
- Blender (
blender --version) - FFmpeg (
ffmpeg -version) - Python (
python --version或python3 --version) - Node.js(僅在所選的 2D 管道需要時)
不要假設工具已安裝。在僅有 Android 的環境中,說明渲染可能需要雲端電腦、相容的線上環境或配備 Blender/FFmpeg 的電腦。不要暗示行動瀏覽器或 Claude 本身可以在沒有可用的渲染環境的情況下渲染複雜的 3D MP4。
互動風格
- 用平實的語言解釋技術步驟。
- 當使用者是初學者時,一次進行一個步驟。
- 偏好完整、可執行的檔案,而不是零散的程式碼片段。
- 保持程式碼模組化且可編輯。
- 當渲染失敗時,診斷實際錯誤並修復它;不要默默地用靜止圖片或模擬圖取代請求的輸出。
- 不要承諾病毒式傳播、營利批准或演算法表現。
完成檢查清單
在宣告任務完成之前,確認:
- 使用了正確的 2D/3D 模式。
- 保留了參考角色的設計。
- 動作流暢且可讀。
- 場景連貫性得到維持。
- 預覽已檢查。
- MP4 渲染成功。
- 解析度、長寬比、影格率與持續時間正確。
- 音訊已同步(如果存在)。
- 在可能的情況下包含了來源檔案與重新執行說明。