簡介
這場打鬥已經鋪墊了三集。你寫下「Kaito 格開攻擊,用橫掃反擊,Ren 翻滾躲開」,出來的畫面卻是兩個身體在肩膀處融合在一起,一條不知道屬於誰的手臂,還有一個發生在錯誤的人身上的橫掃動作。單人動作的時候沒問題。兩個身體一接觸,模型就把它們當成一個物體來處理。
打鬥不是一個動作,而是一連串交手回合,每個回合都有一個接觸點——兩個身體碰到一起的那一刻。身體融合就發生在接觸時,而參考靜圖在這時候也最能發揮作用。本文介紹如何從假人素材出發,為 AI 動畫編排格鬥場景:把打鬥拆成回合,每次接觸取一張靜圖,每個 shot 寫清攻擊方、受擊方,以及能讓接觸點可見的機位。
為什麼兩個身體會出問題
兩個角色一接觸,三件事就同時發生:
- 歸屬不清。 哪條手臂屬於誰需要做判斷,而模型每一幀都會重新判斷一次。
- 身份稀釋。 一個 shot 裡出現兩個
@引用,意味著兩個身份在同一批畫素上競爭。身體越靠近,兩者就越往中間平均。 - 動作數量翻倍。 出拳和格擋是兩個動作。出拳、格擋再加反擊是三個。一個 shot 只做一件事的原則立刻就破了。
單人動作的教程用拆分 shot 來解決第三個問題。打鬥還需要同時解決前兩個,這就是接觸靜圖和攻防角色分配的作用。
關於如何在劇情層面讓打鬥場景有衝擊力——籌碼、空間感、出手前的那一拍——可以看戰鬥場景提示詞指南,那篇專門講寫作。這篇講排程。
雙人 shot 的基本規則
- 每個 shot 只有一次接觸。 格擋是一次接觸,抓住是一次接觸,出拳-格擋-反擊是三個 shot。
- 攻擊方和防禦方各有名字。 「@Kaito 出擊;@Ren 格擋。」不能寫「兩人互相交手」。
- 機位放在能看到接觸點的那一側。 通常垂直於兩人連線,讓兩個身體都處於側面,接觸點清晰可見。
- 每次接觸一張靜圖,來源要乾淨。 假人編舞素材是理想選擇:兩個沒有紋理的身體,沒有身份會滲漏,接觸點一目瞭然。
- 靜圖裡儘量讓身體保持距離。 在完全接觸前幾幀取圖,比取最大重疊時的幀效果更好。模型會補完接觸動作,不需要幫它去解開。
- 身份和服裝只來自資產。 兩個角色意味著兩個
@引用,描述裡零面部或服裝資訊。
從任意素材中提取靜圖的詳細規則,可以看姿勢參考指南;打鬥場景只是把同樣的方法同時用在兩個身體上。
從假人素材一步步搭出打鬥
- 看完素材,列出所有交手回合。 每個回合是一次接觸:出拳-格擋、抓住-掙脫、橫掃-摔倒。十秒的打鬥通常有四到六個回合。
- 每個回合取一張靜圖,在完全接觸前一幀,選能看到接觸點的角度。按回合命名:「ex-01-strike-block」。
- 把靜圖上傳到內容庫,繫結為 Visual reference,用打鬥的名字命名。素材本身留在內容庫裡,方便核對順序。
- 確認兩個角色都已經建好 character asset,有 Main image,如果他們打鬥時穿特定裝備,把服裝參考也繫結到資產上。
- 每個回合寫一個 shot card。 機位朝向接觸點一側,
@攻擊方做一件事,@防禦方做一件事,匹配對應的交手靜圖,寫清結束狀態:「結束時 Ren 後退兩步」。 - 生成所有回合的靜圖,檢查歸屬:那條手臂是誰的,那條腿是誰的,誰在哪裡。如果靜圖裡身體融合了,換一張更清晰的參考圖,不是加更多文字。
- 為透過檢查的回合生成影片。 每段保持簡短;一次接觸在兩秒以內。
- 在 Edit 裡按回合順序剪輯。 每段剪到接觸動作和緊接著的後續。如果某個回合感覺拖沓,提前切入下一個,不要重新生成。
示例一:出拳與格擋
Medium-wide shot, camera at chest height, perpendicular to the two fighters so both are in profile, static. @Kaito on the left throws a straight right at head height; @Ren on the right raises his left forearm and blocks it outside. Match exchange still ex-01: bodies a forearm's length apart at contact. Ends with the block held for a beat, both feet planted. Training hall, flat overhead light. No camera move.
示例二:抓住與掙脫
Medium shot, camera at chest height, same side as Shot 1, static. @Ren on the right grabs @Kaito's collar with his right hand; Kaito twists left, brings his left arm over Ren's wrist, and breaks the grip. Match exchange still ex-02 for the grip position. One clean motion, ends with Kaito free and half a step back, Ren's hand open. Same hall, same light. Both faces from assets.
示例三:橫掃與摔倒
Wide shot, camera low at knee height, same side of the fighters, static. @Kaito drops and sweeps his right leg through @Ren's front ankle; Ren's feet leave the mat and he falls onto his back, left to right. Match exchange still ex-03 for the sweep angle. Ends with Ren on the mat and Kaito rising. Dust lifts off the mat. No camera move; the fall happens within the frame.
打鬥場景最常見的翻車原因
- 身體融合。 一個形狀長了太多肢體。靜圖取的是最大重疊那一幀;換到接觸前一幀。
- 歸屬錯誤。 Ren 的手臂長在 Kaito 的身上。那個動作沒有命名攻擊方和防禦方,加上名字。
- 一個 shot 裡有兩次接觸。 反擊消失了。把這個 shot 拆開。
- 機位在錯誤的一側。 接觸點被另一個身體擋住了。把機位移到垂直於兩人連線的位置。
- 面孔被平均了。 兩個角色看起來像混合體。描述裡有兩個
@引用還加了面部描述;把描述刪掉。
常見問題
打鬥過程中可以運鏡嗎? 可以,每個 shot 一個運鏡:格擋時推進,摔投時鞭搖。只用在真正能增加衝擊力的 shot 上,其餘的鎖定機位,讓剪輯來傳遞節奏。
一個 shot 能包含幾次交手? 一次。兩次交手放進一個 shot,融合就開始了。如果打鬥感覺太碎,在剪輯上解決,不要拉長 shot。
兩個角色體型差距很大怎麼辦? 反而更好;體型差距有助於區分歸屬。在 shot 裡提一次就夠:「Kaito 比 Ren 矮一個頭。」其餘的讓資產來承擔。
一定要用假人素材嗎?真實打鬥素材可以用嗎? 真實素材也能用,只要你取圖那一幀兩個身體分得足夠清楚。假人素材更方便,因為沒有任何身份資訊會滲漏進來。
下一步
拿出那場你一直在迴避的打鬥,列出它的交手回合——大概五個。找一段編舞風格相近的素材,每個回合在接觸前一幀取一張靜圖,把第一個回合寫成一個 shot:機位朝向接觸點,@攻擊方 出擊,@防禦方 格擋,寫清結束狀態。在 ArcLoop 裡開啟專案,先生成這一張靜圖,確認手臂的歸屬再往下走。





