用自然语言驱动 MMD:开源 AI 工具 PoPo 详解
PoPo 是一款创新的开源 AI 工具,旨在降低 MMD(MikuMikuDance)角色的动作创作门槛。它允许用户直接通过 自然语言描述 来控制角色的骨骼姿态与面部表情,将复杂的动画调整简化为简单的文字输入。
其核心逻辑是将文本指令转化为精确的 MPL(MMD Pose Language) 脚本,从而驱动模型实时渲染出相应的动作效果。
核心功能与表现
PoPo 能够精准解析如“挥右手”或“大笑并邀请晚餐”等具体指令,并将其转换为结构化的 MPL 代码。该代码可细粒度地控制胳膊、手指以及面部 Morph 等关键部位,确保生成的姿势既可靠又具有一致性。
为了提升用户体验,PoPo 专门针对日系角色的骨骼结构和物理约束进行了优化,使得渲染过程流畅且符合角色特性。
技术架构分析
PoPo 采用了现代化的全栈技术方案,确保了高性能的交互与快速的响应:
- 前端开发:基于 Next.js 框架,结合 TypeScript 和 shadcn/ui 构建界面。
- 实时渲染:利用 Babylon.js 及其专属的 babylon-mmd 插件实现 3D 渲染。
- AI 核心:通过对 GPT-4o-mini 模型进行微调(Fine-tuning),实现了从自然语言到 MPL 语义脚本的精准映射。
- 部署环境:整体项目部署于 Vercel 平台。
关键技术:MPL 语义语言
MPL 是 PoPo 的核心竞争力。不同于传统的四元数数值训练,MPL 作为一种专门为 MMD 设计的语义描述语言,具有极高的 可读性 和可调试性。
这种设计避免了模型在处理复杂数值时的不稳定,使生成的姿势更符合人体运动规律,且开发者能够轻松地对输出结果进行修改。
训练数据示例
为了让模型快速收敛并保持输出一致,训练数据采用了如下结构:
{
"messages":[{"role":"system","content":"Generate MMD Pose Language (MPL) script from description."},
{"role":"user","content":"Description: arms down"},
{"role":"assistant","content":"arm_l bend forward 40;arm_r bend forward 40;"}
]
}
演进历程与社区
PoPo 的前身是 MiKaPo 项目。早期的 MiKaPo 依赖 MediaPipe 捕获人体姿态再进行映射,而 PoPo 则实现了质的飞跃——直接从文本生成脚本,跳过了中间的动作捕捉环节。
目前,PoPo 的训练集包含约 160 个姿势样本,虽然已展现出良好的性能,但项目组仍鼓励社区贡献更多高质量数据以进一步优化模型精度。
快速上手指南
用户可以通过以下方式体验或参与开发:
- 在线体验:访问 popo.love,可尝试使用“深空之眼 三相·梵天『无间玩伴』”等预设模型进行自然语言交互。
- 开发者参与:项目在 GitHub 开源(采用 GPL-3.0 协议),提供完整源码与贡献指南。
总结:PoPo 通过将 AI 模型与 MPL 语义语言相结合,为 MMD 动画创作提供了一种直观且高效的新路径。随着数据集的扩充,它有望成为日系角色动画制作的有力工具。
体验地址:https://popo.love/
GitHub 地址:https://github.com/AmyangXYZ/PoPo



