V6:从生图到切片,展开整个过程
目标是把 100 帧、27 fps 的角色视频重建成可编辑二维动画。本页展开 V6 的素材、拆分、补片、网格和动作编排。坐姿结构更接近原片,但完整部件被可见面切片替代,拆分质量仍有问题;这里直接展示产生碎片的步骤和实际中间画面。
整个 pipeline:素材从哪里来,又被怎样处理
这版有两个不同的拆分分支。先尝试独立部件 atlas(一张图中排列多个部件),随后因装配问题改为从生成整人图切可见面。下面逐步展开输入、输出、归属规则和实际使用情况。
当前拆分的问题:透明背景只给出了外轮廓。整人图里的袖子、衣领和躯干仍互相遮挡;切出的像素只包含可见面。torso_core 又接收了其他多边形未覆盖的残余像素,出现碎片。首帧能拼回、三角形不翻折,都不能证明这些部件适合独立动画。
图示依据当前保存的代码和产物。颜色候选、闭合和 Canny 是本次按代码重建的诊断视图;最终贴图、网格、权重及历史渲染均来自已保存结果。完整流程数据与来源哈希
1–2 · 观察原帧,保存提示词和全部生图





4 次生图均保留了原生 Alpha。atlas 生图同时参考原帧和生成整人图;这些图不是都进入了最终模型。逐张查看确切提示词 · 生图来源记录
3A · atlas 提取:看原图中的位置,以及最后有没有用
代码按 Alpha > 24 找连通区域,保留面积 ≥ 500 像素且中心落在指定格子的区域;用 5×5 核膨胀选区,调整 Alpha 上限,再紧裁边界。这一步只是在新生成图上提取部件。
全部 16 个独立生成部件(点击检查)
3B · 当前切片:多边形如何把整人图切成部件
身体按多边形先后顺序分配像素,后写的部件覆盖前写的部件。头发还加入橙色条件、3×3 闭合、填洞和小块归属调整。这里可以逐步查看条件,而不只看最终裁图。
连通区域统计:Alpha > 16,8 邻域,只计面积 ≥ 8 像素的区域。碎片数量用于定位问题,不能自动判断部件质量。透明区域显示棋盘底色;点击下面的缩略图可检查每一片。
4 · 隐藏补片:哪些内容是生成的,哪些只是颜色延展
14 个身体切片各有一块内部补片,取最近的已生成像素向切口外延展。普通部件半径 10 px,躯干和两条腿 38 px;范围仍受原生成身体的 Alpha 限制。另有 1 块独立生图的躯干补片。颜色延展没有生成被遮挡处的完整结构。
查看独立生成的躯干补片,以及被弃用的头发补片


5 · 从 Alpha 和线条到网格、蒙皮与笔刷权重
网格由透明度边界和 Canny 线条约束三角化得到。身体切片共用同一位置的蒙皮权重以减少裂缝;右侧宽后发的笔刷权重沿长度分布。网格忠实保留了输入里的孔和碎片,它不会自动把这些切片补成完整部件。
装配坐标、骨骼输入和 43 层绘制顺序
整人图先等比缩至高 720 px。切片的贴图坐标变为画布坐标时,采用 x′ = 0.936x + 76.25、y′ = y − 4 + max(0, y − 620) × 0.16,对应当时选定的颈部与膝部对齐。早期 atlas 的放置则是各部件单独的矩形。
主动作事件与骨盆、胸口、头部轨迹沿用 V5;手臂重新标定绑定位置并计算 IK。身体表面共用蒙皮权重,远侧手臂当前没有独立运动的有效蒙皮影响。下列顺序从后向前绘制。
6 · 原片光流 → LLM 判断 → 控制点 → 代码执行
DIS 光流及往返检查提供运动证据。LLM 查看原片、轨迹和遮挡后,编排 9 组控制目标;代码把目标编译为 24 个笔刷并执行变形。光流没有直接写入网格。查看测量箭头、可信性标记和观测轨迹
点击时间行可同步跳到该帧。
保存的原始观察说明
7 · 中间装配与修改过程:逐版、逐帧对照
下面使用实际保存的中间渲染。部分早期场景 JSON 已被后续修改覆盖,因此这里只展示当时留下的截图,并标明对应哈希;不会把当前代码重跑的画面冒充历史结果。
全部 9 个阶段概览
原片 / V5 / V6 同步播放
改进集中在首帧结构和可见的衣发摆动。转头仍主要由平面旋转和表情切换表达,不能等同于原片的立体转向。几何通过不代表动作已经完全相似。
首帧与确切生图提示词

V3 的后续生图提示词要求长裙完全覆盖腿部,改变了原片服装。V6 提示词明确保留原片的坐姿透视、服装开口和可见腿部,禁止添加长裙、长袜或站姿轮廓。后发要求清晰的大束结构,避免额外细卷发。
独立 atlas 的第一次装配仍出现重复衣领和袖口错位。因此最终可见面从本轮新生成的整人参考图按 LLM 划定的部件边界拆出,并保留独立网格;独立生图补躯干遮挡区域,少量生成像素延展补内部接缝。没有分割或使用原视频像素作为动画纹理。
查看本轮全部原始生图与确切提示词

canonical 提示词

costume_parts 提示词

seated_parts 提示词

hair_parts 提示词
光流负责测量,动作由观察后的控制点决定
代码计算 99 对相邻帧的稠密光流,并做前后往返检查。箭头显示图像局部如何移动;它不能自动说明哪一束头发挡住了哪一片衣服。LLM 同时查看原片、箭头和轨迹,选择事件、判断遮挡,再写控制点位移。

例如右后发在 14 帧和 74–83 帧向内、向下收拢,39–52 帧向外展开;绿色前襟的中段先转向,末端随后跟随。左后衣摆有轨迹跟到尾巴上的情况,已剔除。脸侧发束与宽后发拆开控制,宽发束沿长度分散弯曲。
查看 LLM 编排的关键姿势及其观察依据
全部最终图层:处理前 / 处理后 / Alpha
包含可见部件、隐藏补片、沿用的头部素材和背景。补片的“处理前”显示其生成图来源,处理后显示实际运行的贴图。透明区域采用棋盘底色。
全部 43 层与 3 个附加表情贴图缩略图
可播放、可拆层的 HTML 模型
支持 V5 / V6 切换、逐帧播放、图层开关、单独查看部件、骨骼编辑及保存。运行时只读固定生成贴图与动画数据,无需原片或模型服务。
检查、局限与复现
| 网格翻折 | 0;0–99 帧,每 0.25 帧检查一次,共 397 次 |
|---|---|
| Python / JS 最大顶点差 | 3.07e-12 px;9 个时刻、7 种部件 |
| 尾巴 | V5 的完整尾巴图层、骨盆控制保持一致,沿用已验证的保宽截面 |
| 输入保护 | 412 个文件未改,包括 old_stuff、V4、V5 和原 skill |
| 贴图来源 | 全部来自生成素材;原片只用于观察、测量和报告对照 |
完整代码测试 48 项通过。下载源码包在临时目录中解压后,9 项 V6 测试、模型导出和第 39 帧渲染通过;无需原视频或 LLM。下载包检查记录
上一版“首帧服装结构和衣发摆动已经修复”的表述过早。坐姿外观有所恢复,但躯干残留域、被遮挡的部件缺失和颜色延展补片仍限制了拆分质量。远侧手臂目前沿用躯干运动,转头仍是平面近似。零翻折只说明采样中的三角形方向,不能证明部件完整或动画相似。
源码目录:experiments/flow_v6/。保存的控制点由本次观察编排,重放无需再次调用生图。日期:2026-09-28。