This commit is contained in:
2025-11-30 14:49:16 +08:00
parent 021c593241
commit de46c4b073
1406 changed files with 526774 additions and 1221 deletions

View File

@@ -0,0 +1,107 @@
# DreamWall Picker
Animation picker for Autodesk Maya 2017 (or higher)
## 作者
- Lionel Brouyère
- Olivier Evers
> This tool is a fork of Hotbox Designer (Lionel Brouyère).
> A menus, markmenu and hotbox designer cross DCC.
> https://github.com/luckylyk/hotbox_designer
## 🔧 版本兼容性
### 支持的 Maya 版本
- **Maya 2017-2024** - 使用 PySide2
- **Maya 2025+** - 使用 PySide6
- **自动适配** - 运行时自动检测 Maya 版本并使用对应的 Qt 绑定
### Qt 兼容性
- **PySide2** - Maya 2017-2024自动
- **PySide6** - Maya 2025+(自动)
- **Python 2/3** - 完全兼容
### 兼容性特性
1. **自动 Qt 检测** - 根据 Maya 版本自动选择 PySide2 或 PySide6
2. **API 映射** - PySide6 API 自动映射到 PySide2 兼容接口
3. **向后兼容** - 支持旧版本 picker 文件的自动升级
4. **跨版本数据** - Picker 文件在不同 Maya 版本间通用
## 功能特性
- 简单快速的 picker 创建
- 导入 2022 年之前的 AnimSchool pickers
- 在 Maya 场景中存储 picker
- 高级 picker 编辑器
- 实现 AnimSchool picker 的所有功能,甚至更多...
## 使用方法
### 在 Python 中启动
```python
import animation_tools.dwpicker
animation_tools.dwpicker.show()
```
### 带参数启动
```python
import animation_tools.dwpicker
# 只读模式
animation_tools.dwpicker.show(editable=False)
# 加载指定的 picker 文件
animation_tools.dwpicker.show(pickers=['/path/to/picker.json'])
# 忽略场景中的 pickers
animation_tools.dwpicker.show(ignore_scene_pickers=True)
```
## 模块修改说明
此模块已从原始的 dwpicker 包修改为 animation_tools.dwpicker 子模块:
1. **主模块导入**dwpicker/*.py`from dwpicker.xxx``from .xxx`
2. **一级子模块导入**designer/*.py
- 引用父模块:`from dwpicker.xxx``from ..xxx`
- 引用同级:`from .canvas` → 保持不变
3. **二级子模块导入**ingest/animschool/*.py
- 引用根模块:`from dwpicker.xxx``from ...xxx`(三个点)
- 引用同级:`from .parser` → 保持不变
4. **跨模块导入**`from dwpicker import xxx``from .. import xxx`
5. **代码执行模板**`import dwpicker``import animation_tools.dwpicker as dwpicker`
6. 保持所有原始功能不变
## 💡 技术架构
### 核心模块
- **main.py** - 主窗口和核心逻辑
- **picker.py** - Picker 画布和交互
- **designer/** - Picker 设计器模块
- **pyside.py** - Qt 版本兼容层
- **compatibility.py** - 数据格式兼容性处理
### 兼容性层次
```
┌─────────────────────────────┐
│ DwPicker UI │
└──────────┬──────────────────┘
┌──────────▼──────────────────┐
│ pyside.py (兼容层) │
│ - PySide6 (Maya 2025+) │
│ - PySide2 (Maya 2017-2024) │
└──────────┬──────────────────┘
┌──────────▼──────────────────┐
│ Maya API │
│ - maya.cmds │
└─────────────────────────────┘
```
## 官方文档
更多信息请访问 [Official Documentation](https://dreamwall-animation.github.io/dwpicker)