清华开源OpenMise:视频生成拆成两步,先搭三维草稿再渲染
视频生成不再反复抽卡!清华开源,给模型装上「三维空间大脑」
新智元报道
新智元报道

眼下能力最强的视频生成大模型,比如seedance 2.5,按用户意图出片时仍存在几处明显短板。
拿seedance 2.5生成两个指定角色下国际象棋来说,sota视频生成模型在细节一致性上的不足就暴露出来了。
输入给模型的指令大致是这样:拍一段写实风格的双人对弈视频,两人隔着棋盘下国际象棋,整盘棋要按西班牙开局的走法完整走一遍——先走 e4 e5,接着 Nf3 Nc6,再走 Bb5 a6,之后是王车易位、双方轮流的着法与应招,顺序不能乱。同时限定每一步都得合乎规则,棋盘上的局面要前后接得上,不能冒出多余的棋子,不能有棋子落到不该落的位置,也不能让棋子突然不见。
人物和落子动作,seedance 2.5都生成得对。可视频越往下走,棋子的位置就越乱。
前一帧棋子还在原处,后一帧就挪了格子,有时还凭空多出一枚棋子。
人物、布景、光影都渲染无误,错的是棋局本身。类似的细节不一致还有不少。
视频创作者对这种「抽卡」并不陌生:人物从哪走到哪、镜头怎么调,提示词里写得明明白白,生成出来照样穿墙、跑偏。
运气好一遍过,运气差就得整段反复重生成,时间精力搭进去,算力开销也不小。
碰到精确动作和空间关系的内容,用户看重的东西已经变了:从画面漂不漂亮,转向内容有没有按计划发生、细节前后是否一致。
问题不在模型画不出棋盘,而在于连续镜头里它得记住每枚棋子上一步在哪、这一步该去哪、走完之后其他棋子该是什么状态。
同时它还得把人物拿棋的手部动作、镜头运动和光影一起生成出来。
这既考验细节把控,又考验渲染质量,眼下的视频生成模型几乎没一个能两头兼顾。
清华大学和宾夕法尼亚大学的团队开源了一套面向Agent的空间场景编辑工具OpenMise,定位是Agent连接空间场景的桥梁。
OpenMise的思路是把「困难的视频生成任务」切成「两个简单阶段」,借此把控细节一致性。
项目地址:https://github.com/Rath-Team/OpenMise
第一步,由Agent调用Blender,把场景、人物、动作、摄影机和灯光放进同一个三维世界,产出一份方便修改的草稿;
第二步,创作者把这份草稿视频交给现有视频生成模型,渲染成写实画面或指定风格。
说白了,就是把「直接生成视频」换成「Builder + Render」两阶段。
[标题] OpenMise先用Coding Agent设计出精确的移动草稿再渲染细节
清华团队判断,症结在于创作者把太多要求同时压给了视频生成模型,解法就是把一个复杂任务拆成两个简单任务。
-
视频的一致性和物理规律怎么保证?OpenMise团队认为,让Sota级别的Coding Agent(例如Deepseek V4.1 Flash)直接创作具体动作,白模就能符合物理规律。
-
把白模渲染成真实视频,对seedance 2.5这类视频生成模型来说是更轻松的一步。模型不必再精确维护前后一致的棋盘状态,只要把Coding Agent编排好的白模状态渲染成清晰真实的画面就行。
任务这么一分,两个阶段各自用上了最合适的AI工具。
还是下棋这个例子。同一段棋局要求,OpenMise先在Blender里建好棋盘、棋子、人物和移动序列,每一步棋的起点、落点、时间都写得清清楚楚。白模视频出来后,创作者可以先看棋局怎么推进。之后团队把这段白模视频、人物参考图和提示词一并交给Seedance 2.5,生成写实版本。
OpenMise做出的棋局白模草稿如下:
视频|OpenMise 第一步产出的国际象棋白模草稿,棋子轨迹完全精确
接下来是以这份草稿为参考生成的写实棋局:
视频|参照 OpenMise 草稿生成的国际象棋对决画面
两阶段走下来,OpenMise 生成的视频在一致性上提升很明显。
换成 seedance 2.5,同一段视频反复生成再挑出符合物理规律约束的结果,可能要抽几十次才能接近 OpenMise 的效果,甚至始终做不到。
这个例子说明,AI 视频创作里的一个业界难题,OpenMise 给出了不错的解法。
国际象棋只是个好懂的例子。放到现在的视频创作里,人物行走和室内运镜其实属于同一类问题。
创作者会提「从A到B」「穿过这扇门」「始终跟拍主角背影」这类要求,模型得把空间状态稳住:门在哪儿、人物有多宽、镜头能不能后退、下一秒谁该移动……直接拿视频生成模型来做,这些都办不到,OpenMise 恰好能派上用场。
OpenMise 的核心思路,是把一个复杂问题拆成两个简单问题。
要做出细节一致的视频,靠的是 Builder 和 Render 两个阶段。
Builder 只管把物理规律和动作细节设计成清楚的草稿,Render 只管把草稿渲染成真实成片。
OpenMise 两阶段生成视频的系统架构
视频 | OpenMise 控制 Agent 使用 Blender,自动创建资产并管理资产
Builder 让 Agent 把自然语言剧本拆成可执行的三维制作计划。Skill 规定何时校准场景、怎样安排跟拍或环绕、渲染后检查什么。
Tool 则负责导入资产、计算路径、创建骨骼动作与摄影机关键帧、配置灯光,并启动渲染。
Agent 通过 Blender MCP 调用这些工具,把人物、镜头和灯光放进同一套坐标与时间轴,再输出草稿画面。
Builder 交付的是可编辑的 Blender 工程和结构化参数,问题能定位到具体环节。路线要改就调路径;人物走对了但镜头穿墙,就改摄影机;动作和镜头都合适而光线不对,只动灯光。
跟整段重新生成相比,这个中间过程给创作者留出了检查和局部修改的余地。
在专业技术细节上,Builder 有几个创新点:
让 Agent 真正理解创作者在视频生成场景中的三维资产
Builder 支持 Blender 原生场景,也能接入 3DGS 扫描,以及 GLB、glTF、FBX、OBJ、Blend、PMX 等三维资产。不过 OpenMise 团队在视频生成创作实验中发现,场景能显示出来,和系统已经理解场景,中间差得很远。以 3DGS 为例,它主要保存空间中的高斯分布与外观信息,房间名称、门的位置、真实尺度、可行走地面或碰撞边界并不会天然给出。
视频 | 用自然语言命令 OpenMise 导入三维资产,并按语言指令在指定位置完成导入
场景接进来之后,还得做坐标校准、尺度校准和空间标注。Agent要先把地面朝向与Blender的水平面对齐,再建立场景单位与人物身高之间的对应关系,随后记录起点、终点、门口、床边、可通行区域、障碍区域以及摄影机活动范围。走完这几步,一个「看得见的房间」才算是变成了能用来规划路径和机位的空间表示。
人物运动:整体位移与骨骼动作分开处理
有人的视频生成场景里,人物来源有两种:一种由系统用简化几何加骨骼程序化生成,另一种取自外部角色资产。前一种适合快速出白模草稿,人物尺寸和骨骼结构系统都清楚;后一种则要多做几项检查,包括坐标方向、比例、骨骼、蒙皮和动画兼容性。
光把这些内容导进来还不够,Agent还得能对它们做更细致的处理。
人物在视频里的位置和动作细节,由Builder实现监督。角色站在哪、朝哪边,归路径控制管;迈步、抬脚、落脚和身体姿态,归动作控制管。路径校验不只看中心线,还会算上人物占用的空间,免得出现「路线过了门、肩膀却撞上门框」这种事。
骨骼动画加上脚部约束,让走路的姿态跟整体位移配合起来,同时检查脚和地面之间的关系。
摄影机与灯光共用一条时间轴
做视频生成时,创作者常会用到「背后跟拍」「缓慢推进」「进入卧室后环绕」这类镜头语言。到了视频生成模型里,这些说法会被转成摄影机的位置、朝向、焦距、观察目标和关键帧。
空间狭窄时,相机可以顺着人物刚才走过的路径跟进去,再调整距离和观察方向,转弯时穿墙的风险也就降下来了。
人物动作、摄影机运动和灯光变化都挂在同一条时间轴上,所以「人物进入卧室—镜头开始环绕—轮廓光渐入」能落到具体的帧位置上。
灯光也是参数化控制的。类型、位置、朝向、颜色、功率和发光尺寸都可以单独设,还能随时间变化。
面向3DGS场景,Builder还接入了KIRI的近似重打光设置,扫描出来的墙面和地板能呈现新的受光变化,草稿阶段的氛围调整因此有了空间。
执行之前,先给出干净的中间文件供创作者检查
场景、人物、动作、镜头和灯光都准备好以后,Builder会在一个独立的Blender进程里搭场景、生成动画并渲染,最后把图像序列编码成视频。
动手执行前,Tool会核查参数范围、对象引用、时间轴和关键帧、空间路径、地板支撑以及实际动画数据。执行完之后,工程文件、结构化计划、运行日志和检查报告都会留下来,方便定位问题、针对性修改。
Render借助现有视频模型完成视觉呈现
Builder自己在Blender里就能出草稿渲染,给出可查看的白模视频和还能继续编辑的场景文件,不依赖云端视频模型。要写实质感的时候才进Render:把白模视频、人物形象参考和剧本提示词一起交给现有视频生成模型。
国际象棋那个案例里,团队把这些素材喂给了Seedance 2.5;草稿提供连续的棋子移动和拍摄结构,视频模型补上人物外观、材质和画面风格。
这种两阶段的做法,第一阶段结束时就已经能拿到有价值的东西。验证路径、机位和构图,白模本身就够用;要做面向观众的成片,它也能为后续生成提供人物运动、镜头节奏和场景结构方面的参考。

