如何使用着名的Transform.multiply 4x4?

时间:2014-12-09 18:21:03

标签: javascript famo.us

我正在尝试使用Transform.multiply4x4()来移动曲面修改器,但它似乎没有按预期工作。我试图将表面几乎平坦地旋转,然后将其发送到远处。 我的代码看起来像这样

       myModifier.setTransform(
            Transform.multiply4x4(
                Transform.rotateX(1.4), //rotate at the same time by 1.4 radians on the x axis 
                Transform.scale(0, 0, 1) //send back into the distance 
            ),
            {duration: 600}
        );

然而,唯一发生的事情是附着在修改器上的表面会被推回到X轴上没有旋转的距离。我使用multiplyx4x方法错了吗? 我并没有试图错开我实际上试图同时做的影响。

1 个答案:

答案 0 :(得分:2)

您可能希望链接修改器。

<强> See this example jsBin

  var myRotateModifier = new Modifier({    
    origin: [0.5, 0.5],
    align: [0.5, 0.5],
  });
  myRotateModifier.setTransform(
    Transform.rotateX(1.4),
    {duration: 1000}
  );

  var myModifier = new Modifier();
  myModifier.setTransform(
    Transform.scale(0, 0, 1),
    {duration: 2000}
  );

  mainContext.add(myRotateModifier).add(myModifier).add(surface);

为什么不在这种情况下使用multiply4x4

multiply4x4通过将两个变换相乘,然后应用该矩阵变换,为您提供结果矩阵。它会导致您在代码中看到的内容。

相关问题