个人用于学习、实现更方便工作流的 blender 插件
# 克隆仓库(含子模块)
git clone --recurse-submodules https://github.com/shadowmelds/meld_tools.git
Windows 符号链接工具:Link Shell Extension
插件符号链接地址:
# Windows:
~\AppData\Roaming\Blender Foundation\Blender\5.0\extensions\user_default
# Linux:
~/.config/blender/5.0/extensions/user_default
- CloudRig
- blender_studio_utils
- Creating multifile add-on for Blender
- 插件
- 如何创建扩展
- Blender Python API
- Addon Test
- 安装 Python 3.11(Blender5.0 正在使用的)
https://www.python.org/downloads/release/python-3117/
- 创建虚拟环境,安装依赖
py -3.11 -m venv .venv- 激活 Python 3.11 虚拟环境
.\.venv\Scripts\activate- 安装依赖
pip install -r requirements-dev.txt- 运行测试
pytest -v- 运行测试并启用覆盖率可视化
pip install coverage pytest-cov
pytest -v --durations=0 --cov=./meld_tools --cov-report=html --cov-branch
通过htmlcov/index.html在网页浏览器中打开文件来查看覆盖率统计信息
- 目前所有骨架生成或修改的ops都是直接对目标骨架修改而且出错直接终止,没有撤销的操作;将骨架修改的流程改用临时骨架替换原始骨架的方式而不是直接在原始骨架上修改
- 自制一套人体命名映射,兼容 CloudRig、OW、未来的任何人形 Rig
meld_tools 仓库根目录
├─ meld_tools 插件根目录
│ ├─ blender_manifest.toml 插件描述文件
│ ├─ bs_utils 来自 Blender 的 blender_studio_utils
│ ├─ modules 各种功能的 ops、ui、props 等等
│ │ ├─ developer 重载插件快捷按钮
│ │ ├─ general 常规功能
│ │ │ ├─ drivers 驱动器复制器
│ │ │ ├─ phys 物理模拟物体生成和绑定
│ │ │ ├─ prints 打印各种信息到控制台
│ │ │ ├─ ribbon_mesh 角色脸部丝带绑定
│ │ │ ├─ scripts 向 .blend 文件写入脚本
│ │ │ ├─ toolset 工具集
│ │ ├─ ow 守望先锋相关(大都是绑定)
│ │ │ ├─ transform_action 匹配的骨架可进行动作转移
│ │ │ ├─ vertex_group 顶点组、权重、骨架命名
│ │ └─ rig 尝试实现自己的绑定插件(未来计划)
│ ├─ public 多处使用的共享 ops
│ ├─ shared 公共工具、数据结构
│ │ ├─ base 基类
│ │ ├─ data 公共数据
│ │ │ ├─ scripts 脚本
│ │ ├─ models 数据结构
│ │ └─ utils 工具
├─ notes 项目笔记
└─ test 测试
└─ test.blend 测试 Blender 文件