MetaFusion/goals.md
2025-02-05 22:39:45 +08:00

203 lines
8.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 项目目标
我想做一个Maya的Metahuman自定义的插件
语言:基于Python
Maya版本:2022, 2023, 2024, 2025
## 项目描述
本项目是一个Maya插件主要功能是提供与MetaHuman相同拓扑的模型或者自定义的3d模型以来完成自定义绑定编辑DNA校准骨骼位置保存DNA载入DNA导出fbx保存DNA文件, 编辑BlendShape,等功能。
## 这个插件主要功能:
提供与MetaHuman相同拓扑的模型或者自定义的3d模型以来完成自定义绑定编辑DNA校准骨骼位置保存DNA载入DNA导出fbx保存DNA文件, 编辑BlendShape,等功能。
## 注意Reference路径不参与参见功能实现只作为参考。Reference只作为参考可以从中拷贝必要的文件到当前项目中
## 代码实现:
根据Maya和Python版本来获取plugin的路径并尽可能使用PySide编写UI要保证PySide的通用性使用单独的ccs文件来定义定义样式。
根据Maya不同的版本来定义PySide的UI定义版本通用性参考MSLiveLink。
## 参考代码:
DNA_Calibration中主要参考DNA编辑等功能更SuperRigigng主要参考UI样式并获取对应的功能的实现逻辑MSLiveLink主要参开DNA编辑和文件处理方式。
## 产品功能对标:
DNA Calibration Document : https://epicgames.github.io/MetaHuman-DNA-Calibration/index.html
MetaHuman-DNA-Calibration 代码:https://github.com/EpicGames/MetaHuman-DNA-Calibration
SuperRigging:https://docs.pointart.net/
AnimCraft:https://geekdaxue.co/read/animcraft@cn/
## 代码基本结构:
.
├── dnacalib\
│ ├── CMakeModulesExtra\
│ ├── DNACalib\
│ ├── PyDNA\
│ ├── PyDNACalib\
│ ├── SPyUS\
│ ├── CMakeLists.txt
├── plugins\
│ └── Linux\
│ │ ├── 2022\
│ │ │ ├── _py3dnacalib.so
│ │ │ ├── dnacalib.py
│ │ │ ├── libdnacalib.so.6
│ │ │ ├── libembeddedRL4.so
│ │ │ ├── libembeddedRL4.so.8
│ │ │ ├── libembeddedRL4.so.8.0.8
│ │ │ ├── MayaUE4RBFPlugin2022.mll
│ │ │ ├── MayaUERBFPlugin.mll
│ │ ├── 2023\
│ │ │ ├── _py3dnacalib.so
│ │ │ ├── dnacalib.py
│ │ │ ├── libdnacalib.so.6
│ │ │ ├── libembeddedRL4.so
│ │ │ ├── libembeddedRL4.so.8
│ │ │ ├── libembeddedRL4.so.8.0.8
│ │ │ ├── MayaUE4RBFPlugin2023.mll
│ │ │ ├── MayaUERBFPlugin.mll
│ │ ├── 2024\
│ │ │ ├── _py3dnacalib.so
│ │ │ ├── dnacalib.py
│ │ │ ├── libdnacalib.so.6
│ │ │ ├── libembeddedRL4.so
│ │ │ ├── MayaUERBFPlugin.mll
│ │ ├── 2025\
│ │ │ ├── _py3dnacalib.so
│ │ │ ├── dnacalib.py
│ │ │ ├── embeddedRL4.so
│ │ │ ├── libdnacalib.so.6
│ │ │ ├── MayaUERBFPlugin.mll
│ │ ├── pydna\
│ │ │ ├── python3
│ │ │ │ ├── _py3dna.so
│ │ │ │ ├── dna.py
│ │ │ │ ├── libdna.so.7.1.0
│ │ │ ├── python311
│ │ │ │ ├── _py3dna.so
│ │ │ │ ├── dna.py
│ │ │ │ ├── libdna.so.7
│ │ │ ├── python397
│ │ │ │ ├── _py3dna.so
│ │ │ │ ├── dna.py
│ │ │ │ ├── libdna.so.7.1.0
│ │ │ ├── python3108
│ │ │ │ ├── _py3dna.so
│ │ │ │ ├── dna.py
│ │ │ │ ├── libdna.so.7.1.0
│ └── Windows\
│ │ ├── 2022\
│ │ │ ├── _py3dnacalib.pyd
│ │ │ ├── dnacalib.dll
│ │ │ ├── dnacalib.py
│ │ │ ├── embeddedRL4.mll
│ │ │ ├── MayaUE4RBFPlugin2022.mll
│ │ │ ├── MayaUERBFPlugin.mll
│ │ ├── 2023\
│ │ │ ├── _py3dnacalib.pyd
│ │ │ ├── dnacalib.dll
│ │ │ ├── dnacalib.py
│ │ │ ├── embeddedRL4.mll
│ │ │ ├── MayaUE4RBFPlugin2023.mll
│ │ │ ├── MayaUERBFPlugin.mll
│ │ ├── 2024\
│ │ │ ├── _py3dnacalib.pyd
│ │ │ ├── dnacalib.dll
│ │ │ ├── dnacalib.py
│ │ │ ├── embeddedRL4.mll
│ │ │ ├── MayaUERBFPlugin.mll
│ │ ├── 2025\
│ │ │ ├── _py3dnacalib.pyd
│ │ │ ├── dnacalib.dll
│ │ │ ├── dnacalib.py
│ │ │ ├── embeddedRL4.mll
│ │ │ ├── MayaUERBFPlugin.mll
│ │ ├── pydna\
│ │ │ ├── python3\
│ │ │ │ ├── _py3dna.pyd
│ │ │ │ ├── dna.dll
│ │ │ │ ├── dna.py
│ │ │ ├── python311\
│ │ │ │ ├── _py3dna.pyd
│ │ │ │ ├── _py3dna9_4_3.pyd
│ │ │ │ ├── dna.dll
│ │ │ │ ├── dna.py
│ │ │ │ ├── dna9_4_3.dll
│ │ │ │ ├── polyalloc1_3_12.dll
│ │ │ │ ├── statuscode1_2_6.dll
│ │ │ │ ├── trio4_0_16.dll
│ │ │ ├── python397\
│ │ │ │ ├── _py3dna.pyd
│ │ │ │ ├── dna.dll
│ │ │ │ ├── dna.py
│ │ │ ├── python3108\
│ │ │ │ ├── _py3dna.pyd
│ │ │ │ ├── dna.dll
│ │ │ │ ├── dna.py
├── Reference\ 参考模块(不引用,仅供参考)
│ ├── DNA_Calibration 参考模块DNA_Calibration
│ ├── MSLiveLink 参考模块MSLiveLink
│ ├── SuperRiggingEditor 参考模块SuperRiggingEditor
├── resources\
│ ├── dna\
│ │ ├── NDA文件...
│ ├── icons\
│ │ ├── NDA图标...
├── scripts\
│ ├── builder\
│ │ ├── maya\
│ │ │ ├── __init__.py
│ │ │ ├── mesh.py
│ │ │ ├── skin_weights.py
│ │ │ ├── util.py
│ │ ├── __init__.py
│ │ ├── builder.py
│ │ ├── config.py
│ │ ├── joint.py
│ │ ├── mesh.py
│ │ ├── rig_builder.py
│ ├── config\
│ │ ├── __init__.py
│ │ ├── data.py 配置变量
│ ├── dnalib\
│ │ ├── __init__.py
│ │ ├── behavior.py
│ │ ├── definition.py
│ │ ├── descriptor.py
│ │ ├── dnalib.py
│ │ ├── geometry.py
│ │ ├── layer.py
│ ├── ui\
│ │ ├── __init__.py
│ │ ├── Qt.py Qt模块根据Maya不同版本来设置Qt相关的模块
│ │ ├── style.qss 样式文件
│ │ ├── menu.py 菜单UI模块
│ │ ├── toolshelf.py 工具栏UI模块
│ │ ├── models.py 模型UI模块
│ │ ├── rigging.py 绑定UI模块
│ │ ├── adjust.py 调整UI模块
│ │ ├── define.py 定义UI模块
│ ├── utils\
│ │ ├── __init__.py
│ │ ├── menu.py 菜单功能模块(文件,语言,帮助菜单功能,编辑和工具菜单功能从其他功能模块引用)
│ │ ├── models.py 模型功能模块
│ │ ├── rigging.py 绑定功能模块
│ │ ├── adjust.py 调整功能模块
│ │ ├── define.py 定义功能模块
│ ├── MetaFusion.py 插件启动框架
├── CleanPycache.bat
├── Install.mel 拖入maya安装文件
├── Install.py 安装执行文件
├── CleanPycache.bat