Files
Nexus/2023/scripts/animation_tools/atools/CHECKLIST.md
2025-11-25 02:04:55 +08:00

5.8 KiB

aTools 功能完整性检查清单

文件结构检查

核心模块文件

  • atools/__init__.py - 包装模块入口
  • atools/aTools/__init__.py - aTools 包初始化
  • atools/aTools/setup.py - 安装和配置模块

动画工具 (animTools/)

  • animBarUI.py - 主 UI 界面
  • animationCrashRecovery.py - 崩溃恢复
  • framePlaybackRange.py - 播放范围
  • jumpToSelectedKey.py - 跳转到选中关键帧

子 UI (animTools/animBar/subUIs/)

  • keyTransform.py - 关键帧变换
  • specialTools.py - 特殊工具
  • tangents.py - 切线工具
  • tUtilities.py - 时间线工具
  • tweenMachine.py - 补间机器

特殊工具子模块 (specialTools_subUIs/)

  • align.py - 对齐工具
  • animationCopier.py - 动画复制
  • fakeConstrain.py - 假约束
  • microTransform.py - 微变换
  • mirror.py - 镜像工具
  • selectSets.py - 选择集
  • spaceSwitch.py - 空间切换
  • tempCustomPivot.py - 临时轴心
  • transformAll.py - 全部变换

通用模块 (commonMods/)

  • animMod.py - 动画模块
  • aToolsMod.py - aTools 模块
  • commandsMod.py - 命令模块
  • uiMod.py - UI 模块
  • utilMod.py - 工具模块

通用工具 (generalTools/)

  • aToolsClasses.py - aTools 类
  • aToolsGlobals.py - 全局变量
  • generalToolsUI.py - 通用工具 UI
  • hotkeys.py - 热键
  • offlineInstall.py - 离线安装
  • tumbleOnObjects.py - 物体旋转

资源文件 (img/)

  • 159 个 PNG 图标文件
  • UI 按钮图标
  • 工具图标
  • 状态指示图标

导入依赖检查

Python 标准库

  • sys - 系统路径
  • os - 操作系统接口
  • importlib - 动态导入
  • math - 数学函数

Maya 模块

  • maya.cmds - Maya 命令
  • maya.mel - MEL 执行
  • maya.OpenMaya - Maya API
  • maya.OpenMayaAnim - 动画 API

aTools 内部导入(已改为相对导入)

  • from generalTools.aToolsGlobals import aToolsGlobals as G
  • from commonMods import animMod
  • from commonMods import utilMod
  • from commonMods import uiMod
  • from commonMods import commandsMod
  • from commonMods import aToolsMod
  • import setup

功能模块检查

主要功能

  • Animation Bar UI - 主界面启动
  • Tween Machine - 补间工具
  • Key Transform - 关键帧变换
  • Tangents - 切线编辑
  • Special Tools - 特殊工具集
  • Time Utilities - 时间线工具

特殊工具

  • Align - 对齐工具
  • Mirror - 镜像动画
  • Space Switch - 空间切换
  • Fake Constrain - 假约束
  • Temp Custom Pivot - 临时轴心
  • Animation Copier - 动画复制
  • Micro Transform - 微调变换
  • Transform All - 批量变换
  • Select Sets - 选择集管理

工具功能

  • Frame Playback Range - 帧播放范围
  • Jump to Selected Key - 跳转关键帧
  • Animation Crash Recovery - 崩溃恢复
  • Hotkeys - 热键设置
  • Tumble on Objects - 物体旋转视图

集成检查

Maya 工具架

  • 按钮已添加到 shelf_Nexus_Animation.mel
  • 图标文件存在 (aTools.png)
  • 命令正确:import animation_tools.atools\nanimation_tools.atools.show()

启动方式

  • Python: import animation_tools.atools; animation_tools.atools.show()
  • MEL: python("import animation_tools.atools; animation_tools.atools.show()");
  • Shelf: 点击 aTools 按钮

路径配置

  • sys.path 包含 animation_tools/atools/
  • Python 可以找到 animTools, commonMods, generalTools
  • 所有相对导入正常工作

🔧 测试步骤

1. 基础导入测试

import sys
sys.path.insert(0, r'h:\Workspace\Raw\Tools\Plugins\Maya\2023\scripts')
import animation_tools.atools as atools
print("✓ Import successful")

2. 属性检查

print("Has show:", hasattr(atools, 'show'))
print("Has launch:", hasattr(atools, 'launch'))
print("Has version:", hasattr(atools, 'version'))

3. 路径验证

import os
atools_path = os.path.dirname(atools.__file__)
print("atools directory:", atools_path)
print("animTools exists:", os.path.exists(os.path.join(atools_path, 'animTools')))
print("commonMods exists:", os.path.exists(os.path.join(atools_path, 'commonMods')))
print("generalTools exists:", os.path.exists(os.path.join(atools_path, 'generalTools')))

4. 启动测试(仅在 Maya 中)

if atools.isMaya():
    result = atools.show()
    print("Launch result:", result)

5. 功能测试(在 Maya 中)

  • 打开 Animation Bar
  • 测试 Tween Machine 滑块
  • 测试关键帧变换工具
  • 测试切线编辑
  • 测试特殊工具菜单
  • 测试时间线工具
  • 测试镜像功能
  • 测试空间切换
  • 测试选择集管理

📋 已知问题

已修复

  • 缺少 setup.py - 已复制
  • 缺少 img/ 文件夹 - 已复制 159 个文件
  • 导入路径错误 - 已修正为 atools/aTools/ 结构

待验证

  • Maya 2023 中实际启动
  • 所有工具功能正常
  • UI 图标正确显示
  • 热键设置工作
  • 崩溃恢复功能

文件统计

  • Python 文件: 35+ 个
  • 图标文件: 159 个
  • 总文件数: 195+ 个
  • 总大小: ~500 KB

📝 备注

  1. 结构扁平化: 所有模块直接在 atools/ 下,无额外嵌套
  2. 导入已修改: 所有 from aTools.xxx 已改为相对导入
  3. 代码已更新: 28+ 个文件的导入语句已修改
  4. 完全集成: 所有文件已整合到 atools 模块

状态: 文件结构完整,待 Maya 实际测试 日期: 2025-11-25