MetaFusion/goals.md
2025-02-07 05:10:30 +08:00

11 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\
│   ├── assets\
│   │   ├── YAxisUp\           
│   │   │   ├── full_rig.mb          Y轴向上全身绑定Maya基础文件
│   │   │   ├── sub_ctrl.mb          Y轴向上次级控制器Maya基础文件
│   │   ├── ZAxisUp\
│   │   │   ├── full_rig.mb          Z轴向上全身绑定Maya基础文件
│   │   │   ├── sub_ctrl.mb          Z轴向上次级控制器Maya基础文件
│   ├── dna\
│   │   ├── NDA文件...
│   ├── icons\
│   │   ├── NDA图标...
│   ├── data\
│   │   ├── MetaHuman\               
│   │   │   ├── Deploy.dna           部署dna
│   │   │   ├── JointsInfo.json      骨骼基础信息
│   │   │   ├── VertexsInfo.json     顶点基础信息
│   │   ├── ARKit.json               ARKit基础信息
│   │   ├── BodyJoints.json          身体骨骼基础信息
│   │   ├── JointsInfluence.json     骨骼影响基础信息
│   │   ├── Topology.json            拓扑基础信息
│   ├── maps\                        贴图路径(DDS)
│   ├── mask\                        Mask贴图路径(TGA)
│   ├── meta_anim\
│   │   ├── meta_body_anim.py        MetaHuman Body Animation
│   │   ├── meta_face_anim.py        MetaHuman Face Animation
│   ├── meta_body_ctrl\             
│   │   ├── meta_body_ctrl.py        MetaHuman Body Control
│   ├── meta_motion_apply\
│   │   ├── match_files\
│   │   │   ├── metahuman_match_file.txt        MetaHuman Motion 资源依赖文件
│   │   │   ├── meta_motion_apply.py            MetaHuman Motion 应用
│   ├── shaders\
│   │   ├── dx11_shd_body.fx                    DX11身体材质
│   │   ├── dx11_shd_eyeLeft.fx                 DX11左眼球材质
│   │   ├── dx11_shd_eyeRight.fx                DX11右眼球材质
│   │   ├── dx11_shd_head.fx                    DX11头材质
│   │   ├── dx11_shd_teeth.fx                   DX11牙齿材质
│   ├── skinCluster\                 
│   │   ├── CTRL_Root_Face.skin                 Skin Cluster
│   ├── additional_assemble_script.py           附加组装脚本        
│   ├── analog_gui.ma                           模拟图形用户界面MA文件
│   ├── gui.ma                                  Maya GUI文件
│   ├── vtx_color.py                            顶点色配置
├── 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模块
│   │   ├── mesh.py                     模型UI模块
│   │   ├── rigging.py                  绑定UI模块
│   │   ├── adjust.py                   调整UI模块
│   │   ├── define.py                   定义UI模块
│   │   ├── menu_utils.py               菜单UI功能模块文件语言帮助菜单功能编辑和工具菜单功能从其他功能模块引用
│   │   ├── mesh_utils.py               模型UI功能模块
│   │   ├── rigging_utils.py            绑定UI功能模块
│   │   ├── adjust_utils.py             调整UI功能模块
│   │   ├── define_utils.py             定义UI功能模块
│   ├── utils\                          功能模块
│   │   ├── __init__.py
│   │   ├── ...                         功能模块
│   ├── MetaFusion.py                   插件启动框架
├── CleanPycache.bat                    
├── Install.mel                         拖入maya安装文件
├── Install.py                          安装执行文件
├── CleanPycache.bat
├── Metahuman.pdf                       官方Metahuman解析说明文档```


# 参考这些文件,并基于目前的项目文件来完善项目:

DNA Calibration Document : https://epicgames.github.io/MetaHuman-DNA-Calibration/index.html
MetaHuman-DNA-Calibration 代码:https://github.com/EpicGames/MetaHuman-DNA-Calibration
@Metahuman.pdf