开发文档: DEVELOPMENT_zh.md · English DEVELOPMENT.md
Cinema 4D的mmdtool。
用C ++编写的Cinema 4D插件,用于将MikuMikuDance数据导入Cinema 4D。
目前,主要维护版本为R20及更高版本,R19及以下版本未提供支持。
- 基线:以
sdk_2026根目录的CMakePresets.json为约定(如windows_vs2022_v143、linux_ninja、macos_universal_xcode)。公共 Maxon 工具链位于sdk_2026/cmake;各旧版sdk_*桥接通过MAXON_TOOLING_DIR指向该目录复用同一套 tooling。 - 依赖:Bullet3 与 libMMD 通过
cmake/mmdtool_plugin_dependencies.cmake(mmdtool_plugin_dependencies_add)以 CMake 子目录 + 目标链接 并入各sdk_*工程,无需安装到dependency/install。可选根工程:cmake --preset dev-windows后cmake --build --preset cmt-deps-build。libMMD 测试:预设dev-windows-deps-test+cmake --build --preset cmt-deps-test,或-D CMT_DEPS_ENABLE_LIBMMD_TESTS=ON。清理:cmake --build _build_msvc --target cmt-clean-deps(需已配置根工程;会删除各sdk_*在_build_msvc/<sdk名>/cmt_deps下的 Bullet/libMMD 构建树,以及根工程dependency/子项目产生的_build_msvc/cmt_deps)。若要连插件目标一并清空,可用根目标的cmt-clean。 - 仅生成某 SDK 的工程文件(Windows):
configure_sdk.bat sdk_2026 windows_vs2022_v143(preset 可省略,默认windows_vs2022_v143)。 - 根目录预设
dev-windows:只生成仓库根工程_build_msvc(含dependency/、cmt-workflow等),不包含mmdtool目标。查看/调试插件请在仓库根下的_build_msvc/<sdk名>/(在sdk_*里执行 preset 时同样输出到此路径)打开解决方案,或先执行cmake --build --preset workflow-dev生成该目录。 - 根目录一键工作流(需先配置根工程一次):
cmake -S . -B _build_msvc -G "Visual Studio 17 2022" -A x64cmake --build _build_msvc --target cmt-workflow(依赖 + 配置 + 编译插件;可通过-D CMT_SDK_DIR=...等变量指向目标sdk_*)
- 典型命令(仅插件、在某一
sdk_*内;构建树在仓库根_build_msvc/<sdk名>/):cd sdk_2026(或目标sdk_r25、sdk_2024等)cmake --preset windows_vs2022_v143cmake --build ..\_build_msvc\sdk_2026 --config Debug(将sdk_2026换成当前目录名)
- 产物:Debug 下插件一般在
_build_msvc/sdk_2026/bin/Debug/plugins/mmdtool/(相对仓库根;SDK 目录名随版本变化)。 - Windows 安装包(Inno):
setup/Common/installer_script.iss直接从各sdk_*\_build_msvc_*\bin\Release\plugins\mmdtool\mmdtool.xdl64与res\R20-S24/res\S24_up取文件,不再使用根构建目录下的release收集区。打全量安装包前,请在需要的sdk_r20~sdk_r25、sdk_2023~sdk_2026中分别配置并 Release 编译;不必再编sdk_s*——旧版 C4D 中 R/S 为同一大版本,S 系与配对 R 系 ABI 兼容,安装程序里 S22/S24/S26 组件复用 sdk_r21 / sdk_r23 / sdk_r25 的产物(与 iss 中XdlSdkRel一致)。若输出目录或配置名不同,可对 ISCC 传/DSdkBuildDir=...、/DSdkBinConfig=...(亦可通过CMT_ISS_EXTRA_ARGS)。
若模型导入时勾选多部分出现问题请不要勾选。
如果安装了插件没有显示,请检查是否C4D安装的为最新小版本(如R21的是R21.207才行,R21.115不显示的升级就可以用)
- 选择相应的插件版本,并将其放置在Cinema 4D安装目录下的plugins文件夹中。
- 运行Cinema 4D,在菜单->扩展(插件)栏中找到
MMDTool,然后单击运行。
-
MMD Tool
-
摄像机
-
导入摄像机
从VMD相机数据导入摄像机动画
-
大小缩放 导入的摄像机动画放大倍率
-
起始偏移 导入摄像机动画的起始帧位置
-
导入 根据上述设置导入带有摄像机动画的VMD文件
-
-
导出摄像机
导出摄像机动画到VMD
-
大小缩放 导出的摄像机动画放大倍率
-
起始偏移 导出摄像机动画的起始帧位置
-
使用旋转曲线 指定转化为整个MMD旋转曲线动画的轴,选择烘焙则不用担心此问题
-
烘焙后导出 导出烘焙后的动画,能保证曲线的完整性
-
导出 根据上述设置导出带有摄像机动画的VMD文件
-
-
转化摄像机
将默认摄像机转化为MMD专用摄像机
-
距离 转化后的MMD专用摄像机距离
-
使用旋转曲线 指定转化为整个MMD旋转曲线动画的轴
-
转化 根据上述设置将默认摄像机转化为MMD专用摄像机
-
-
-
动作
-
导入动作
导入VMD动作数据到模型的骨骼上。 若无PMX骨骼标签则根据骨骼名称导入动作; 若有PMX骨骼标签则根据标签上的本地骨骼名称导入动作;
-
大小缩放 导入的骨骼动画动画放大倍率
-
起始偏移 导入骨骼动画的起始帧位置
-
导入骨骼动作 是否导入骨骼动作
-
导入表情动作 是否导入表情动作
-
导入模型信息 是否导入模型IK开关,模型隐藏信息
-
删除先前动画 是否在导入前删除之前的动画
-
详细报告 是否显示缺少骨骼或表情具体信息
-
导入 根据上述参数导入VMD动作数据
-
-
导出动作
将模型上的动作数据导出到VMD。
-
大小缩放 导出的骨骼动画动画放大倍率
-
起始偏移 导出骨骼动画动画的起始帧位置
-
使用旋转曲线 指定转化为整个MMD旋转曲线动画的轴,选择烘焙则不用担心此问题
-
起始偏移 导出骨骼动画的起始帧位置
-
大小缩放 导出的骨骼动画放大倍率
-
烘焙后导出 导出烘焙后的动画,能保证曲线的完整性
-
导出 根据上述设置导出带有骨骼动画的VMD文件
-
-
导入姿势
将VPD数据导入到模型上
- 导入 导入VPD姿势数据
-
-
模型
-
飞书文档: https://fsrjo99ngu.feishu.cn/docs/doccnjnPb8YuNmiVEheSzBj7bSd
version 0.2.0 初次提交
version 0.2.1 解决权重导入问题和骨骼导入问题
version 0.2.2 解决权重导入问题
version 0.2.3 支持s22版本
version 0.2.8 针对多线程导入进行了优化。
version 0.2.8.1 解决导入问题
version 0.2.8.3 修复导入动作错误。
version 0.2.8.5 添加用于非多部分模型导入的导入表情功能。
version 0.2.9.0 修复了导入模型可能卡住的问题。
version 0.2.9.1 增加了删除摄像机对象关键帧的功能。
version 0.3.0 完善摄像头动作导出功能,支持S24。
version 0.3.1 完善动作导入和PMX骨骼对象;修复导入模型可能卡死的情况。
version 0.3.2
-
优化导入模型赋予亲的处理方式,确保与MMD中效果相同。
-
优化导入模型的腿部骨骼问题,确保与MMD中效果相同。
-
优化了图片alpha通道的检测,修复了材质错误导入透明通道的问题。
-
增加了代码稳定性,减少了意外的崩溃。
version 0.3.3 引入YAML配置文件;重写更名英文模块。
version 0.3.4 添加设置记录功能,保存上一次使用配置;更新R20版本。
version 0.3.5 修复配置文件造成的卡死和错误,增加多线程安全性,减少崩溃。
version 0.3.6 修复多部分导入面错误问题,添加多部分导入顶点表情的功能。
version 0.3.7 修复可能无法加载插件的问题,添加骨骼表情导入。
version 0.3.7.5 修复不可旋转骨骼,物理骨骼导入动画的问题。添加UV表情导入(仅多部分导入模式)。
version 0.3.8
-
重写了骨骼表情部分。
-
添加UV表情导入(多部分导入模式)。
-
修复导入模型的一些错误。
-
添加对导入模型的无连接顶点的清理功能。
-
添加摄像机动作的拖拽导入。
-
预载物理引擎模块支持。
version 0.3.8.1 添加工具模块。
如果导入动作后模型出现类似下图问题,可以尝试使用工具修复。
选择模型。点击修复动作工具按钮。
(v0.4问题修复,已移除)
version 0.3.9
-
添加刚体和Joint的支持。(目前物理未实装)
-
修复GUI滚动条问题。
-
修复动画曲线不能保存的问题。
-
增加新的模型管理对象。
-
增加模型显示过滤系统。
-
增加IK启用,模型显示动画导入。
-
修复部分动作导入问题。
version 0.3.9.1
-
修复导入动画后卡死问题。
-
修复一些可能的内存泄漏问题。
version 0.4
-
增加动作导出功能.
-
修复导入动作捕捉制作动画后动作错乱问题。
-
将动画导入改为,多线程优化速度。
-
修复部分曲线问题。
-
修复一些已知BUG
-
修复一些可能的内存泄漏问题。
version 0.4.1
-
增加摄像机烘焙导出。
-
增加动作烘焙导出。
-
优化Ik.
version 0.4.2
-
添加姿势(vpd)导入。
-
改进PMX控件。
-
支持 R25 版本。
version 0.4.3
-
修复多部分导入时未初始化骨骼导致的崩溃。
-
改进权重导入。
-
修复ik列表为空导致的导入失败。
version 0.4.4
- 修复多部分导入部分顶点的顶点表情丢失问题。
- 修复模型有骨骼打开外部亲的情况下,模型无法导入的问题。
- 兼容旧版本保存的工程。(可能会丢失部分信息,但是不影响工程打开)
version 0.4.4.1 修复导入法线反转的问题。
version 0.4.5
- 修复保存的文档无法打开的问题。
- 优化导入模型的IK。
- 增加导入模型报告。
- 优化导入速度,稳定性。
- 修复R23以下版本导入法线反转问题。
version 0.4.5.1 修复导入模型面错误的问题。
version 0.4.6
- 新增表情hub面板,统一管理所有表情。
- 新增对组合表情和翻转表情的支持和编辑。
- 动作导入添加忽略物理骨骼选项。
- 图标更新(logo图标为临时的,logo图标可能还会再更改)
version 0.4.6.1
- 修复导致0.4.6的崩溃问题。
- 支持S26版本。
AiMiDi
讨论群:790973593








