尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Animated Drawing in OpenMontage:用 Meta AnimatedDrawings 为手绘角色注入真实动作捕捉

Animated Drawing in OpenMontage:用 Meta AnimatedDrawings 为手绘角色注入真实动作捕捉 Animated Drawing in OpenMontage用 Meta AnimatedDrawings 为手绘角色注入真实动作捕捉【免费下载链接】OpenMontageWorlds first open-source, agentic video production system. 12 production pipelines, 100 tools, 700 agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMontage导读/animated-drawing是 OpenMontage 面向「已有手绘/照片角色」的创意型动作入口——它调用 Meta 开源的 AnimatedDrawings为一张完整的人形图画预测 16 关节点骨骼再把 BVH 动捕片段重定向到贴图上输出原图「动起来」的栅格 GIF透明底或 MP4。本文以 skills/creative/animated-drawing.md 为骨架完整覆盖角色素材选择、两条运行路径、YAML 配置栈、动捕片段与重定向配置的配对表以及将角色合成进 HyperFrames 成片的完整链路让你能用任意一张涂鸦生成「专属角色跳舞/走路/跳跃」的可合成视频素材。一句话理解这个能力它只负责让「已经画好的角色」动起来自动蒙皮预测 16 关节点骨架→ 把 BVH 动捕片段通过 As-Rigid-As-PossibleARAP网格变形重定向到平面贴图上。它不做从零绘制、不做自绘渐显draw-on reveal——那是矢量路径/ink-art的职责。输出永远是栅格结果原始画作的像素被形变放大可见贴图拉伸。两条可替换的对照路径在 OpenMontage 中分工明确入口输入输出适用/animated-drawing已有的人形画/照片栅格 GIF/MP4原始图画被真实动捕形变用户「有一张图想让这张图动起来」/ink-art从零生成矢量墨线涂鸦自绘渐显 走动/舞蹈/挥手用户「想要一个从零画出来、自己会动的角色」这一分工也在 AGENT_GUIDE.md 中有明确记载Ink Theater / Ink Puppet 是「风格 可复用引擎」其跨工具入口正是/ink-art从零创建矢量涂鸦与/animated-drawing为已有图画加动捕栅格输出。同时 ink-theater/THIRD_PARTY_NOTICES.md 明确声明Ink Theater 引擎内置的 2D 动作片段全部来自 CMU 动捕数据库并未捆绑任何 Meta/FAIRAnimatedDrawings的动捕数据——两个系统各自使用独立的动捕来源。角色素材选择先问绝不静默复用内置角色工具会动捕「你给它的任何图」但前提是一张完整的人形画有头、双臂、双腿、四肢分离、浅色纯背景。因此每次制作前必须把下面四个选项摆给用户选择用户没有素材时默认走「生成新角色」——这一步也是避免每条视频都像同一个吉祥物的关键用户上传自己的画——效果最好因为是用户自己的角色。用户上传照片/任意图片——先用image_selector做 img2img 转涂鸦风格FLUX/Recraft 提示词turn this into a simple childs crayon doodle of a humanoid, full body, plain white bg再蒙皮。注意「手绘感」来自这一步原始照片直接变形效果很差。生成一个全新角色⭐推荐默认——用image_selectorFLUX/Imagen生成a childs crayon drawing of a character, full body, front-facing, A-pose with arms and legs separated, plain white background, no shadow, no text.每条视频都会得到不同的角色。抓一个素材库角色——pixabay_image/pexels_image过滤出「浅背景上的人形画」。命中率较低素材库大多是照片优先级低于方案 3。内置示例角色仅供 demo严禁当作最终用户的角色发货。方案 1–4 全部依赖下方的自动蒙皮 Docker 服务如果该服务没起来必须明确告知用户。两条运行路径路径 A · 内置角色 预设动作——开箱即用无需 Docker已在 Windows 验证git clone --depth 1 https://github.com/facebookresearch/AnimatedDrawings.git cd AnimatedDrawings # 该仓库锁死 Python 3.8 旧版 wheels用 uv 装 3.8 uv python install 3.8 uv venv --python 3.8 .venv uv pip install --python .venv -e . uv pip install --python .venv setuptools81 # 仓库 import 了 pkg_resources 但没有声明它 .venv/Scripts/python -c from animated_drawings import render; render.start(./examples/config/mvc/export_gif_example.yaml)纯 CPU 即可运行每段约 10–12 秒不需要 GPU、Docker 或模型下载。setuptools81这一行是关键坑AnimatedDrawings 直接import pkg_resources却未在依赖中声明新版 setuptools 移除了该模块必须降级。路径 B · 自动蒙皮一个新角色——重量级Docker 约 670 MB 模型约 16 GB 内存python image_to_animation.py drawing.png out_dir # detect → segment → rig → retarget → render该路径依赖仓库自带的 TorchServe 容器docker/容器会下载两个模型文件drawn_humanoid_detector.mar311 MBdrawn_humanoid_pose_estimator.mar357 MB。Windows 上只能用该容器跑蒙皮栈——OpenMMLab 实际只支持 Linux。自动蒙皮的输入要求一张轮廓清晰的人形图大致呈 T/A 姿势四肢分离、不重叠浅色纯背景分割算法是阈值 floodfill且图中恰好只有一个人物。背景不干净、四肢粘连、多人物都会直接破坏分割结果。智能体生成的 YAML 配置栈全 YAML完整配置由四类 YAML 组成char_cfg.yaml配套texture.png、mask.png由image_to_annotations.py自动产出——角色配置。motion 配置——指定 BVH 文件 帧区间 地面平面。retarget 配置——BVH 关节 → 骨架关节的映射除非骨架不同否则直接复用内置的fair1_ppf/cmu1_pfp。MVC 配置——渲染控制controller.MODE: video_render、OUTPUT_VIDEO_PATH可选WINDOW_DIMENSIONS/CLEAR_COLOR/BACKGROUND_IMAGE/CAMERA_POS。预设动作 → retarget 配置必须与 BVH 骨架匹配每段内置 BVH 属于不同的骨架家族用错 retarget 配置会直接崩溃ValueError: RightArm is not in list。严格按下表配对动作BVH 目录retarget 配置dab、wave_hello、jumping、zombiebvh/fair1/fair1_ppfjumping_jacksbvh/cmu1/cmu1_pfpjesse_dancebvh/rokoko/mixamo_fff其他 BVH 要么匹配其骨架要么手写对应 retarget 配置。另外两个性能陷阱用end_frame_idx截断长片段——例如wave_hello有 839 帧不截断会让渲染跑好几分钟地面接触类片段dab、wave_hello渲染速度约慢8 倍。角色多样性动捕用户自己的画内置角色仅供 demo。真实使用中角色永远是用户提供的那张图因此每条视频都是独特的。对「直接给我做条视频」且没有画稿的请求生成一个新角色image-gen 提示词见上文方案 3输出 PNG 浅色纯背景再自动蒙皮Docker 路径每次都能得到不同角色。严禁跨视频复用内置角色否则每条输出看起来都是同一个吉祥物。合成进 HyperFrames成片的下半场必做AnimatedDrawings 只输出「会动的角色」。要成为真正的视频背景、气球、音乐需要在 HyperFrames 中合成透明输出MVC 配置里设view.CLEAR_COLOR: [0,0,0,0]→ 输出透明帧。GIF 在确定性 HyperFrames 渲染中会卡死。必须转成带 alpha 的 VP9 WebMffmpeg -i char.gif -c:v libvpx-vp9 -pix_fmt yuva420p char.webmffprobe会误报为yuv420p——alpha 实际完好。视频契约linter 强制运行npm run checkvideo必须是舞台stage的直接子元素并带有自己的id不能嵌在带时序的div里嵌套会导致冻结每个片段要有自己的data-track-index淡出需要结尾硬切杀tl.set(el,{opacity:0})。文字/气球 HTML 覆盖层div使用完整的ink-theater/assets/patrickhand.ttf字体详见 ink-theater 的字体坑ink-theater/README.md。这里的完整字体约束非常严格不能使用 Google Fonts css2 子集 woff2——缺少 basic-latin 会静默回退成衬线字体。管线豁免/animated-drawing与/ink-art是创意入口不属于 Rule-Zero 管线——没有.yamlmanifest不要去寻找它。关于字体的这一要求与 skills/creative/ink-theater.md 中「嵌入完整字体而不是 Google-Fonts 子集 woff2」的非协商条款完全一致字幕/对话气球都应在 HTML 覆盖层div上以font-face … format(truetype)引用仓库内置的 ink-theater/assets/patrickhand.ttf。输出与诚实的边界格式GIF透明底/ MP4H.264avc1分辨率由WINDOW_DIMENSIONS决定示例为 500×500。类型纯栅格形变原始画作的像素放大可见贴图拉伸、仅人形、无自绘渐显、背景粗糙。定位一段「你的涂鸦活过来」的讨喜新奇效果自动蒙皮路径背后依赖 Docker 服务。不是通用矢量引擎——需要「白墨矢量涂鸦 自绘渐显」时请用/ink-art对照实现见 skills/creative/ink-theater.md 与 ink-theater 引擎文档。评估样张会话评估中的样例输出位于.tmp/animated-drawings/out/如char3_dab.gif、char1_zombie.mp4。在 OpenMontage 中的位置与引用该技能文档在仓库中存在多份同源入口便于不同 Agent 环境调用.claude/commands/animated-drawing.md、.codex/prompts/animated-drawing.md、.cursor/commands/animated-drawing.md、.github/prompts/animated-drawing.prompt.md它们均指向核心技能文档 skills/creative/animated-drawing.md 作为唯一事实源。命令参数格式为[path to drawing] [motion: dance|walk|jump|wave]即「图画路径 动作名」。与矢量路径ink-art、引擎Ink Theater的关系可从 AGENT_GUIDE.md 的 Layer Map 理解tools/定义「有什么可用」skills/定义「在管线中怎么用」而/animated-drawing属于创意层入口与character-animation管线配合用真实动捕替代手工调动作Ink Theater 的硬规则就是「绝不用手调角色动作只选择命名的动捕片段」。【免费下载链接】OpenMontageWorlds first open-source, agentic video production system. 12 production pipelines, 100 tools, 700 agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMontage创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表