MetaFusion/goals.md
2025-02-05 22:39:45 +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