MetaFusion/goals.md
2025-02-05 23:03:56 +08:00

8.4 KiB
Raw Blame History

项目目标

我想做一个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