Unity 的 AnimationClip 会用节点路径绑定动画属性,例如:
Root/Panel/Icon
如果你在预制体里移动节点层级,或者把节点从 OldName 改成 NewName,动画里的旧路径可能会失效。
UIProbe 的“动画修复”工具可以把动画里的旧路径自动改成新路径。
- 在 Unity 菜单打开
UI Probe/打开面板。 - 进入一个 UI 预制体编辑模式。
- 在 UIProbe 左侧点击
动画修复。
如果当前预制体包含 Animator 或 Animation,左侧按钮会显示 ⚠ 动画修复 提醒。
适合自己可以直接修改 .anim 文件的情况。
- 打开 UIProbe 的
动画修复页面。 - 勾选
启用自动修复。 - 在预制体里移动节点,或者修改节点名字。
- 工具会自动检测并修复动画绑定路径。
- 修复结果会显示在日志区,也会输出到 Unity Console。
支持的常见情况:
移动层级:Panel/Icon -> Panel/NewGroup/Icon
修改命名:Panel/OldName -> Panel/NewName
适合美术、策划没有动画文件提交权限,需要交给有权限的人处理。
- 进入需要修改的预制体。
- 打开 UIProbe 的
动画修复页面,并保持面板打开。 - 移动节点层级,或修改节点名字。
- 点击
导出修复映射。 - 工具会生成一个 JSON 文件,里面记录旧路径到新路径的映射。
- 把这个 JSON 文件发给有动画文件权限的人。
- 打开 UIProbe 的
动画修复页面。 - 点击
导入并应用修复。 - 选择导出的 JSON 文件。
- 工具会按 JSON 里的映射修复对应 AnimationClip。
- 保存并提交动画文件。
如果你已经移动过节点,想检查当前预制体里是否还有失效动画路径,可以点击:
手动扫描修复
工具会尝试根据当前预制体中唯一匹配的节点名恢复路径。
注意:如果只是把 OldName 改成 NewName,并且改名前没有打开 UIProbe 面板记录快照,手动扫描不一定能找回旧名字对应的新节点。
- 改名或移动前,最好先打开 UIProbe 的
动画修复页面。 - 自动修复需要你有动画文件修改权限。
- 没有权限时,不要勾选自动修复,使用
导出修复映射给有权限的人导入。 - 如果同名节点很多,手动扫描可能无法判断应该修到哪个节点。
- 导出/导入 JSON 只记录动画路径修复信息,不会帮你改代码里的
transform.Find("OldName")。
有动画权限:
打开预制体 -> 打开动画修复 -> 启用自动修复 -> 移动/改名 -> 检查日志 -> 保存
无动画权限:
打开预制体 -> 打开动画修复 -> 移动/改名 -> 导出修复映射 -> 发给有权限的人 -> 对方导入并提交