父级坐标对齐子对象需显式重设枢轴并绑定父子关系;根本原因是父级默认枢轴在世界原点,而子零件枢轴在其几何中心或铰链点,位置不重合导致位移跳变或旋转偏移。

父级坐标对齐子对象不是“自动发生”的事,而是必须显式重设父级枢轴(Pivot)并绑定父子关系才能生效。直接拖拽父子层级、不调枢轴,90% 会出现位移跳变或旋转轴心偏移。
为什么子对象会飞出去或绕错点转?
根本原因在于 Composer 默认把空组/父级节点的枢轴放在世界原点 (0,0,0),而子零件的原始枢轴通常在自身几何中心或装配铰链点。两者物理位置不重合,一打关键帧,子对象就被“拽”到父级枢轴位置——这就是所谓“飞出视图”。
- 检查方式:选中父级 → 查看 Gizmo 中枢轴小十字是否落在子零件实际旋转中心(如电机轴线交点、球铰中心)
- 常见误操作:仅用
At Bounding Box Center对齐空组,却没用Pivot Align工具把它“钉”到子零件表面目标点 - 若子零件本身枢轴偏移(比如 CAD 导入时未居中),需先单独校准子零件枢轴,再处理父子对齐
怎样让父级真正“带动”子对象平滑移动?
关键不在层级拖放,而在三步锚定:枢轴位置对齐 + 枢轴朝向对齐 + 父子绑定时机控制。
- 先选中父级(空组或变换节点),执行
Set Pivot → At Bounding Box Center,确保它有明确几何基准 - 再用
Pivot Align工具,点击父级枢轴,再点击子零件上对应运动基准点(如轴承孔中心),完成空间位置锁定 - 最后才在结构树中将子零件拖为该父级的子项;切忌先建父子关系再调枢轴——已绑定状态下改枢轴,子对象会瞬移
- 如果父级需沿某轴滑动(如导轨),建议关闭其
Rotation通道的关键帧,只启用Translation X/Y/Z,避免自由度污染
Widget 或 CSS 类对齐思路能直接套用吗?
不能。Composer 的父子坐标对齐是三维空间刚体变换,不是 UI 布局中的二维锚点偏移。CSS 的 position: relative 提供定位上下文,Widget 的 HorizontalCenter 控制渲染后贴靠,它们都不改变对象自身的枢轴定义。
- Composer 里没有“父容器 padding box”概念,
top/left这类偏移量不存在;所有位姿都由枢轴位置 + 变换矩阵决定 - 试图用 Widget 组件去对齐 3D 零件,只会导致渲染层错位,不影响实际运动学链
- 唯一可类比的是:就像 CSS 要让子元素相对父元素左上角定位,必须先让父元素成为定位上下文;Composer 也要先让父级具备明确、稳定的枢轴,才能成为子对象的运动参考系
最易被忽略的一点:空组父级一旦参与动画,它的枢轴就不再是“设置完就固定”的静态点——每次关键帧记录的都是该时刻枢轴在世界坐标系下的绝对位置和朝向。所以绑定前务必确认空组自身无冗余关键帧,且所有运动约束都收敛到单一物理意义的基准点上。