OpenMise团队展示的室内案例,起点是一份3DGS房间扫描。原始输入保留了走廊、门口和卧室的视觉外观,Builder随后完成地面方向与尺度校准,再把人物起点、卧室终点、可通行区域和摄影机活动范围写进空间表示。
这样一来,「从走廊走进卧室」就成了一条能计算、能验证、还能接着改的三维路线。
室内场景环节,团队用的是 3DGS 搭建的房间,效果如下:
下图是 OpenMise 导入的室内 3DGS 场景。
房间局部的快照情况:
图为 3DGS 房间局部以及行走路线的示意。
具体到「从走廊到卧室」这一段,Builder 得把两件事同时办妥:
-
一件是路径控制。它管的是人物大方向上站在哪儿、面朝哪边,再按可通行区域去核查路线。核查时看的是路径中心线,同时必须把人物实际宽度算进去。不然「中心线穿过了门」,肩膀照样会撞上门框。
-
另一件是动作控制。它用骨骼动画加脚部约束来安排迈步、落脚与站立,让身体动作跟整体位移对得上,还要检查脚和地面的关系。如果导入的是外部角色,骨骼、蒙皮和动画兼容性也得一项项核对。
让人物、镜头和灯光共享时间线
摄影机在三维世界里同样是一个对象。「背后跟拍」这种要求,得先拆成机位、观察目标、焦距、跟随距离和时间段,再转成摄影机的关键帧。要是图省事把相机固定在人物身后,人物在窄走廊里一拐弯,相机就可能切进墙里。
Builder 的做法是让相机沿着人物先前走过的路径跟进,再调朝向和距离。人物到了卧室开始环视房间,镜头也在同一条时间轴上切换观察目标。路线、动作、运镜因此不是三段各管各的动画,而是一份彼此对齐的拍摄安排。
灯光同样由结构化参数来控:类型、位置、朝向、颜色、功率和发光尺寸都能单独设,还能在时间轴上安排它们的变化。
尺寸影响的主要是光影柔和程度,功率决定的是照明强弱,所以「灯更大」跟「灯更亮」不是一回事。团队还展示了一版只改灯光、人物路线和镜头都保持不动的效果。
针对 3DGS 扫描出来的房间,OpenMise 还接入了 KIRI 的近似重打光设置,墙面和地板会呈现新的受光变化。扫描场景原有的视觉底子留住了,布光调整也留出了余地。
路线和镜头定下来之后,灯光还能单独调:
视频|OpenMise 灯光修改演示
白模草稿与最终成片
团队演示的这个室内案例里,用户导入一间 3DGS 房间,提出的要求是人物从走廊走到卧室、摄影机一路跟拍背影;人进卧室后环视四周,镜头也跟着变。
Builder 据此把场景校准、人物路线、动作和摄影机轨迹排好,先输出一版草稿视频。
这版画面最要紧的用途是检查:人物和房间的比例对不对,门能不能过得去,镜头有没有把从走廊进卧室的过程交代清楚,进卧室后的观察动作有没有拍到。拍摄结构确认之后,再拿草稿视频当参考去生成写实版本。
从白模到成片,变的主要是视觉外观;人物从哪儿走、摄影机怎么跟,底子已经清楚多了。
视频|OpenMise 3DGS 房间行走白模草稿
眼下的视频模型,在逼真的人物、材质和光影上已经越来越拿手。复杂视频创作的新门槛,落在了对空间、动作和拍摄过程的持续控制上。人物要沿指定路线走,物体要保持稳定状态,镜头要在复杂场景里准确完成调度……
OpenMise 这套技术探索,就是给生成模型补上一个可计算的中间层:自然语言里的创作意图,先被转成三维坐标、对象关系、运动路径、摄影机关键帧和统一时间轴。这个 idea 彻底解决了视频生成不符合物理规律这一业界难题。经过验证的白模草稿,再成为视频模型生成的依据。
这么一来,空间一致性就不用全靠模型从像素里去「猜」了,背后有一套能执行、能检查、也能改的先验资产撑着。
创作者和生成系统打交道的方式,也因为OpenMise起了变化。以前毛病常常得等成片出来才看得见,想改,多半只能把整段视频重新生成一遍。
现在有了OpenMise,问题能落到具体的对象和参数上。路线偏了就改路径,人物和地面的关系不对就调动作约束,运镜不达预期就重设摄影机关键帧。视觉风格另说,交给Render阶段接着做。
OpenMise把一个复杂任务拆成两个简单任务,这个思路简单,也确实管用。放到眼下正火的视频生成业务里,比如高质量短剧的生成,它不光能把质量往上抬一大截,还能把创作者从抽卡里解放出来,生产成本跟着大幅下降。
过去的视频生成,主要解决的是「把一句话变成画面」。下一阶段要解决的,是让画面里的一切「按照计划发生」。
从像素层面的视觉生成,走到对空间、时间和对象关系的联合建模,OpenMise想推着AIGC视频从一次性的结果生成,转向真正能改、能复用的内容生产:成片之前,人物要去哪儿、镜头要看到什么,已经可以先在三维空间里聊清楚。
参考资料:
https://github.com/Rath-Team/OpenMise