Files
Nexus/2023/scripts/animation_tools/dwpicker/README.md
2025-11-24 21:05:22 +08:00

108 lines
3.4 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.
# 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)