Matrix Three.js:对象不是';当矩阵应用于几何体时,t变换
如果我这样做Matrix Three.js:对象不是';当矩阵应用于几何体时,t变换,matrix,three.js,transformation,mesh,Matrix,Three.js,Transformation,Mesh,如果我这样做 mesh.applyMatrix(theMatrix); render(); 对象被变换(以一种非常奇怪的方式,但在这里它并不重要),但当我将矩阵应用于几何体时,如mrdoob 仅第一次变换对象。例如,当轨迹条滑动时,我无法使其动态移动 我错过了什么 3.js r.58 更新 我注意到,只有在使用WebGL渲染器时才会发生这种情况。使用画布渲染器,对象将被变换。也许您需要将一些网格/几何体标志设置为true以通知three.js进行更新--您是否按照中所述尝试过此操作?是的,当您
mesh.applyMatrix(theMatrix);
render();
对象被变换(以一种非常奇怪的方式,但在这里它并不重要),但当我将矩阵应用于几何体时,如mrdoob
仅第一次变换对象。例如,当轨迹条滑动时,我无法使其动态移动
我错过了什么
3.js r.58
更新
我注意到,只有在使用WebGL渲染器时才会发生这种情况。使用画布渲染器,对象将被变换。也许您需要将一些网格/几何体标志设置为
true
以通知three.js进行更新--您是否按照中所述尝试过此操作?是的,当您设置对象矩阵时,它会起作用。但是当three.js渲染场景时,它将根据对象的位置、比例和旋转重新计算矩阵。如果您不想自动更新矩阵,只需将object.matrixAutoUpdate设置为false。
我注意到只有在使用WebGL渲染器时才会发生这种情况。使用画布渲染器,对象将被转换。除非您熟悉库的内部工作原理并了解这样做的后果,否则不要设置matrixAutoUpdate=false
。
mesh.geometry.applyMatrix(theMatrix);
render();