我是一名有用的助手,可以为您翻译文本。
这是网格的图像: 这是经过132次翻译后的图像,偏移了20。 更多信息: 网格的位置在: 419,-830,500
旋转为: 0,-0.52,0
因此,Z坐标位于500;但我必须将其向下移动132。如果通过将位置向下移动132来移动它,则它位于正确位置。但我想通过翻译矩阵使原点向下移动132。 这也是矩阵:
我有一个网格,其原点在底部。我想将其沿Z轴移动-132。如果我改变网格的位置,它就处于正确的位置。但是,如果我将其沿Z轴平移-132,网格会偏离20。为什么我没有得到相同的结果?
我翻译矩阵的方式:
matrix = new THREE.Matrix4().makeTranslation( 0, 0, -132 )
mesh.geometry.applyMatrix( matrix );
这是网格的图像: 这是经过132次翻译后的图像,偏移了20。 更多信息: 网格的位置在: 419,-830,500
旋转为: 0,-0.52,0
因此,Z坐标位于500;但我必须将其向下移动132。如果通过将位置向下移动132来移动它,则它位于正确位置。但我想通过翻译矩阵使原点向下移动132。 这也是矩阵:
"matrix": [0.8660253882408142,0,0.5,0,0,1,0,0,-0.5,0,0.8660253882408142,0,419,-830,500,1]
z
坐标设置为-132
还是将该值添加到网格的现有z
坐标中?使用mesh.position.z = -132
可以实现第一种情况,而使用转换矩阵可以实现第二种情况。 - Nikos M.matrix = new THREE.Matrix4().makeTranslation(0, 0, -132) mesh.geometry.applyMatrix(matrix);
当然,由于我们正在翻译几何图形而不是位置,因此平移矩阵后的Z坐标不会改变。 - Zaay