update
This commit is contained in:
161
Plan.md
161
Plan.md
@@ -1,41 +1,69 @@
|
||||
# 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. 主要模块划分
|
||||
1. **配置与主控**
|
||||
- `config.py`(配置文件)
|
||||
- `scripts/Main.py`(主入口)
|
||||
- `scripts/ReloadModules.py`(模块热重载)
|
||||
2. **UI层**
|
||||
- `scripts/ui/`(所有UI模块,含主界面、子工具面板)
|
||||
- `scripts/ui/Qt.py`(Qt封装)
|
||||
- `scripts/ui/style.qss`(统一样式)
|
||||
- `scripts/ui/ui_utils.py`(UI通用功能模块)
|
||||
- `scripts/ui/geometry.py`(几何体UI模块)
|
||||
- `scripts/ui/rigging.py`(绑定UI模块)
|
||||
- `scripts/ui/behaviour.py`(行为面板UI模块)
|
||||
- `scripts/ui/definition.py`(定义面板UI模块)
|
||||
3. **功能实现**
|
||||
- `scripts/utils/utils_geometry.py`(几何体功能模块)
|
||||
- `scripts/utils/utils_rigging.py`(绑定功能模块)
|
||||
- `scripts/utils/utils_behaviour.py`(行为面板功能模块)
|
||||
- `scripts/utils/utils_definition.py`(定义面板功能模块)
|
||||
- DNA文件处理(加载/保存/编辑)
|
||||
- 绑定与骨骼校准
|
||||
- BlendShape与控制器映射
|
||||
- FBX导出
|
||||
- 兼容MetaHuman DNA标准
|
||||
4. **DNA处理核心**
|
||||
- `scripts/dnalib/`(DNA文件处理核心库)
|
||||
- `scripts/builder/`(构建系统,负责从DNA文件创建Maya场景)
|
||||
|
||||
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 # 定义面板功能模块
|
||||
│ │
|
||||
│ ├── dnalib/ # DNA文件处理核心库
|
||||
│ │ ├── __init__.py
|
||||
│ │ ├── dna_reader.py # DNA读取器
|
||||
│ │ ├── dna_writer.py # DNA写入器
|
||||
│ │ └── dna_calibrator.py # DNA校准器
|
||||
│ │
|
||||
│ └── builder/ # 构建系统
|
||||
│ ├── __init__.py
|
||||
│ ├── skeleton_builder.py # 骨骼构建
|
||||
│ ├── control_builder.py # 控制器构建
|
||||
│ └── rig_builder.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] 完善主界面各功能区分栏(模型、绑定、调整、定义)
|
||||
@@ -52,6 +80,7 @@
|
||||
- [ ] 优化UI性能,减少重绘和刷新操作
|
||||
|
||||
### 第二阶段:核心功能开发
|
||||
|
||||
- [ ] DNA文件读写与MetaHuman兼容
|
||||
- [ ] 完善dnalib模块,实现DNA文件的读取与解析
|
||||
- [ ] 实现DNA文件的保存与导出
|
||||
@@ -60,35 +89,73 @@
|
||||
- [ ] 实现MetaHuman同拓扑模型的自动绑定
|
||||
- [ ] 支持自定义模型的绑定流程
|
||||
- [ ] 实现骨骼映射与权重传递
|
||||
- [ ] 实现一键式标准化模型、一键绑定、一键输出FBX功能
|
||||
- [ ] 骨骼校准与自动分组
|
||||
- [ ] 实现骨骼自动分组算法
|
||||
- [ ] 支持骨骼位置、旋转的微调与校准
|
||||
- [ ] 实现关节轴向自动校正
|
||||
- [ ] 实现角色姿态自动校正功能
|
||||
- [ ] BlendShape与控制器映射
|
||||
- [ ] 实现BlendShape的创建、编辑与管理
|
||||
- [ ] 支持控制器与BlendShape的映射关系设置
|
||||
- [ ] 实现表情范围调整与镜像功能
|
||||
- [ ] 支持批量调整表情范围和快速镜像表情
|
||||
- [ ] FBX导出与DNA文件导出
|
||||
- [ ] 实现模型与骨骼的FBX导出
|
||||
- [ ] 支持DNA文件的导出与版本控制
|
||||
- [ ] 确保导出文件与MetaHuman兼容
|
||||
|
||||
### 第三阶段:高级功能与优化
|
||||
|
||||
- [ ] 批量处理与自动化工具
|
||||
- [ ] 开发批量处理模型的工具
|
||||
- [ ] 实现自动化绑定流程
|
||||
- [ ] 支持批量表情编辑与导出
|
||||
- [ ] 多LOD支持与切换
|
||||
- [ ] 实现多LOD模型的自动生成
|
||||
- [ ] 支持LOD间的权重与表情传递
|
||||
- [ ] 开发LOD切换与预览功能
|
||||
- [ ] 配置与模板管理
|
||||
- [ ] 设计配置保存与加载系统
|
||||
- [ ] 实现模板创建与应用功能
|
||||
- [ ] 支持配置的导入与导出
|
||||
- [ ] 实现一键创建模板预设功能,支持相似角色快速绑定
|
||||
- [ ] 插件性能与兼容性优化
|
||||
- [ ] 优化大型模型的处理效率
|
||||
- [ ] 提高DNA文件处理速度
|
||||
- [ ] 确保在不同Maya版本中的兼容性
|
||||
- [ ] 实现多线程处理以提升性能
|
||||
- [ ] 面部控制器系统
|
||||
- [ ] 开发新的面部控制器系统
|
||||
- [ ] 实现面部控制器与面板控制器的无缝切换
|
||||
- [ ] 支持直接在面部上调整表情和肌肉
|
||||
- [ ] 外部表情导入系统
|
||||
- [ ] 支持从其他DCC软件导入表情
|
||||
- [ ] 实现表情模型文件的导出与导入
|
||||
- [ ] 支持协作式表情制作流程
|
||||
|
||||
### 第四阶段:文档与测试
|
||||
|
||||
- [ ] 全流程测试脚本
|
||||
- [ ] 开发自动化测试脚本
|
||||
- [ ] 测试不同拓扑结构的模型
|
||||
- [ ] 验证在不同Maya版本中的兼容性
|
||||
- [ ] 测试与UE资产的兼容性
|
||||
- [ ] 用户操作手册与开发文档完善
|
||||
- [ ] 编写详细的用户手册
|
||||
- [ ] 完善开发文档与API说明
|
||||
- [ ] 制作教学视频与示例
|
||||
- [ ] 参考文档和代码持续同步
|
||||
- [ ] 确保文档与代码的一致性
|
||||
- [ ] 更新最新的技术说明
|
||||
- [ ] 添加常见问题解答
|
||||
|
||||
---
|
||||
|
||||
## 进度记录与后续安排
|
||||
|
||||
### 2025-05-06 更新
|
||||
|
||||
- 基础框架与UI阶段(第一阶段)已完成95%
|
||||
- 完成了主要UI模块的创建和基本功能实现
|
||||
- 优化了项目结构,明确了各模块的职责和接口
|
||||
@@ -96,6 +163,7 @@
|
||||
- DNA处理核心模块已初步实现,需要进一步完善与测试
|
||||
|
||||
### 2025-04-30 更新
|
||||
|
||||
- 完成了基础框架与UI阶段的主要任务(第一阶段 90%)
|
||||
- 优化了主窗口与各功能面板的UI结构,确保风格统一
|
||||
- 创建了所有必要的面板类,包括:
|
||||
@@ -105,16 +173,39 @@
|
||||
- 定义面板UI模块(definition.py)
|
||||
|
||||
### 下一步开发计划
|
||||
1. **完成UI微调与优化**
|
||||
- 统一按钮样式与图标
|
||||
- 优化面板布局与响应式设计
|
||||
- 完善多语言支持
|
||||
- 增强UI与Maya交互的稳定性
|
||||
|
||||
2. **开始DNA文件读写与MetaHuman兼容功能开发**
|
||||
- 完善dnalib模块,实现DNA文件的读取与解析
|
||||
- 实现DNA文件的保存与导出
|
||||
- 确保与MetaHuman DNA标准兼容
|
||||
### 1. 完成UI微调与优化
|
||||
|
||||
- 统一按钮样式与图标
|
||||
- 优化面板布局与响应式设计
|
||||
- 完善多语言支持
|
||||
- 增强UI与Maya交互的稳定性
|
||||
|
||||
### 2. 开始DNA文件读写与MetaHuman兼容功能开发
|
||||
|
||||
- 完善dnalib模块,实现DNA文件的读取与解析
|
||||
- 实现DNA文件的保存与导出
|
||||
- 确保与MetaHuman DNA标准兼容
|
||||
|
||||
### 3. 实现一键式工作流程
|
||||
|
||||
- 开发一键安装功能
|
||||
- 实现一键标准化模型功能
|
||||
- 开发一键绑定功能
|
||||
- 实现一键输出FBX功能
|
||||
|
||||
### 4. 开发表情调整功能
|
||||
|
||||
- 实现批量调整表情范围
|
||||
- 开发表情快速镜像功能
|
||||
- 支持外部表情导入
|
||||
|
||||
### 5. 开发多LOD支持与切换功能
|
||||
|
||||
- 实现多LOD模型的自动生成
|
||||
- 支持LOD间的权重与表情传递
|
||||
- 开发LOD切换与预览功能
|
||||
|
||||
|
||||
- 每完成一个功能模块,及时更新开发计划文档与进度百分比。
|
||||
- 代码变更后,自动检查代码规范、插件完整性,并给出下一步开发建议。
|
||||
|
Reference in New Issue
Block a user