ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

UniMate 推理输出全解析:motions 与 animations 目录的 npy/mp4 文件快速上手指南

UniMate 推理输出全解析:motions 与 animations 目录的 npy/mp4 文件快速上手指南 UniMate 推理输出全解析motions 与 animations 目录的 npy/mp4 文件快速上手指南【免费下载链接】UniMate[SIGGRAPH Asia 2026] UniMate: One Unified Model to Animate Diverse Skeletons项目地址: https://gitcode.com/GitHub_Trending/un/UniMate跑完 UniMate 的文本生成动画推理后输出目录里会同时出现motions文件夹中的.npy文件和animations文件夹中的.mp4视频新手常常分不清它们各是什么、能不能直接给 3D 角色用。本文带你 10 分钟拆解 UniMate 推理输出的完整目录结构逐文件讲清 npy 运动特征的形状、命名规则与两种 mp4 预览的来源并说明manifest.json如何成为把结果一键变成 GLB/FBX 角色动画的账本。UniMate 是 SIGGRAPH Asia 2026 的一个统一模型驱动任意骨骼文本生成动画模型。给它一个带骨骼的 3D 资产和一句提示词如 An object flaps its wings.它就能生成带动画。推理入口是 unimate/inference/sample.py所有落盘行为都在 unimate/utils/visualization.py 的visualize_and_save_motions中完成。输出目录长什么样一次推理的完整文件树运行推理命令--output_dir缺省为exp_dir/samples后目录结构固定为outputs/samples/ ├── manifest.json # 输出账本资产、样本、运行记录 ├── captions.json # npy 文件名 → 所用提示词 ├── motions/ # 运动特征本体模型真正的输出 │ ├── mixamo-run-rep_0-0.npy │ └── mixamo-run-rep_1-0.npy └── animations/ # 可视化预览 ├── mixamo-run-rep_0-sample0_fk.mp4 ├── mixamo-run-rep_0-sample0_ric.mp4 # 可选默认不生成 └── mixamo_tpos.png # 该骨骼的 T-pose 静止图一句话分工motions/存数据animations/给人看两个 JSON 管索引。motions 目录npy 运动特征文件详解命名规则拆解文件名遵循{case_id}-rep_{r}-{i}.npy模板测试用例无 id 时为{object_type}-rep_{r}-{i}.npy片段含义示例case_id测试用例名来自examples.json的id字段或提示词 slugmixamo-runrep_{r}第 r 次重复采样--num_repetitionsrep_0{i}批次内序号保证同批不重名0分隔符统一用-而非_这是为了与训练数据的{object_type}-{motion}-{clip}命名对齐方便下游按第一个-切出骨骼类型。同一用例重复采样 3 次就会得到rep_0、rep_1、rep_2三个文件——这正是官方建议的多采样几个挑好的工作流。npy 里存的是什么(帧, 关节, 12) 的规范特征用np.load读进来后形状为(F, J, 12)F帧数最长 60 帧配置的max_motion_lengthJ该骨骼的实际关节数已按n_joints裁掉 padding12每关节特征宽度feature_len固定为 12unimate/configs/schema.py 中强制由前 3 维全局位置 局部旋转四元数(4) 根朝向四元数(4) 1 维占位拼成。关键点文件里是已反归一化的规范空间canonical space数据——保存前做了motion * std mean可直接被动画阶段消费不需要再碰归一化统计量。这份 12 维格式与数据管线 Stage 4 提取的global_positions / local_rotations / root_facing_quat完全同构见 data_process/utils/motion_features.py也就是说模型输出和训练数据长得一模一样。animations 目录mp4 预览与 T-pose 图同一次保存会在animations/写三类文件视频均为640×640、30 FPS画面标题带上 case_id 和提示词..._fk.mp4默认必出用前向运动学FK从 npy 的旋转恢复关节位置后渲染的骨架动画——这是你最先该打开看效果的文件..._ric.mp4可选用 RIC刚体插值曲线恢复位置的另一版渲染。由于与 FK 结果高度重叠推理时save_ric默认关闭{object_type}_tpos.png该骨骼的 T-pose 静止图每种骨骼只渲染一次作为动态视频的参照底图。如果你只想省磁盘、跳过全部渲染加--only_save_motion即可此时只写motions/下的 npy。manifest.json 与 captions.json输出的索引账本两个 JSON 是理解输出的钥匙也是后续自动化流程的入口captions.jsonnpy 文件名 → 提示词的映射每个批次写一次中途退出也是合法索引manifest.json格式unimate-samples/1包含四部分——assets每个资产的 cond 文件、关节顺序、规范 GLB、统计数据集、samples每条样本的资产、case_id、提示词、类型sample/ground_truth、runs每次运行的 checkpoint、cfg_scale、seed、模式。重复运行进同一目录会追加而非覆盖早期样本保持可驱动若同名资产换了骨骼关节顺序不同旧样本会自动从账本中移除。run_animate_motion.sh正是靠这份 manifest 知道哪个 npy 该用哪个骨骼资产、哪个 cond 来驱动而无需你手动再报一遍数据集和角色。三种应用模式专属子目录与 gt 文件in-betweening、运动编辑、运动扩展三种模式会各自写入--output_dir下的子目录避免与常规采样产物撞名关键帧补间inbetween/固定--keep_frames指定的关键帧其余帧由模型补全。生成的 GT 参考会另存为{case_id}-gt_rep_{r}-{i}.npy放在同一motions/下并附一份inbetween_keep.json记录保留帧。注意补间模式的生成样本始终保持完整 60 帧而 GT 被裁剪到真实长度——对比时请从第 0 帧对齐。文本引导运动编辑motion_edit/--keep_joints列出的关节全程锁在原轨迹上其余关节按新提示词重新生成motion_edit_keep.json记录关节名。编辑模式下样本与 GT一起裁剪到片段真实长度。运动扩展motion_expand/多段提示词链式拼接成长动作motion_expand.json记录重叠帧数--expand_overlap。captions.json 中该样本的提示词是各段用|拼接而成方便回溯每段意图。下一步把 npy 变成带动画的 GLB / FBXmotions/里的 npy 不只是存档——scripts/run_animate_motion.sh 可以直接吃整个输出目录检测到manifest.json即进入清单模式先校验运动、cond、网格三者关节顺序一致再用规范资产驱动出每条运动一份的动画 GLB FBX落到输出目录/animated/bash scripts/run_animate_motion.sh outputs/samples/examples # 跳过无网格的运动SKIP_INVALID1 bash scripts/run_animate_motion.sh outputs/samples底层由 data_process/mesh_animation/animate_motion.py 在 Blender 无头模式执行清单解析逻辑在 data_process/mesh_animation/sample_manifest.py。常见问题速查FAQQ为什么有的文件名带-gt_那是 in-betweening / 运动编辑模式存下的 ground truth 参考manifest.json中kind: ground_truth用来和生成结果并排对比。Q一条动作为什么有两个 mp4_fk.mp4与_ric.mp4是两种关节位置恢复方式的渲染内容高度重合默认只出 FK 版。Q可以只保留 npy 不要视频吗可以加--only_save_motion跳过全部渲染。Q往同一目录反复运行会互相覆盖吗会追加写入并更新 manifestrep_{r}前缀保证重复采样不撞名但同名 npy相同 r、i会被后一次覆盖这也是账本中同名资产校验存在的原因。Qnpy 能直接导入 Blender 吗不能直接导入但run_animate_motion.sh一步就能把它变成带动画的关键帧 GLB/FBX也可以参考 data_process/mesh_animation/ 下的animate_lbs.py等入口自行消费。掌握motions数据、animations预览、双 JSON索引这三层结构后UniMate 的推理输出就再无黑盒看效果打开_fk.mp4做程序化处理读 npy批量出角色动画交给 manifest 驱动的脚本即可。【免费下载链接】UniMate[SIGGRAPH Asia 2026] UniMate: One Unified Model to Animate Diverse Skeletons项目地址: https://gitcode.com/GitHub_Trending/un/UniMate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表