手書與角色 MV 製作
把參考片的節奏、鏡頭語言和角色表演轉成可執行的分鏡,再製作素材與成片。以「每個鏡頭發生了什麼變化」為設計單位。不能靠增加轉場或縮放靜態立繪來解決角色表演不足。
1. 確認任務與證據
- 沿用使用者已給出的角色、來源、風格、時長和修改意見;已有授權內直接推進。只詢問真正阻塞製作的問題。
- 檢查現有工程與成片,保留已經認可的版本。先確認素材、音軌和工具是否實際可用,再承諾交付。
- 收到問題幀或人體、手指、轉場反饋時,先讀取 repair-anatomy-and-transitions.md,把截圖映射到鏡頭和姿勢切換點,區分原畫錯誤、合成重影與動作不連續。
- 實際觀看使用者參考片,結合抽幀檢查節拍、景別、構圖、動作、層次和轉場。標題、縮圖和文字介紹不能替代觀看;無法讀取時明確這一點,繼續完成有依據的部分。
- 從角色來源提取少量清晰的身份錨點。區分角色設定來源與影片風格來源,避免把風格參考中的人物外貌移植過來。
- 記錄音樂來源和截取區間;不要將引用音軌稱為原創或推斷商用許可。不因假設的風險自行增加審批流程。
- 把工具研究限定在具體缺口:檢查本地能力,必要時查官方文件,做短測試,再選擇工具。不要用「已了解某工具」代替實際驗證。
2. 先定表演,再定素材量
讀取 storyboard-and-art.md。從 storyboard.example.json 複製並改寫項目清單。
- 根據音樂和敘事分鏡,不機械套用固定鏡頭數。先把時間線、情緒發展和動作變化寫清楚。
- 每個角色表演鏡頭預設規劃至少兩張具有可見動作或表情差異的關鍵立繪 A/B;更複雜的動作增加關鍵幀或中間幀。
- 若使用者要求「每個鏡頭兩張」,則將
requirements.all_shots_need_character設為true,並確保所有鏡頭都有至少兩張獨立角色圖,特效鏡頭也不例外。 min_character_keyframes表示每個角色鏡頭的最低張數;unique_assets預設true。使用者明確允許靜態停頓、素材復用或不同數量時,按任務設定並說明計數口徑。- 區分鏡頭數、獨立角色圖數和影片幀數。鏡像、裁切、換色、縮放、同圖重複導出都不算新姿勢。19 鏡頭 × 2 張 = 38 張,是克琪亞粉裙案例的規模,不是所有 30 秒影片的模板。
- 每個鏡頭寫出 A→B 的動作、景別、相機、背景、前景、特效用途、轉場、視覺重點和可接受裁切。兩張圖「看起來不同」不等於動作成立。
- 用
python scripts/check_project.py project.json --plan-only檢查結構、時長和計劃素材數量,再開始批量生成。
3. 製作成對立繪與分層素材
- 使用當前環境內建的圖像生成工具並遵循其技能。先查看引用圖,優先以已認可的形象錨點生成 A,再以 A 和同一形象錨點編輯 B。每次提交都明確要保留和要改變的部分。
- 鎖定身份、服裝、畫風、光線、畫幅和鏡頭角度;讓表情、視線、手勢或身體輪廓產生有目的的差異。不要獨立隨機生成 A/B 後強行拼接。
- 角色素材輸出真實透明背景,預留頭髮、手、裙擺和鞋子的運動空間。需要全身時不可接受缺腳或貼邊頭髮;胸像自然裁切要在合成時使用畫框或近景承接。
- 背景、角色、道具、前景分別製作;自然圖像用圖像生成,精確圓環、文字、遮罩和粒子可用程式繪製。
- 按
shot_01_A.png/shot_01_B.png命名,記錄實際提示詞與來源。保留已認可版本,修復有問題的局部,不輕易全量重做。 - 逐張檢查角色一致性、左右飾品、手指、手臂連接、眼睛、服裝和透明邊緣。數量或雜湊檢查無法代替這些視覺檢查。
- 全身動作先驗證肩胯、關節方向、重心和支撐腳;手部先驗證手掌朝向、拇指側、指節與接觸關係。不要為了展示五指而強行展開本應被遮擋的手指。修復 A 後,仍以 A 編輯 B 並重新核對動作連續性。
- 並行工作僅在當前規則允許時使用;若分工,把完整 A/B 對分給同一執行者,統一錨點、命名與交接清單。
4. 合成有表演和節奏的鏡頭
讀取 compositing.md,按項目選擇工具,不預設綁定某個編輯器。
- 對需要可程式化透視、網格變形和 GLSL 轉場的拼貼片,可用 ModernGL/EGL 合成與 FFmpeg 編碼;簡單任務可直接用現有編輯器或 FFmpeg。先試渲染代表鏡頭與最難的轉場。
- 優先表現動作,再疊加相機、景深層次、道具響應與特效。景別和構圖也應變化;持續推拉同一立繪不構成充分表演。
- A/B 使用同一畫布和同一聯合裁切框,保持頭部、軀幹或指定支點對齊。姿勢切換按動作和音樂決定;不要給所有鏡頭套同一個慢溶解。
- 對輪廓明顯不同的手和身體,預設每幀只暴露一個姿勢;差異較大時增加中間畫或改變動作設計。排查非預期 A→B→A→B 倒退,不用「呼吸」循環反覆播放完整手勢。站立角色保持支撐腳與地面的關係,不用整個人物的旋轉、縮放或網格擺動偽造轉身。
- 透明素材混合採用一致的重乘 alpha 約定,檢查黑邊和雙重輪廓。兩關鍵姿勢加合成應如實稱為關鍵幀拼貼/有限動畫,不能宣稱逐幀手繪。
- 把強萬花筒、遞歸畫框、扭曲等效果放在背景或獨立圖層;需要清楚看到動作時,在這些效果之後繪製主體角色。
- 前景絲帶、粒子和運動模糊避讓臉、手及關鍵道具。特應有節奏和用途,也要給觀眾看清角色的時間。
- 轉場方向接續動作或視線,強度隨音樂變化;避免每個切點都用同等強度的特效。
- 渲染時記錄真正被繪製的素材鍵及有效顯示幀數(如可測)。素材出現在資料夾裡,不等於進入成片;進入繪製調用,也不等於最終可見。
5. 分階段驗證並交付
- 檢查全量 A/B 素材總覽,修復重複姿勢、缺失、錯手、錯飾品和不可用裁切。
- 渲染低解析度的短片片段,覆蓋動作變化、最複雜特效、轉場和片尾。觀看運動,不只觀看截圖。
- 在目標尺寸渲染最終片;核對時長、解析度、幀率、音軌、首尾與完整解碼。
- 執行
python scripts/check_project.py project.json --video output/final.mp4 --usage output/usage.json --decode --contact-sheet output/keyframes.jpg --report output/qa.json。依賴 Pillow;影片檢查需 FFmpeg/ffprobe。參數與限制見 validation.md。 - 人工觀看整片,特別檢查 A/B 是否實際可辨、角色是否被遮擋、節拍與音畫同步、姿勢切換有無跳位。自動通過不能宣稱視覺品質已通過。
- 交付最終 MP4、素材總覽和可復用工程(素材、時間線、程式碼/工程檔、來源及依賴說明)。按當前環境的持久化規則儲存,並提供可開啟的成片。使用者只要其中部分時尊重範圍。
返修時額外從最終編碼影片提取問題姿勢及每個修改切點前後至少三幀,核對動作順序、腳位、手部重影、文字和裁切。使用者指定刪除片尾底部文字時,刪除對應文字圖層或調用,並在多個片尾時間點檢查;不要靠裁掉人物或覆蓋畫面掩蓋。
報告已完成的實際數量、具體改進、檢驗結果及仍存在的限制。沒有執行的工具、沒有產生的圖、沒有觀看的影片都不能寫成已完成。
復用克琪亞案例
僅當任務涉及克琪亞或要求復用本次工程時讀取 cookiya-case.md。保留其中的製作教訓,不把該角色、配色、鏡頭數或音樂強加給新任務。