为什么在makeTranslation
对象上链接matrix
方法无效?
boxMesh.matrixAutoUpdate = false
boxMesh.matrix.makeTranslation(30, 0, 0)
boxMesh.matrix.makeTranslation(30, 0, 0)
网格在 x 轴上仅移动30个单位,而不是60
但是当我使用applyMatrix
方法时,一切都会按预期进行:
boxMesh.applyMatrix(new THREE.Matrix4().makeTranslation(30, 0, 0))
boxMesh.applyMatrix(new THREE.Matrix4().makeTranslation(30, 0, 0))
答案 0 :(得分:2)
Matrix4.makeTranslation()创建一个纯翻译矩阵。现有的所有矩阵元素都将被覆盖。因此,该方法无意将转换应用于现有的转换矩阵。
Object3D.applyMatrix()的工作原理不同,因为它将给定矩阵与对象的局部变换矩阵相乘。这导致给定和现有转换的组合。
three.js R104