Files
Nexus/2023/scripts/animation_tools/dwpicker
2025-11-25 00:17:12 +08:00
..
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-25 00:17:12 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-24 21:05:22 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-24 21:05:22 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00
2025-11-23 23:31:18 +08:00

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 中启动

import animation_tools.dwpicker
animation_tools.dwpicker.show()

带参数启动

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/*.pyfrom dwpicker.xxxfrom .xxx
  2. 一级子模块导入designer/*.py
    • 引用父模块:from dwpicker.xxxfrom ..xxx
    • 引用同级:from .canvas → 保持不变
  3. 二级子模块导入ingest/animschool/*.py
    • 引用根模块:from dwpicker.xxxfrom ...xxx(三个点)
    • 引用同级:from .parser → 保持不变
  4. 跨模块导入from dwpicker import xxxfrom .. import xxx
  5. 代码执行模板import dwpickerimport 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