UE Bridge · Physical Causality
No template change · 只做结论说明

UE Bridge 别再靠“魔法切”过渡

现在的桥接视频不是“画质不行”。真正的问题是:hot 里的力,怎么一步步变成 UE 玩法里的机器状态,没有被写成合同。模型只能猜。

1 个缺口缺少 physical-causality contract
5 个事件把 8 秒拆成可验证的因果链
2 层检查先看物体运动,再看最后一帧
Diagnosis

怪,不是因为不顺滑。是因为没有“因”。

电影剪辑里,观众相信一个切换,是因为动作能接上。资料里把这种方法叫 match on action:切在动作中间,让下一段继续同一个动作。我们的 UE bridge 现在只要求最后一帧对上,但没有要求中间的力一路传过去。

Hot peak

真实木头被切开。观众看到的是力、阻力、木屑。

模型猜的空白

“逐步游戏化”会变成 cross-fade、瞬移、或风格混合。

Gameplay t0

游戏机器、轨道、木材位置都要和 @image2 对上。

应该补上的东西

木头切开 → 滑落 → 上 conveyor → 进入机器 → 机器开始处理。

验收也要变

不是只看最后一帧像不像,还要看每个中间物体状态对不对。

Five causes

现在的 handoff 把三个工作混在一起。

用户给的 prompt 里,@image2 同时是 style anchor、landing frame、最后一帧约束。hot、transit、landing 三段都被同一堆 reference 拉扯。

1. hot 和 gameplay 被当成同义词

hot 是“切木头产生碎片”。gameplay 是“机器消耗木头”。中间的搬运路径没有字段。

2. @image2 角色太多

它既要定最后一帧,又要定全局风格。于是 0–3 秒也被游戏画风提前污染。

3. reference 没有时间边界

@image1、@image2、hot refs 同时作用到整段 8 秒。模型不知道哪个 reference 只管哪一段。

4. primitives 太静态

“saw cuts log”不够。需要速度、方向、接触点、碎屑去向、进入哪个 input region。

5. seam QA 太晚

它只问最后能不能切进 gameplay。中间有没有物理因果,不在当前检查里。

6. v71 contract 没问题

3 个 final + 3 个 hook 的前端返回已经通了。这个问题在“桥怎么生成”,不是“怎么返回”。

Unit of design

把“过渡”改成 5 个可检查的物理事件。

核心建议:在 creative → delivery 的 handoff 里增加一个可讨论的 causal_bridge_chain[]。它不是更长的 prompt,而是告诉模型:每一秒,哪个物体受了什么力,移动到哪里。

00.0s

力开始

刀具压住原木。木纤维拉紧,碎屑开始向右后方喷。

01.8s

物体改变

原木裂开,半圆木获得向右的动量,不是凭空换场。

03.0s

进入运输

木头落到 conveyor,镜头开始抬高,世界开始简化。

05.5s

机器接住

木头滑入 log peeling machine 的 input slot。

07.8s

match action

机器刚开始处理。动作方向和 gameplay clip 第一帧一致。

{
  "causal_bridge_chain": [
    {"t": 0.0, "action": "saw presses into log", "object_state": "log intact, force building"},
    {"t": 1.8, "action": "log splits and falls right", "object_state": "halves moving toward conveyor"},
    {"t": 3.0, "action": "wood slides along conveyor", "object_state": "game resource begins"},
    {"t": 5.5, "action": "wood enters mill input slot", "object_state": "machine placement matches landing"},
    {"t": 7.8, "action": "machine starts processing", "object_state": "ready for gameplay clip"}
  ]
}
Prompt assembly

提示词要少一点“管全局”,多一点“分时间”。

Runway 的提示指南也强调:用 input image 时,prompt 应该直接描述运动,不要概念化,也不必反复描述输入图本身。我们的 prompt 现在把 reference role、禁止项、URL、物理动作、最后一帧全塞进一段,模型会抓不到优先级。

现在容易出问题的写法overloaded
@image2 管太多既是最后一帧,又是全局 style,又管机器位置、资源状态、UI 禁止。
URL 进正文“最后一帧严格匹配 https://...” 对模型不是视觉动作,只是噪音。
抽象动词太多“逐步游戏化”“converge into UE world”没有告诉物体怎么动。
否定项压过动作No UI/HUD before final second 是对的,但不能替代具体 match-action。
建议的组装方式time scoped
先给 reference 时间边界@hot 只管 0–2s;@image2 只管 6.5–8s 的 final frame。
再给 causal chain每个 timestamp 写 actor、action、object_state、motion_vector。
最后写禁止项禁止 cross-fade、teleport、纯风格混合、无移动物体的硬切。
把 URL 放 metadataprompt 里用 @image1/@image2,不把长 URL 写进自然语言。
最小可用句式:“hot 机制的 output object 必须至少有一帧正在朝 gameplay 机制的 input region 移动或进入它。没有移动物体的 cross-fade 是失败。”
QA upgrade

不要只问最后一帧像不像。

现在的 seam QA 有价值,但它是最后一道门。物理衔接需要更早的门:每个中间状态都要能解释“为什么下一秒会到那里”。

检查项

现在

它能抓到

优点

它漏掉

盲区

建议补什么

下一步

first-8s guard

前 8 秒不能像 storyboard 或大字卡。

视觉类型

能挡掉纸板感、字幕感。

不懂因果

它不问木头怎么到机器上。

保留

继续作为外观底线。

hot-fusion

hot 的爽点有没有进游戏。

主题匹配

能抓到“完全不像 hot”。

容易过宽

像“切木头”不等于“木头进机器”。

加 object state

用 chain checkpoint 验物体。

seam continuity

最后一帧能不能接 gameplay。

入口对齐

能挡硬 mismatch。

太晚

最后像,不代表前面合理。

新增 causal QA

逐帧检查 0/2/3/5.5/7.8s。

Recommendation

先设计合同,再决定要不要 patch。

这次不更新模板。建议先把“物理因果合同”定下来,再做小流量验证。否则继续在 prompt 里加形容词,只会让模型更困惑。

第一步:补 transit_logic

先不用完整数组。每个 handoff 加一句:output object 如何到 input region。成本最低。

第二步:试 causal_bridge_chain[]

对 lumber / mill 这类转换 hook,写 5 个 checkpoint。用 3 条样本看稳定性。

第三步:加 causal QA

用 contact sheet + VLM 检查 checkpoint。失败叫 `causal_chain_violation`。

不动的东西

v71 的 6-block 前端返回、严格 UE gate、multi-variant fanout 都保留。

可接受代价

creative 侧多一次分析,预计多 10–20% 时间。换来桥段更可信。

风险边界

手势/表情类 hot 不一定有物理链。允许 `causal_bridge_chain: null`,走旧路径。

Sources

参考原则

外部资料只用来校准原则:动作连续性、prompt 要直接描述运动、input image 不要被重复描述。具体方案来自我们这次 UE bridge 的实际失败。