一辆橙色货运车驶向星港闸门,门扇向两侧展开,无人机从上方掠过。镜头先从高处接近桥梁,再切到低机位跟车,最后绕到停车平台拉远。

这段 30 秒动画由 AI Agent 通过 DATASPACE3D 的 Skills + MCP 搭建,已经导出为六个五秒片段。它为 AI 视频制作提供了一份可以播放、修改和逐镜头录制的运动参考。

暮色星港三维动态分镜,橙色货运车沿桥梁驶向闸门,无人机在前方伴飞

图为实际项目配置与 CDN 脚本在本地浏览器中运行的画面,采用 Three.js / WebGL。

观看 30 秒完整预演(MP4)

这次实践做到三维预演与素材导出。把这些素材交给视频模型后,运镜和动作能保留多少,还需要下一轮对照测试。

一句分镜描述里,藏着好几条时间线

假设要拍货运车接近闸门的镜头。镜头贴着车身向前跟随,车辆抵达前闸门打开,无人机从右上方进入画面。

这句话同时规定了车的路线、相机的位置、闸门的开启时点,以及无人机出现的位置。只看一张分镜图,很难确认它们配合起来是什么节奏。比如门开得太晚,车会穿过门板;相机离车太近,无人机又可能始终在画面之外。

三维动态分镜可以先把这些关系跑一遍。用简单模型交代主体、道路和遮挡,在时间线上安排动作,再用相机检查构图。需要把跟拍拉长,就调整镜头时长和路径;闸门挡住了主体,就移动机位,重新播放。

这里的动态分镜也可以叫三维预演,或 Previs。画面允许粗糙,但主体要能认出来,前后景要有空间关系,动作时点要清楚。这些信息会成为下一阶段视频重绘的输入。

把星港这段动作,拆成六个能单独修改的镜头

这次让 Agent 在系统空间生成一个项目,通过 GUI 控制播放,场景和镜头尽量丰富,并为后续视频生成准备素材。星港、货运车和无人机的组合由 Agent 选定。

选择车辆场景,是为了先验证运镜和走位。车辆的轮廓与运动方向容易观察,闸门可以检验动作配合,桥栏与建筑能提供跟拍时的视差。复杂人物表演先留在案例范围之外。

时间镜头需要看清的信息
0-5 秒航港初见高位前推并下降,交代车辆、桥梁和闸门的位置
5-10 秒并行跟拍低机位跟车,观察主体轮廓和桥栏掠过的速度
10-15 秒闸门苏醒从车头斜前方看车辆接近,门扇向两侧打开
15-20 秒掠过门楣镜头下降,车辆穿门,无人机进入伴飞位置
20-25 秒抵达平台车辆驶上平台并减速,保持行进路线连续
25-30 秒暮港回望围绕停稳的车辆后拉升高,重新交代港区空间

橙色车身负责突出主角,青色灯带标出闸门与桥梁,远处建筑和暖色天光补充空间层次。场景没有加字幕和标志,导出时也会隐藏控制界面,让参考视频尽量只表达镜头与动作。

闸门开启时的车头斜前方镜头,前景门柱与车辆形成遮挡关系

这一镜需要检查闸门展开后,车头能否被看清,门柱遮挡是否符合分镜意图。把车与相机一起播放,才能观察它们在整个镜头中的关系。

Skills 和 MCP 怎样把描述写进项目

DATASPACE3D 是一个 Web3D 可视化搭建平台。这个案例使用它的开放能力,让 Agent 创建项目、登记资源、组织对象,并写入动画配置。

MCP 提供创建、查询和更新这些内容的工具。Skills 则约定 Agent 怎样组织需求、生成资源脚本、注册资产,再把它们放进场景。这次的制作链路如下。

分镜描述 → 镜头清单 → 三维场景与动画 → 播放检查 → 逐镜头视频与关键帧。

其中,dataspace3d-project-compose 负责项目与场景编排;缺少的车辆、闸门和港区构件,由 dataspace3d-object-loader 生成;播放控制台交给 dataspace3d-project-gui;资源登记和本地文件上传分别由对应的 Skills 处理。

生成后的项目保留了 31 个内容对象,按港区建筑、桥梁与停机坪、运动主体与闸门、水面与天空分组。货运车、无人机和两扇闸门都是独立节点。

这样组织,后续改分镜才有落点。想让门提前打开,可以修改门扇的动画;想把港区改成仓库,可以替换环境构件。主角仍然是同一辆车,已确定的走位也可以继续使用。场景对象和可复用资源都保存在工作区里,生成之后还有编辑入口。

播放面板要能帮助检查镜头

这次 GUI 提供播放、暂停、从头播放、进度拖动、单镜头播放和倍速控制。展开面板可以选择六个镜头,保存当前画面,录制当前镜头或完整预演。按 H 可以隐藏或恢复整个界面。

