疑难解答¶
大多数 OTS 问题都是三件事之一:什么都没选中、名称对不上,或者范围设错了。本页按你可能遇到它们的顺序来过一遍这些症状。
窗口打不开¶
运行脚本时什么都没发生。
几乎总是 Python 的问题。Harmony 通过 PATH 上的系统 Python 3.9 来启动用户脚本,而 3.10 或更新的解释器会被 静默忽略 — 不报错,也没有窗口。
安装 64 位的 Python 3.9,勾选 Add Python to PATH,然后重启 Harmony。
弹出一个提到路径的错误对话框。 harmony/ 文件夹不在启动器期望的位置。它应该是你 <version>-scripts 目录里一个名为 octoTransformSync 的文件夹。参见 安装。
Shelf 按钮没反应,或者报告一个 import 错误。 Maya 在它的 Python 路径上找不到 OTS。重新运行那个拖放安装程序 — 它会重写 userSetup.py 里的条目,并就地刷新 shelf 按钮。
侧边栏里没有 OTS 标签页。 这个 add-on 没有启用。检查 Edit → Preferences → Add-ons,搜索 Octo Transform Sync 并勾选它。然后在 3D 视图中按 N。
导出列表是空的¶
你按了 + 但什么都没出现。 场景中没有选中任何符合条件的东西。先选中 peg / joint / armature,再按 +。
在 Blender 中,面板顶部的 Scene selection 区块会准确告诉你 OTS 能看到什么 — 如果它说 "Select an armature in the viewport",那就是答案。
选择中有一部分出现了,但不是全部。 OTS 只扫描它能有意义地导出的项。特效、composite 和其他非变换节点不是变换,不会跟着走。
导入时全是琥珀色¶
在一个空场景上这很正常。 琥珀色的意思是"在 这个 场景里没找到目标" — 而现在根本还没有东西可找。按 Create Rig,不是 Apply。
参见 匹配树。
有些行是琥珀色¶
摄像机那一行是琥珀色。 预期之中。在一次全新导入中,还没有带着摄像机名字的 joint 或 bone — 这也正是摘要行里摄像机要单独计数的原因。Create Cameras 会处理它。
有几个有名字的行是琥珀色。 两个场景之间的名称不一样。修复办法:
- 双击 Target path 单元格并输入正确的路径,或者
- 在你的场景里重命名,然后再按一次 Browse…,或者
- 如果你不想要这一项,就取消勾选它。
大部分行都是琥珀色。 你多半是把文件应用到了错误的场景上,或者你想要的是 Create Rig 而不是 Apply。
Create Rig 之后行还是琥珀色¶
预期之中。 列表显示的是你按下浏览时的匹配状态;构建 rig 不会重绘它。对同一个文件再按一次 Browse… 就能重新执行匹配。
Rig 本身没问题 — 去检查你的场景,而不是这个列表。
动画不对¶
Apply 之后什么都没动。 Apply 只会写到既 已匹配 又 被勾选 的行上。去找琥珀色的行和没打勾的框。
镜头被截短了。 导出范围没盖住整段动作。用 Scene range 重新导出。
它动了,但旋转不对。 先确认你不是在看一个 Z-up 的 Maya 场景 — 那里逐关键帧的 handle 会被简化。如果错的是数值本身而不是曲线形状,那就是一个值得上报的 bug — 请附上文件、两个应用的版本,以及旋转本该是什么样。
一个 bone 位置对了但它的子项不对。 你导出了一条不完整的 chain,而它所相对的那个 parent 不在文件里。请从一个共同祖先往下导出整条 chain。
曲线变成了阶梯。 要么源关键帧本来就是 stepped,要么旋转是以 quaternion 形式传递的 — 那种情况下插值类型仍会传递,但逐关键帧的 handle 不会,这是设计如此。参见 文件格式。
关于文件本身¶
"Unsupported version N"。 这个文件是由另一个 OTS 构建版本写出的。按设计没有向后迁移;请从源应用重新导出。
"Missing 'pegs' key" 或者某个格式错误。 你在 .anm 标签页里加载了一个 .pvt,或者反过来。文件选择器是按扩展名过滤的,所以这通常意味着文件被重命名过。
文件巨大。 一个大 rig 上跨了很宽的帧范围。收紧范围 — 虽然只有打了关键帧的帧加上范围边界会被采样,但一百个 peg 跨一千帧仍然是非常多的关键帧。
摄像机¶
摄像机不动。 在一个 .anm 中,运动住在摄像机的 peg 上。确认那一行被勾选了,而且你也运行了 Create Rig 或 Apply — 单靠 Create Cameras 只会构建镜头,不会构建运动。
构图太紧。 检查目标应用里的 sensor / film fit:它应该是 vertical。自动或水平适配会把 FOV 按错误的轴重新解释,让一切看起来像被放大了。
摄像机朝错了方向。 跨应用的朝向是尽力而为的。先检查 roll,再检查倾斜。Blender 的摄像机按惯例带一个 +90° 的 X 修正 — 如果一台摄像机经由一个手工编辑过的文件往返过,那个修正可能会被应用两次。
参见 摄像机。
Rig¶
两个角色到达时变成了一个。 它们在导出时共享了同一个 rig 标签。在 Rig 列里给每条 root chain 各自的名字,然后重新导出。
我没法拆开这条 chain。 没错 — 一条已连接的 chain 永远不能跨 rig 拆开,因为一个与其 parent 处在不同 armature 中的 bone 等于没有 parent。合并互不相连的 root 是允许的;拆开一条已连接的 chain 不行。参见 Rig 与多 Rig。
Camera_1 和 Camera_2 调换了。 它们不该调换 — 摄像机 chain 会在编号之前按名称排序,正是为了让编号在不同会话之间保持稳定。如果它们真的调换了,那是这些 chain 被重命名过。
Harmony 相关¶
Apply 之后一个 peg 丢了它的 3D path。 这是刻意的,也是有文档说明的:应用动画会解除 3D-path 和 quaternion-path column 的链接,并写入分通道的 bezier 曲线。数值是对的;创作模式没了。如果你需要保持原来的 peg 完好无损,请改为应用到一个 Create Rig 的结果上。
一个在 Maya 里能干净报错的文件,在 Harmony 里报得很怪。 Harmony 的读取器不执行同样严格的校验,所以一个坏文件在那里的表现形式不同。请从源头重新导出。
参见 在 Harmony 中。
还是卡住了¶
在报告里附上这些,诊断会快得多:
- 两个应用及其版本
- 哪个方向、哪种格式
- 导入页上的摘要行,逐字照抄
- 文件本身 — 它很小,是可读的 JSON,通常足以定位问题