你写 a man running across a field,出来的人腿向前蹬、身体却往后滑。或者 pouring water into a glass,水往上流。或者 picking up a phone,手直接穿过手机。
这是物理和动作一致性失败。模型认得动作的「标签」、也认得动作的「外观」,但它不模拟质量、重力和动量,所以画面里每个区域可以半独立地运动——这就是腿和躯干互相矛盾的原因。
最快修复: 把动词改写成带明确方向和终点的写法(running forward toward the camera),每段只放一个动作;凡是涉及流体或精细手-物接触的,别去渲染过渡,改成生成两个静态镜头然后中间剪一刀。如果工具支持,直接「涂」动作(Runway Multi Motion Brush)或设起止关键帧(Kling),别只靠一个文字动词。物理镜头反复失败时,先换到你能用到的最强物理模型上重跑一遍(截至 2026 年 6 月是 Kling 3.0 或 Veo 3.1),再去死磕 Prompt。
先对号入座
动手改 Prompt 前,先把你的症状对应到最可能的原因。
| 症状 | 最可能的原因 | 看哪步 |
|---|---|---|
| 四肢往一个方向、身体往另一个方向 | 动词没给统一的运动向量 | Step 1 |
| 动作在两个姿态间「瞬移」或扭曲 | 没写起止姿态 | Step 2 |
| 水往上流、布料穿模、手指接触时融化 | 模型模拟不了的物理 | Step 4 |
| 节拍被跳过或压缩 | 一段塞了太多动作 | Step 3 |
| 动作冲出画框就崩 | 主体贴着画框边缘 | Step 5 |
| Prompt 干净但动作还是混乱 | 动作信号互相冲突 | 原因 6 |
常见原因
按命中率从高到低排列。
1. 动词有多种合理解读
"jumping" —— 垂直跳?跳远?开合跳?蹦床?
"throwing" —— 向前抛?向上扔?扔掉?
"reaching" —— 向前伸?向上?向旁边?
不给方向和目标,模型就挑一种解读,可能机制上就是错的。
如何判断: Prompt 里的动词没有方向修饰词。
2. 没写起止姿态
模型只能猜动作的起点和终点。你不说「starts standing, ends seated」,它就在自己编的两个姿态之间插值——这正是那种「瞬移感」的来源。
如何判断: Prompt 有动词,但没描述起始姿态或结束状态。
3. 动作涉及模型模拟不了的物理
哪怕是 2026 年最强的模型,依然搞不定:
- 真实的液体流动(水、倒、溅)
- 布料自然的包覆和垂坠
- 精确的手-物接触(抓、握、放)
- 多步手部动作(做饭、打字、开车)
截至 2026 年 6 月,你实际能用到的两个物理最强的模型是 Kling 3.0(流体、布料、粒子表现的当前标杆,2026 年 2 月 4 日发布,原生 4K/60fps)和 Google Veo 3.1(物理真实、时间连贯性强,还自带同步音频)。如果流体或手部接触的镜头在较弱的模型上反复失败,换到 Kling 3.0 或 Veo 3.1 上重跑,往往比死磕 Prompt 更省。
有一点变了:OpenAI Sora 2 以前是物理标杆,但现在已经不是可行选项了。 OpenAI 已于 2026 年 4 月 26 日停止 Sora 网页端和 App,Sora API 也已弃用,将于 2026 年 9 月 24 日关停(OpenAI 的停用公告)。除非你在关停前直接调那个弃用的 API,否则就把 Kling 3.0 和 Veo 3.1 当作物理上的兜底选择。这些模型没有一个彻底解决了这个问题,所以 Step 4 的绕过方案依然有效。
如何判断: 动作涉及精细的流体、布料或手部互动。
4. 一段塞了多个动作
"a man walks to a chair, sits down, opens a book, starts reading"
这是在一段 4 到 8 秒的片子里塞了四个动作。模型会混乱,或者悄悄跳掉某些节拍。
如何判断: Prompt 含 3 个或以上的顺序动词。
5. 主体在画框边缘
起于或终于画框边缘的动作会被模糊解读,因为模型看不见那条胳膊或那个物体要去哪。
如何判断: 起始帧里主体靠近画框边。
6. 动作信号互相冲突
"jogging slowly while sprinting forward at high speed"
或者隐式冲突(graceful run vs frantic dash)。模型把这些信号一平均,得到的结果两边都不像。
如何判断: 你的动作修饰词在速度或强度上互相矛盾。
最短修复路径
Step 1:用明确方向的动词
# 差 —— 模糊 # 好 —— 方向 + 目标
"jumping" → "jumping vertically straight up"
"running" → "running forward toward the camera"
"throwing a ball" → "throwing a ball to the right, ball moves off-screen right"
"reaching" → "reaching the right arm forward toward the table"
永远要写齐:方向 + 目标/终点 + 速度。给每个身体部位一个统一的运动向量,腿和躯干才不会各走各的。
Step 2:写明起姿态和终状态
# 模板
"starts [pose], performs [action], ends [pose]"
# 例子
"starts standing with arms at sides, performs a single forward step,
ends with right foot in front, left foot back, arms still at sides"
# 物体互动
"starts with empty hands, picks up the red cup with right hand,
ends holding the cup at chest height"
如果工具支持起止关键帧(Kling 的首帧/尾帧模式、Runway 的关键帧输入),直接上传两张静帧,别用文字描述姿态。这样模型只需要在你完全控制的两个姿态之间插值,绝大部分「猜姿态」的问题就没了。首帧/尾帧控制在 Kling 1.6、2.x 和 3.0 上都有;Kling 3.0(2026 年 2 月 4 日发布)在两帧之间生成的运动路径明显更自然,恰好对这个场景最有帮助。
Step 3:每段一个动作
# 差 —— 多动作
"a man walks to a chair, sits down, opens a book, starts reading"
# 好 —— 拆成多段
Clip 1: "a man walks toward a chair, camera follows"
Clip 2: "a man sits down on the chair, settling into the seat"
Clip 3: "a man opens a book on his lap, looks down to read"
# 在剪辑软件里拼起来
一段里的一个连续动作(先走过去,再坐下)是没问题的;三个离散动作几乎总会丢掉一个节拍。
Step 4:绕开模型做不了的物理
模型模拟不了的,就别去渲染过渡——绕着它剪:
# 倒水 —— 难
- 生成一个「前」镜头(壶倾斜)和一个「后」镜头(杯满)
- 中间切一刀
- 加一点细微水声维持连贯
# 手拿东西 —— 难
- 生成「手靠近物体」和「手已经握住物体」
- 快切
- 不展示实际抓握的过渡
# 多步做饭
- 一步一个镜头,剪到一起
- 别想一段渲染完整流程
物体在运动中变形或融化,给正向 Prompt 加刚体语言:the metal door stays solid and rigid throughout the swing, hinges stable。手指一接触就融化的,用负向提示词会有帮助——但只在真正有负向字段的工具上才行:
- Kling 3.0 有
negative_prompt字段(API 默认值是blur, distort, low quality;2026 年 5 月 23 日恢复,此前短暂下线过)。加稳定性词:morphing, extra fingers, mutated hands, deformed limbs, sliding feet。 - Veo 3.1 的生成配置里支持
negative_prompt,但 Google 的建议是用朴素的描述词,不要用指令式写法——写mutated hands, extra fingers, morphing,别写no mutated hands(Veo 3.1 prompting guide)。 - Runway(Gen-4.5)不给视频提供负向提示词字段。Runway 官方建议一切都用正向写法,所以请在正常 Prompt 里直接描述你要的干净结果(
solid intact hands, five fingers, stable anatomy)。
Step 5:主体放画面中央,别贴边
# 差的起始帧
- 主体贴在画框边,动作延伸到画外
# 好的起始帧
- 主体居中或落在三分线上
- 动作在画框内有空间发生
- 动作需要空间时,取景拉宽
Step 6:直接涂动作或设关键帧
文字动词是指定动作最弱的方式。如果工具提供了直接的动作控制,就用它:
# Runway Multi Motion Brush
- 直接在图上涂运动向量
- 最多给 5 个独立区域分别指定不同运动
- 每个区域可在 3 个轴上设运动——horizontal(x)、
vertical(y)、proximity/zoom(z)——外加一个 ambient noise 滑块
- 文字 Prompt 要和涂出来的方向一致,否则会出现撕裂伪影
# Kling 起止关键帧
- 上传一张起始帧和一张结束帧
- 模型生成两者之间的路径
Runway 官方指南里有一条提醒:文字 Prompt 必须和你涂的方向一致。如果你涂了一条向下流的河,Prompt 却写「still water」,就会出伪影。
没有 motion brush 或关键帧的工具,就简化 Prompt、接受更少的同时动作。Runway 当前 Gen-4.5 的官方建议也是这样:先写一个只抓住核心运动的简单 Prompt,需要时再加细节。Runway 明确说 Gen-4.5「thrives on prompt simplicity」——一个方向清晰的精炼 Prompt 胜过一长段堆砌,塞太满的 Prompt 会让动作更差,而不是更好。把视觉信息交给一张好的输入图去承载,文字只用来描述「什么在动」。
如何确认已修好
- 盯住一条肢体。 逐帧(慢慢拖进度条)看某一只脚或手。它应该和身体朝同一个方向连贯移动,不会倒退或抽搐。
- 检查接触瞬间。 抓握和倾倒的失败几乎总在接触帧上。如果你用 Step 4 绕过去了,确认保留下来的帧里没有穿模。
- 数节拍。 如果你拆了多动作镜头,每段应该正好包含一个从头到尾的动作,不跳节拍。
预防建议
- 新动词先在简单主体上测一遍,看模型实际会怎么处理。
- 默认每段一个动作;多动作镜头很难成立。
- 维护一份「模型能做好的动词」清单和一份「要避免的动词」清单。
- 复杂物理提前规划好剪辑点,别赌一次性渲染出全程动作。
FAQ
问:为什么腿向前蹬、身体却往后移?
答:模型认得「running」这个动词和跑步的视觉姿态,但它不强制执行「腿和躯干共享同一个运动」这条刚体约束。每个区域是半独立生成的。写明方向(running forward toward the camera)就给了所有身体部位同一个运动向量,问题随之解决。
问:新模型会不会自动修好物理一致性? 答:每一代都在减少明显错误。截至 2026 年 6 月,Kling 3.0 和 Veo 3.1 在水、重力、布料、碰撞上已经远好于 2025 年的模型,手部生成也改善很多。但精确的多步物理——倒水、穿线、可控抓握——依然落后。别围绕「下一个模型」来设计工作流;用切镜和拆片来绕开这个上限。
问:在 Prompt 里加「realistic physics」或「correct anatomy」有用吗?
答:作用很小。这些词只微调风格,不增加任何真实模拟。它们甚至可能帮倒忙:一长串描述会和动作动词抢模型的注意力。如果你的工具有负向提示词字段(Kling 3.0 和 Veo 3.1 有,Runway Gen-4.5 没有),把 morphing, mutated hands, sliding feet 这类稳定性词放进负向槽,比放进正向 Prompt 更管用。在 Veo 上用朴素描述词,别用「no」「don’t」;在 Runway 上用正向写法,直接描述你要的干净结果。
问:什么时候该拆多动作镜头、什么时候该硬磕一段连贯片? 答:每个动作超过约 2 秒,或主体换了位置,就拆。一段 4 到 8 秒里的一个连续动作(走过去、坐下、抬头)读起来自然;三个离散动作(走、坐、翻书、阅读)几乎总会丢节拍或压缩得别扭。
问:流体/手部镜头在每个工具上都失败,怎么办? 答:换到你能用到的最强物理模型上重跑——截至 2026 年 6 月是 Kling 3.0 或 Veo 3.1(Sora 2 的 App 已于 2026 年 4 月 26 日关停,不再是以前那个省事的答案了)。如果还是失败,别死磕了:生成两个静态镜头(前/后)然后中间切。干净的一刀剪读起来是「有意为之」,崩掉的过渡读起来才是 AI 伪影。