【问题标题】:Freeze scale transform on a parent object with animated child (MAYA MEL/Python script)在具有动画子对象的父对象上冻结缩放变换(MAYA MEL/Python 脚本)
【发布时间】:2018-01-27 04:55:53
【问题描述】:

我有平移和旋转动画的对象层次结构,缩放 xyz 相等且静态但不是 1。当我在父网格上冻结缩放时,它的子动画变得疯狂。有什么办法可以防止这种情况发生吗?


我找到了一种解决方法,但还不完美。假设我们有这样的简单设置: 父对象=>子对象

  1. 我将 childObject 放在一个组“childObjectGroup”中
  2. 父 childObjectGroup 到世界并将它的变换归零,不包括比例。
  3. 将 childObject 的变形烘焙到世界,这样我们就不再需要组了。 (为此找到了一个很好的脚本)
  4. 在 parentObject 和 childObject 上冻结缩放变换
  5. 重新父项

它适用于像这样的简单层次结构,但不确定如何将它应用于具有深度树和多个早午餐的更复杂的层次结构。可能我遗漏了一些东西,对此有非常简单的解决方案。

【问题讨论】:

    标签: python parent-child hierarchy maya mel


    【解决方案1】:

    每当您更改父节点的比例时,其子节点的平移都会发生变化 - 至少,如果您以世界空间单位进行测量。因此,在缩放到 0.5 的父级下移动 10 个单位实际上会移动 5 个世界空间单位(例如)。

    我很确定你的旋转应该没问题,因为比例并没有真正改变围绕枢轴旋转的工作方式;但是,如果您从不在对象中心的枢轴旋转某些东西并且您的缩放比例不均匀(xyz 并不完全相等),则被压扁的空间内部的旋转感觉更像是椭圆而不是圆形.

    如果这不是问题,主要需要担心的是平移位置 - 您基本上需要在每个键处获取每个对象的世界空间位置,“修复”比例,然后遍历键并设置再次世界空间位置(我会使用xform 命令,因为您可以使用世界空间值查询和设置位置)。因此,您概述的步骤可能是最好的选择...

    但是,如果您的比例不均匀,您实际上可能无法以一种能够产生相同结果的方式进行旋转(仅取决于位置/枢轴和连续的后代位置/枢轴)。如果父母的规模实际上并没有伤害任何东西并且不应该被键入/动画,那么锁定和隐藏它可能是可以的,没有任何不利影响。

    【讨论】:

    • 感谢您的回复!幸运的是 scale 的 xyz 是相等的。如果您认为我概述的解决方案可行,那么我想我需要提出一个新问题,即在我将所有内容分开并冻结缩放变换之前如何存储父子层次结构依赖关系,然后以与以前相同的方式重新设置它们。任何想法如何做到这一点?
    • 当然——你可以将它存储在一个字典中,其中每个键都是父级,值是它的子级列表{'parent_node1':['child1', 'child2'], 'parent_node2': ['child3', 'child4']} 如果不知道你的层次结构是什么,这有点难以猜测其实喜欢。 children = maya.cmds.listRelatives('parent_node', c=True) 应该从每个父母那里得到你需要的东西。您需要对多少个父节点执行此操作,是否需要递归执行?
    • 只是一个注释 - 我对你的新问题做出了回应。如果有任何帮助,请点赞!
    • 您的评论可以被视为我最近打开的问题中的已接受答案! stackoverflow.com/q/45764093/8483714还有一件我没有得到的东西。我可以看到如何使用 dict 我可以存储 1 级层次结构,但是如何处理更深的树呢?示例键“parent_node1”中的根 _parent1 __child1 __child2 ___grandChild1 _parent2 __child3 ___grandChild2 ____grandgrandChild1 具有值“child1”、“child2”。如果 child2 里面有孙子怎么办?理想情况下,我想编写一个脚本,可以为您处理不同的父子层次结构 tnx @silent_sight
    • 哈哈,关于我的问题,我来晚了=)谢谢。
    猜你喜欢
    • 1970-01-01
    • 2013-11-10
    • 2011-09-07
    • 1970-01-01
    • 2015-02-13
    • 2018-11-01
    • 1970-01-01
    • 2018-12-01
    • 2023-03-06
    相关资源
    最近更新 更多