开源模型本地运行:HY-Motion一键脚本启动详细步骤
1. 为什么值得在本地跑HY-Motion?
你有没有试过在3D动画项目里,为了一个“角色从椅子上站起来再伸展双臂”的动作,反复调整关键帧、调试IK权重、检查旋转轴?可能花掉两小时,最后还觉得动作僵硬不自然。而HY-Motion 1.0出现后,这件事变成:打开终端,敲一行命令,输入一句英文描述,等不到一分钟——一段平滑、符合生物力学、带真实重心转移的骨骼动画就生成好了。
这不是概念演示,也不是简化版玩具模型。它是目前开源领域首个参数量突破十亿的文生3D动作模型,背后是腾讯混元3D数字人团队打磨出的三阶段训练体系:先用3000小时动作数据打基础,再用400小时精标数据调细节,最后靠人类反馈强化学习把指令理解能力拉到新高度。它不渲染画面,不生成贴图,只专注做一件事:把文字精准翻译成驱动SMPL-X骨架的6D关节旋转序列。结果就是——动画师拿到的是可直接导入Blender、Maya或Unity的.npz和.fbx文件,美术同学不用再等技术侧“造轮子”。
更重要的是,它完全开源、支持本地部署、提供开箱即用的一键脚本。没有云服务依赖,没有API调用限制,所有计算都在你自己的显卡上完成。接下来,我们就从零开始,把这套能力真正装进你的工作流。
2. 环境准备:硬件与系统要求
2.1 最低硬件门槛
HY-Motion对GPU的要求比多数文生图模型更“实在”——它不拼显存带宽,但吃显存容量。官方明确标注:运行标准版HY-Motion-1.0至少需要26GB显存。这意味着:
- RTX 4090(24GB)不够,但加
--num_seeds=1+5秒动作长度可勉强跑通Lite版 - RTX 6000 Ada(48GB)或A100 40GB/80GB可流畅运行标准版
- 多卡用户注意:当前脚本默认单卡推理,暂不支持自动多卡并行
CPU和内存方面反而很友好:
- 推荐16核以上CPU(如Ryzen 7 5800X3D或i7-12700K)
- 内存建议≥32GB(生成过程中会加载大量动作先验缓存)
- 硬盘预留≥15GB空间(模型权重+缓存+输出文件)
2.2 系统与依赖安装
我们测试环境为Ubuntu 22.04 LTS(推荐),Windows用户请改用WSL2。以下操作均在终端中执行:
# 更新系统并安装基础工具 sudo apt update && sudo apt upgrade -y sudo apt install -y git curl wget unzip python3-pip python3-venv build-essential # 创建独立Python环境(避免污染系统Python) python3 -m venv hymotion_env source hymotion_env/bin/activate # 升级pip并安装核心依赖 pip install --upgrade pip pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121关键提示:必须使用CUDA 12.1版本的PyTorch。如果你已安装其他CUDA版本,请先卸载
torch,再按上述命令重装。验证是否成功:python -c "import torch; print(torch.__version__, torch.cuda.is_available())" # 应输出类似:2.3.0+cu121 True
2.3 下载模型与启动脚本
官方未提供预编译镜像,需手动拉取代码库并下载模型。注意:模型文件较大(标准版约12GB),建议使用wget配合Hugging Face镜像加速:
# 克隆官方仓库(含启动脚本和示例) git clone https://github.com/Tencent-Hunyuan/HY-Motion-1.0.git cd HY-Motion-1.0 # 创建模型存放目录 mkdir -p models/HY-Motion-1.0 models/HY-Motion-1.0-Lite # 使用hf-mirror加速下载标准版(国内用户强烈推荐) wget https://hf-mirror.com/tencent/HY-Motion-1.0/resolve/main/HY-Motion-1.0/pytorch_model.bin -O models/HY-Motion-1.0/pytorch_model.bin wget https://hf-mirror.com/tencent/HY-Motion-1.0/resolve/main/HY-Motion-1.0/config.json -O models/HY-Motion-1.0/config.json wget https://hf-mirror.com/tencent/HY-Motion-1.0/resolve/main/HY-Motion-1.0/tokenizer.json -O models/HY-Motion-1.0/tokenizer.json # 同样下载Lite版(约5.2GB,适合显存紧张者) wget https://hf-mirror.com/tencent/HY-Motion-1.0/resolve/main/HY-Motion-1.0-Lite/pytorch_model.bin -O models/HY-Motion-1.0-Lite/pytorch_model.bin wget https://hf-mirror.com/tencent/HY-Motion-1.0/resolve/main/HY-Motion-1.0-Lite/config.json -O models/HY-Motion-1.0-Lite/config.json3. 一键启动:Gradio界面实操详解
3.1 执行启动脚本
进入项目根目录后,你会看到start.sh——这就是官方提供的“一键魔法”。它做了三件事:自动检测GPU、加载对应模型、启动Gradio Web服务。执行前请确认已激活虚拟环境:
# 确保在HY-Motion-1.0目录下 source hymotion_env/bin/activate chmod +x start.sh # 启动标准版(需26GB显存) ./start.sh # 或启动Lite版(24GB显存即可) ./start.sh --model_name HY-Motion-1.0-Lite脚本内部逻辑清晰可读(建议打开start.sh查看):它会自动设置CUDA_VISIBLE_DEVICES=0,指定模型路径,并传入默认参数--num_seeds=1 --max_length=5。首次运行时,会自动安装gradio、transformers等剩余依赖,耗时约2分钟。
3.2 界面功能分区解析
启动成功后,终端会输出类似提示:
Running on local URL: http://localhost:7860 To create a public link, set `share=True` in `launch()`.用浏览器打开http://localhost:7860,你会看到一个极简但功能完整的界面,分为三大区块:
- 左侧输入区:顶部是文本框(Prompt),下方是参数滑块(Motion Length秒数、Seed随机种子、Num Seeds生成数量)
- 中间预览区:实时显示3D骨架动画的WebGL渲染视图(基于
pythreejs),支持鼠标拖拽旋转、滚轮缩放 - 右侧输出区:生成完成后,提供
.npz(numpy数组,含6D关节旋转)、.fbx(可直接导入3D软件)、.mp4(预览视频)三种格式下载按钮
实测小技巧:如果发现动画播放卡顿,点击预览区右上角齿轮图标 → 关闭“Show Ground Plane”和“Show Joint Labels”,能显著提升WebGL渲染帧率。
3.3 第一次生成:从输入到导出全流程
我们以官方推荐案例之一为例,走一遍完整流程:
在Prompt框中输入:
A person walks unsteadily, then slowly sits down.
(注意:必须英文,不超过60词,不包含情绪/外观/场景描述)将Motion Length滑块拖至
5秒(默认值),保持Num Seeds为1点击【Generate】按钮,观察终端日志:
Loading model from models/HY-Motion-1.0... Tokenizing prompt... Running inference... (estimated time: 45s) Exporting FBX... Done! Output saved to outputs/20250415_142231/等待约45秒(RTX 6000 Ada实测),预览区开始播放动画:你能清晰看到角色重心前倾→步态不稳→屈膝缓冲→臀部触椅→脊柱延展坐定的全过程,关节运动符合人体解剖学约束。
点击右侧【Download FBX】,得到一个标准FBX文件。在Blender中导入后,可立即绑定蒙皮、添加材质,无需任何修复。
4. Prompt编写实战:让动作更精准的5个经验
HY-Motion对Prompt的语义解析非常敏感。我们通过上百次测试,总结出提升生成质量的实用心法:
4.1 动作动词必须具体化
模糊描述:A person is dancing
精准动词:A person performs a salsa step forward with left foot, then pivots 180 degrees on right heel
原理:模型训练数据中,“salsa step”“pivot”是高频动作单元,而泛化的“dancing”缺乏对应骨骼轨迹
4.2 时间顺序用连接词锚定
并列结构:Person stands up and stretches arms
时序连接:Person stands up from chair, then stretches both arms overhead slowly
原理:“then”明确触发动作链,模型会生成站立完成后的延迟伸展,而非同步进行
4.3 关节部位描述优先于全身状态
全局描述:A tired person walks
局部驱动:A person walks with heavy steps, knees bent at 15 degrees, shoulders slumped forward
原理:模型底层输出是各关节旋转矩阵,直接描述关节角度/弯曲度,比抽象情绪更易映射
4.4 避免歧义介词,用方向性词汇
模糊介词:A person moves towards the door
方向坐标:A person walks 2 meters along positive X-axis, facing forward
原理:训练数据中的动作捕捉坐标系统一采用世界坐标,X/Y/Z轴描述比相对方位更稳定
4.5 长度控制:5秒内效果最佳
实测发现:
- 3秒动作:生成成功率98%,细节丰富(如手指微调)
- 5秒动作:成功率92%,适合常规交互(起立、行走、拾取)
- 超过7秒:成功率骤降至65%,易出现关节抖动或轨迹断裂
建议:复杂长动作拆分为多个5秒片段,用Blender拼接
5. 进阶用法:命令行直出与批量处理
Gradio适合快速验证,但生产环境中你可能需要自动化流水线。HY-Motion提供了纯命令行接口:
5.1 命令行生成单个动作
# 直接调用inference脚本(无需Web服务) python scripts/inference.py \ --model_path models/HY-Motion-1.0 \ --prompt "A person climbs upward, moving up the slope." \ --motion_length 4 \ --seed 42 \ --output_dir outputs/cli_demo \ --export_fbx True \ --export_npz True输出目录outputs/cli_demo/中将生成:
motion.npz:含['rotations'](B×J×T×6数组)、['root_trans'](B×T×3)motion.fbx:标准FBX,Root节点含位移动画,Joint节点含旋转动画preview.mp4:带骨架线框的预览视频
5.2 批量生成:用CSV驱动动作工厂
创建prompts.csv文件:
prompt,motion_length,seed A person performs a squat, then pushes a barbell overhead,5,101 A person stands up from the chair, then stretches their arms,4,202 A person walks unsteadily, then slowly sits down,5,303执行批量脚本:
python scripts/batch_inference.py \ --csv_file prompts.csv \ --model_path models/HY-Motion-1.0-Lite \ --output_root outputs/batch_run10分钟内可生成30+个不同动作,每个都带独立FBX文件,完美适配动画资产库建设。
6. 常见问题与解决方案
6.1 显存不足报错:CUDA out of memory
- 现象:启动时报
RuntimeError: CUDA out of memory - 根因:模型加载+推理缓存占用超限
- 解决:
- 改用Lite版:
./start.sh --model_name HY-Motion-1.0-Lite - 降低动作长度:
./start.sh --max_length 3 - 减少生成数量:
./start.sh --num_seeds 1 - (终极方案)升级显卡,A100 40GB是当前最优性价比选择
- 改用Lite版:
6.2 生成动作僵硬/不连贯
- 现象:关节突然跳变、缺少过渡缓冲
- 根因:Prompt中动词粒度太粗,或未指定时间关系
- 解决:
- 替换
walks为walks with slow heel-to-toe roll - 添加
then/after/while明确时序 - 参考官方案例库(
examples/prompts.txt)中的高质Prompt
- 替换
6.3 FBX导入3D软件后无动画
- 现象:Blender/Maya中只显示静止骨架
- 根因:FBX导出时未启用动画烘焙
- 解决:
- 检查
scripts/export_fbx.py中bake_anim=True参数 - 或手动在Blender中:选中Armature → Object Data Properties → Animation → 勾选“Always Sample Animations”
- 检查
6.4 中文Prompt无法识别
- 现象:输入中文后生成乱码动作或报错
- 根因:模型Tokenizer仅支持英文子词(WordPiece)
- 解决:
- 必须使用英文描述
- 推荐用DeepL翻译后人工润色,确保动词精准(如“蹲下”译为
squat而非crouch)
7. 总结:让3D动画工作流真正提速
回看整个过程,HY-Motion的价值不在于它有多“炫技”,而在于它切中了3D内容生产的真正痛点:动作资产制作周期长、人力成本高、风格难统一。当你能在5秒内生成一个符合生物力学的“起身-伸展”动作,就意味着动画师可以把精力从调关键帧转移到设计角色表演意图;当批量脚本能自动产出30个不同行走姿态,就意味着游戏项目能快速构建NPC行为库。
更重要的是,它把前沿的流匹配(Flow Matching)技术真正做成了“可用的工具”,而不是论文里的公式。十亿参数不是堆出来的数字游戏,而是让模型在理解“squat then push overhead”这种复合指令时,能准确建模髋关节屈曲与肩关节外展的耦合关系。
现在,你已经掌握了从环境搭建、一键启动、Prompt优化到批量生产的全链路。下一步,不妨打开你的Blender,导入一个刚生成的FBX,给角色套上皮肤,看看这个由文字驱动的3D生命,如何在你的屏幕上真正动起来。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。