【问题标题】:Rigging a Rubik's cube in Maya with MEL使用 MEL 在 Maya 中装配魔方
【发布时间】:2012-11-18 05:09:46
【问题描述】:

我想在 Maya 中装配一个魔方,让它可以向任何方向旋转任意次数。任何旋转都将以 90 度为增量。这些是我的大纲中的对象:

26 块(立方体的中心块不是必需的) 9 个旋转控制器(3 个用于高度/宽度/深度的行/列) 1 个根控制器

诀窍是将各个块的控制权从一个控制器传递到下一个控制器。在任何给定时间,一个块可以受到 3 个不同的控制器的影响。但是,旋转后,控制器会发生变化。

我想我需要创建一系列矩阵(二维数组),其中 9 个 - 每个控制器一个。将块分配给它们,然后在旋转后重新分配。我想我需要一个临时矩阵来交换。除此之外,我不知道该怎么做。这些矩阵应该是根控制器的参数吗?大概吧。

在这件事上的任何帮助都会有所帮助。我是 MEL 的新手,但我有 C/C++ 等方面的背景。您将如何装配功能性魔方?

【问题讨论】:

    标签: cube maya rubiks-cube mel


    【解决方案1】:

    这里正在运行 Rubic 的立方体工具供下载http://www.geonak.com/downloads/RubixCube.zip

    【讨论】:

      【解决方案2】:

      您只需将旋转插值转换为四元数插值以进行旋转,然后一次键入一个数据包。只要确保在您难以键入序列时不要倒退。

      【讨论】:

        【解决方案3】:

        您也可以通过混合约束权重来做到这一点。 6 个中心部件是您的控件。 Parent 将所有其他多维数据集约束到所有 6 个控件。每个立方体现在将有一个约束节点,其中包含 6 个可以键入的权重输入。将要旋转的控制器的权重设置为 1,将要旋转的面的立方体的所有其他权重设置为 0。对于当前移动中不涉及的立方体,将所有权重设置为 0。

        如果您想变得更高级,请为整个事物创建一个主布局控件,添加一个属性以使用选项 1 到 6 设置哪个控制器处于活动状态,并让它在所有立方体的权重发生更改时更新它。您可以通过查看立方体与当前活动控制器立方体的距离来确定是否应该完全停用立方体(所有权重 -> 0);活动面上的相邻立方体都将靠近,所有其他立方体将更远。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-04-25
          • 1970-01-01
          • 2017-04-21
          • 1970-01-01
          • 2017-08-16
          • 1970-01-01
          • 2016-05-01
          相关资源
          最近更新 更多