📌 Demo:自定义相机轨迹 × 3 个场景
以下 5 段视频全部由本机 RTX 3090 单卡生成(81 帧全长相机轨迹,成片 77 帧 ≈ 4.8s)。其中 4 段使用自研轨迹合成器(/data/workspace/lingbot-world-v2/make_trajectory.py)生成的自定义 poses.npy——模型按 OpenCV c2w 相机轨迹逐帧渲染同一世界。模型输出不含音频(离线 i2v 模式)。
长城 · 静止基线
768×512 · 13帧 · 0.81s

alt="strip greatwall_static"> alt="抽帧条">
相机零位移——世界模型的「稳态」基准:画面应几乎无变化,任何漂移都是模型时序一致性的直接读数。
长城 · 直线推进
768×512 · 13帧 · 0.81s

alt="strip greatwall_forward"> alt="抽帧条">
自定义轨迹:沿城墙 S 形导线匀速 dolly-in。观察砖石纹理由近及远的连续揭示与了望塔的透视放大。
长城 · 复合运镜
768×512 · 13帧 · 0.81s

alt="strip greatwall_compound"> alt="抽帧条">
自定义轨迹:推进 + 右横移 + 8° 缓转的复合运动。检验多轴同时变化下的几何稳定性。
瓦纳卡孤树 · 弧线环绕
832×464 · 13帧 · 0.81s

alt="strip wanaka_orbit"> alt="抽帧条">
自定义轨迹:绕树 14° 弧线。经典环绕主体——水面倒影与雪山背景的相对旋转直接反映相机控制精度。
骑龙古堡 · 俯冲推进
832×464 · 13帧 · 0.81s

alt="strip dragon_forward"> alt="抽帧条">
世界模型招牌场景:第一人称骑龙视角向古堡推进。前景龙翼视差 + 雾中古堡的空间揭示。
📋 调研结论速览
| 项目 | 结论 |
| 是什么 | 蚂蚁集团 Robbyant 开源的交互式世界模型(Wan 2.1 架构衍生),首帧图 + 相机轨迹 → 沉浸式视频漫游;发布 1.3B(Apache-2.0)与 A14B(MoE,未开源权重)双规格 |
| 核心能力 | ①高度一致的长时间世界探索(流匹配蒸馏 1 步/块)②多样化交互元素(攻击/射箭/施法,官方实时服务)③文本驱动事件 ④级联生成支持多区域一致漫游 |
| 控制轴(开源版实测) | 相机 6-DoF 轨迹(poses.npy Plucker 嵌入,逐块 cam_injector 注入)。WASD 键盘通道仅官方闭源实时服务有效——开源权重 patch_embedding_wancamctrl 输入通道=6(纯相机),实锤无 WASD 训练 |
| 硬件需求 | 官方建议 80GB;本项目实测 8GB 卡可跑 1.3B(见下方低显存改造)。A14B 版 40GB 级起步 |
| 实时性能 | 官方集群 16fps 720p 实时交互;本地 3090 离线渲染 ~9.5min/段(77帧/4.8s,含模型加载;DiT 20 chunks 采样仅 ~20s,大头在 T5 CPU 编码 + VAE),不适合实时交互,适合离线漫游生成 |
🔧 8GB 卡部署改造(三处根因修复)
① VAE encode OOM → CPU encode(image2video.py)
全分辨率 3D-VAE encode 单次激活 ~854MB,DiT+VAE 权重上卡后 8GB 放不下。
方案:offload_model 模式下 VAE.encode 输入留 CPU、权重/统计量切 CPU,
latent 回 GPU。附带修复 scale 常量 cuda/cpu 设备错配。
② flash-attn 2 缺失 → SDPA 回退(attention.py 接线)
model_fast/model_causal 绕过 attention() wrapper 直调 flash_attention(),
无 flash-attn 时 assert 炸。改走 wrapper:自动落 PyTorch SDPA。
(代价:k_lens padding mask 失效,本任务无 padding 序列,无损。)
③ VAE decode 设备错配 → latent 回 CPU decode
采样完成后 latent 在 GPU、VAE 已在 CPU(同①)。decode 前把 latent 搬回 CPU,
解码后帧回 GPU 存盘。
④ 运行配置(全部环境变量级,零侵入)
CUDA_VISIBLE_DEVICES=0 PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True
--t5_cpu --offload_model true --frame_num 33 --chunk_size 4 # 8GB 档出 13 帧
# T5-XXL 编码器驻留 CPU (rss ~14GB);DiT 独占 GPU 采样 (~5.9GB/8GB)
⚠️ 已知边界
| 项 | 实测 |
| 输出落盘 | --save_dir 不生效,文件落 cwd(已用脚本兜底 mv) |
| 默认 prompt | 不传 --prompt 时内置长城文案,与图不符——须按场景传 prompt |
| 时长 | 3090: 77 帧 @16fps ≈ 4.8s/段;121f 探针已通(7 chunks 采样仅 32s,成片 109f≈6.8s,vision 判无漂移崩坏)——3090 上显存不是帧数瓶颈,上限在轨迹长度 |
| 音频 | 无音轨输出;实时服务才有交互音频 |
| 121f 长镜头探针 | probe_121f_static.mp4(109帧/6.8s)——9 帧抽帧判读:场景一致、无漂移/崩坏/纹理退化 |
📊 本页为部署验证 demo(3090 复跑版:81 帧全长轨迹 + GPU VAE decode,8GB 时代的 CPU decode 8 分钟瓶颈已消除)。「世界模型」级长漫游(级联多区域)需 A14B 与更大显存。