# 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)