星港分镜播放面板,可播放、暂停、拖动进度,并展开镜头与导出选项

拖动进度时,车、门、无人机和相机必须到达同一个时刻。停在第 12.5 秒,就能检查车辆是否仍在门前、门扇是否已经展开,以及当前机位有没有被门柱挡住。

为了做到这一点,播放控制使用统一时钟,按同一个时间采样对象动画与镜头路径。暂停和重播都回到这条时间线上。它也让录制片段与导出的镜头说明有了共同的时间依据。

这部分实际遇到过问题。第一轮画面里,部分建筑没有出现在保存的位置,相机也没有正确朝向主体。只检查配置写入成功,会漏掉这些错误。补齐对象的通用变换配置、修正镜头控制,再逐镜头看画面之后,才得到本文展示的结果。

录制时还遇到了时间计算问题。每次更新允许推进的时间被截短后,低帧率环境下的动画变慢,30 秒分镜被录成长得多的视频。修正计算后,实录约 30.01 秒,再整理为精确 30 秒的参考文件。

最终使用远端回读的配置和实际 CDN 脚本,在本地浏览器中完成了 Three.js / WebGL、Babylon.js / WebGL 两个引擎的播放检查。两者各通过七项核心检查,覆盖节点加载、选镜、暂停、拖动、重播、隐藏界面和浏览器错误检查。

这是对本案例运行情况的验证。两个引擎的画面仍有差异,也没有据此推导所有设备的帧率表现。

交给视频模型时,带上每个镜头的素材

本次导出的完整视频为 1280×720、H.264、30fps。另有六个独立五秒片段,以及每镜头的首帧、中间帧、尾帧,共 18 张参考图。

还准备了一份分镜说明,记录镜头描述、相机路径、主体动画关键帧和连续性要求。它的用途,是让接手的人或视频工具知道哪些动作和构图需要保留。

下一轮重绘可以从第二镜的五秒跟拍开始。先把该镜头首帧精修成目标美术风格,保留车辆轮廓与构图,再把原视频和这张引导图一起送入支持视频编辑的模型。模型支持多个引导帧时,再补充中间帧或尾帧。

给视频工具的镜头要求可以这样写。

保留参考视频的低机位跟拍和相机路径。橙色六轮货运车沿桥梁向闸门行驶,车身颜色、驾驶舱和浅色货箱保持一致。保留车辆运动方向、桥栏遮挡和动作时点,将材质与光照重绘为写实科幻电影风格。不要增加切镜、字幕或额外车辆。

这是一段待验证的重绘提示词。单靠输入视频,也不能保证模型严格复现每一帧。

下游已经有相应入口。Luma 官方将源视频、编辑强度和引导帧列为视频编辑的输入;Runway 的 Aleph 2.0 也支持修改输入视频,并用编辑后的画面引导变化。具体输入方式需按所选工具确认。Luma 视频文档、Runway 官方介绍。

保留运动和大幅改变外观之间,需要做取舍。Luma 的 Modify 指南明确提醒,较高的重绘强度可能减少原相机运动的保留程度。因此,这份三维预演提供的是可观察、可调整的参考,最终保真度仍要看实际生成结果。官方说明。

后续对照会选同一个镜头,在同一模型中比较纯文字输入与动态分镜加引导帧的结果,检查运镜方向、主体轨迹、动作时点和外观一致性。迭代次数与费用也应在那一轮记录;这次还没有相应数据。

从自己的第一个五秒镜头开始

如果你已经有明确的走位和镜头想法,可以先选一个五秒镜头做三维预演。把主体、动作、起止机位和持续时间写清楚,确认运动关系以后,再扩大场景和镜头数量。

下面这段需求可用作起点,也可以按自己的题材修改。

用 DATASPACE3D Skills + MCP 创建一个三维动态分镜草稿。

主题:暮色港区里,一辆橙色货运车穿过自动闸门。
先做一个五秒镜头,低机位跟拍车辆接近闸门。
把车辆、闸门、环境和相机保留为独立可编辑对象。
用 GUI 控制播放、暂停、重播和进度拖动。
车辆与镜头共享时间基准,暂停时一起停止。
提供可隐藏界面的录制方式,导出无字幕的16:9参考视频。
附镜头描述和关键帧,标明已验证与未验证的部分。
完成后返回草稿预览链接,先不发布。

想做自己的镜头,可以从 DATASPACE3D 一键接入页开始,把 MCP 和 Skills 接到常用 Agent,再用上面的需求跑一段预演。接入与工作区能力见开放能力文档。

本案例的完整素材包包含视频、18 张参考帧、分镜说明和资源脚本。星港项目草稿需要登录并具有访问权限,目前尚未公开发布。若想了解播放面板怎样成为可编排资源,可以接着看自定义 GUI 实践。

Logo

更多推荐