feat: 新增八方向序列拆分节点(8方向行走动画管线)
把每帧排布着 8 个朝向的雪碧图序列,一次拆成 8 条独立动画序列, 完成方向编号与分组。整条管线只有这一环缺失,其余复用现成实现: 视频转帧用 VHS 的 force_rate,透明 webm 用 VHS 的 format=video/webm + pix_fmt=yuva420p,序列帧用 SaveImage (4 通道输入 PIL 会自动存成 RGBA)。 三个关键设计: - 用固定网格而非连通区域拆分:连通区域按包围盒排序,角色走动时 位置浮动,跨过排序行界方向就错乱,上百帧错一帧整条动画就废; 且各自 bbox 裁剪导致尺寸不一无法合成视频 - 白底转透明用边缘连通性判断:角色常穿白衣服,按亮度一刀切会把 白衬衫掏空,故只把与画面边缘相连的白色判为背景 - 裁剪框取全序列并集:逐帧各自裁剪会尺寸不一且角色帧间跳动 另加碎片清理(按连通块面积比):网格切分会把相邻格探进来的手杖尖 切入本格,既难看又撑大裁剪范围。实测 E 方向 172x370 -> 150x335, 跨帧重心极差 8.0 -> 0.5 px。 实测 97 帧 834x1112 素材:拆分约 4 秒,导出 webm 回读透明像素占比 0.635 与素材一致。注意验证 webm 透明需显式 -c:v libvpx-vp9 解码, 内置 vp9 解码器不处理 alpha 边带,否则会误判为透明丢失。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
b517c5714b
commit
28fd14aaad