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

251 lines
11 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\
│ ├── 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