# Maya插件开发计划 ## 1. 项目目标与功能梳理 - 支持MetaHuman同拓扑或自定义3D模型的绑定、DNA编辑、骨骼校准、DNA保存/加载、FBX导出、BlendShape编辑等。 - 兼容Maya 2022-2025,Python 3.10-3.12,UTF-8编码。 - UI采用Qt(参考`scripts/Qt.py`),样式统一在`scripts/ui/style.qss`。 - 参考Epic官方MetaHuman DNA Calibration工具及相关文档,吸收SuperRigging等插件的设计思路。 - 实现一键式工作流程,简化技术流程,让用户专注于角色建模、表情和表演。 ## 2. 主要模块划分 MetaHumanDNAPlugin/ │ ├── Install.py # 安装脚本 ├── config.py # 配置文件 ├── Readme.md # 项目说明文档 ├── Plan.md # 开发计划文档 │ ├── scripts/ # 脚本目录 │ ├── Main.py # 主入口文件 │ ├── ReloadModules.py # 模块重载 │ │ │ ├── ui/ # UI模块目录 │ │ ├── Qt.py # Qt兼容模块 │ │ ├── style.qss # 统一样式文件 │ │ ├── ui_utils.py # UI通用功能 │ │ ├── geometry.py # 几何体UI │ │ ├── rigging.py # 绑定UI │ │ ├── behavior.py # 行为面板UI │ │ └── definition.py # 定义面板UI │ │ │ ├── utils/ # 工具函数目录 │ │ ├── utils_geometry.py # 几何体功能模块 │ │ ├── utils_rigging.py # 绑定功能模块 │ │ ├── utils_behaviour.py # 行为面板功能模块 │ │ └── utils_definition.py # 定义面板功能模块 │ │ ├── Reference/ # 参考资料目录 ├── DNA_Calibration/ # Epic官方DNA校准工具参考 ├── MSLiveLink/ # MetaHuman LiveLink参考 ├── SuperRigging/ # SuperRigging插件参考 │ ├── files/ # SuperRigging文件 │ ├── meta_anim/ # 动画相关参考 │ ├── meta_body_ctrl/ # 身体控制器参考 │ └── meta_motion_apply/ # 动作应用参考 ├── SuperRiggingEditor/ # SuperRigging编辑器参考 ├── Utils/ # 工具函数参考 └── UI/ # UI设计参考图 ## 3. 阶段性开发计划 ### 第一阶段:基础框架与UI - [x] 搭建插件基础结构,主入口、配置加载 - [x] 主界面UI搭建(参考UI图与.qss风格) - [x] 完善主界面各功能区分栏(模型、绑定、调整、定义) - [x] 优化 `Main.py`,确保Tab加载各Panel,统一风格和注释 - [x] 完善 `geometry.py`(几何体UI模块) - [x] 完善 `rigging.py`(绑定UI模块) - [x] 完善 `behaviour.py`(行为面板UI模块) - [x] 完善 `definition.py`(定义面板UI模块) - [ ] UI微调与优化 - [ ] 统一按钮样式与图标 - [ ] 优化面板布局与响应式设计 - [ ] 完善多语言支持 - [ ] 增强UI与Maya交互的稳定性 - [ ] 优化UI性能,减少重绘和刷新操作 ### 第二阶段:核心功能开发 - [ ] DNA文件读写与MetaHuman兼容 - [ ] 完善dnalib模块,实现DNA文件的读取与解析 - [ ] 实现DNA文件的保存与导出 - [ ] 确保与MetaHuman DNA标准兼容 - [ ] 绑定流程实现(支持MetaHuman与自定义模型) - [ ] 实现MetaHuman同拓扑模型的自动绑定 - [ ] 支持自定义模型的绑定流程 - [ ] 实现骨骼映射与权重传递 - [ ] 实现一键式标准化模型、一键绑定、一键输出FBX功能 - [ ] 骨骼校准与自动分组 - [ ] 实现骨骼自动分组算法 - [ ] 支持骨骼位置、旋转的微调与校准 - [ ] 实现关节轴向自动校正 - [ ] 实现角色姿态自动校正功能 - [ ] BlendShape与控制器映射 - [ ] 实现BlendShape的创建、编辑与管理 - [ ] 支持控制器与BlendShape的映射关系设置 - [ ] 实现表情范围调整与镜像功能 - [ ] 支持批量调整表情范围和快速镜像表情 - [ ] FBX导出与DNA文件导出 - [ ] 实现模型与骨骼的FBX导出 - [ ] 支持DNA文件的导出与版本控制 - [ ] 确保导出文件与MetaHuman兼容 ### 第三阶段:高级功能与优化 - [ ] 批量处理与自动化工具 - [ ] 开发批量处理模型的工具 - [ ] 实现自动化绑定流程 - [ ] 支持批量表情编辑与导出 - [ ] 多LOD支持与切换 - [ ] 实现多LOD模型的自动生成 - [ ] 支持LOD间的权重与表情传递 - [ ] 开发LOD切换与预览功能 - [ ] 配置与模板管理 - [ ] 设计配置保存与加载系统 - [ ] 实现模板创建与应用功能 - [ ] 支持配置的导入与导出 - [ ] 实现一键创建模板预设功能,支持相似角色快速绑定 - [ ] 插件性能与兼容性优化 - [ ] 优化大型模型的处理效率 - [ ] 提高DNA文件处理速度 - [ ] 确保在不同Maya版本中的兼容性 - [ ] 实现多线程处理以提升性能 - [ ] 面部控制器系统 - [ ] 开发新的面部控制器系统 - [ ] 实现面部控制器与面板控制器的无缝切换 - [ ] 支持直接在面部上调整表情和肌肉 - [ ] 外部表情导入系统 - [ ] 支持从其他DCC软件导入表情 - [ ] 实现表情模型文件的导出与导入 - [ ] 支持协作式表情制作流程 ### 第四阶段:文档与测试 - [ ] 全流程测试脚本 - [ ] 开发自动化测试脚本 - [ ] 测试不同拓扑结构的模型 - [ ] 验证在不同Maya版本中的兼容性 - [ ] 测试与UE资产的兼容性 - [ ] 用户操作手册与开发文档完善 - [ ] 编写详细的用户手册 - [ ] 完善开发文档与API说明 - [ ] 制作教学视频与示例 - [ ] 参考文档和代码持续同步 - [ ] 确保文档与代码的一致性 - [ ] 更新最新的技术说明 - [ ] 添加常见问题解答 --- ## 进度记录与后续安排 ### 2025-05-08 更新 #### 已完成 - 基础框架与UI(第一阶段)已完成95% - 主界面与四大核心面板(geometry/rigging/behaviour/definition)功能与布局基本完善 - 行为面板(behaviour.py)布局结构已规范化,分割器与面板嵌套逻辑已修正,交互体验提升 - 多语言映射文件(localization.py)已补全,支持各主要功能区和按钮的中英文切换 - 优化了项目结构,明确了各模块的职责和接口 - 参考Epic官方MetaHuman DNA Calibration与SuperRigging等插件,吸收最佳实践 #### 进行中 - UI微调与优化(统一按钮样式、图标、响应式布局) - 多语言支持完善(持续补全各模块UI文本映射) - DNA核心功能开发(dnalib模块完善、MetaHuman DNA标准兼容、文件导入导出) - 增强UI与Maya交互的稳定性,优化性能,减少重绘 - 行为、定义、几何等面板的交互细节持续优化 #### 下一步 - 完成所有UI面板的多语言、样式、布局一致性 - 完善DNA文件读写、MetaHuman兼容与一键式流程 - 开发批量处理、自动化绑定与多LOD支持 - 增强文档与测试,持续同步开发进度 --- ### 2025-04-30 更新 - 完成了基础框架与UI阶段的主要任务(第一阶段 90%) - 优化了主窗口与各功能面板的UI结构,确保风格统一 - 创建了所有必要的面板类,包括: - 几何体UI模块(geometry.py) - 绑定UI模块(rigging.py) - 行为面板UI模块(behaviour.py) - 定义面板UI模块(definition.py) ### 下一步开发计划 ### 1. 完成UI微调与优化 - 统一按钮样式与图标 - 优化面板布局与响应式设计 - 完善多语言支持 - 增强UI与Maya交互的稳定性 ### 2. 开始DNA文件读写与MetaHuman兼容功能开发 - 完善dnalib模块,实现DNA文件的读取与解析 - 实现DNA文件的保存与导出 - 确保与MetaHuman DNA标准兼容 ### 3. 实现一键式工作流程 - 开发一键安装功能 - 实现一键标准化模型功能 - 开发一键绑定功能 - 实现一键输出FBX功能 ### 4. 开发表情调整功能 - 实现批量调整表情范围 - 开发表情快速镜像功能 - 支持外部表情导入 ### 5. 开发多LOD支持与切换功能 - 实现多LOD模型的自动生成 - 支持LOD间的权重与表情传递 - 开发LOD切换与预览功能 - 每完成一个功能模块,及时更新开发计划文档与进度百分比。 - 代码变更后,自动检查代码规范、插件完整性,并给出下一步开发建议。 --- > 如需调整开发优先级或补充特定功能,请随时告知!