我正在尝试使用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
方法错了吗?
我并没有试图错开我实际上试图同时做的影响。
答案 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
通过将两个变换相乘,然后应用该矩阵变换,为您提供结果矩阵。它会导致您在代码中看到的内容。