使用applyMatrix在Y轴上的负刻度不起作用

时间:2013-10-10 08:57:00

标签: three.js

我正在创建一个网页来说明3D转换,我正在使用Three.js。当我尝试在Y轴上做负刻度时,我发现了一个问题。在这种情况下,对象不受影响(应该进行面反转但不进行)。但是,对于X轴或Z轴的负刻度,效果很好。有帮助吗?这是我的代码:

var m = new THREE.Matrix4(
    scaleX, 0,      0,      0,
    0,      scaleY, 0,      0,
    0,      0,      scaleZ, 0,
    0,      0,      0,      1 
);
cube.applyMatrix(m);

如果我使用cube.scale.set(scaleX,scaleY,scaleZ),则会正确执行第一次转换,但我无法与其他转换链接。我的应用程序需要用户可以在同一场景中进行多次转换。

提前致谢

1 个答案:

答案 0 :(得分:-1)

您的矩阵不正确。 试试:

var m = new THREE.Matrix4(
    1, 0, 0, scaleX,
    0, 1, 0, scaleY,
    0, 0, 1, scaleZ,
    0, 0, 0, 1
);

cube.applyMatrix(m);