我正在创建一个网页来说明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),则会正确执行第一次转换,但我无法与其他转换链接。我的应用程序需要用户可以在同一场景中进行多次转换。
提前致谢
答案 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);