0

如果我这样做

mesh.applyMatrix(theMatrix);
render();

对象被转换(以一种非常奇怪的方式,但在这里无关紧要),但是当我按照 mrdoob 的建议将矩阵应用于几何时

mesh.geometry.applyMatrix(theMatrix);
render();

对象仅在第一次被转换。我不能让它动态移动,例如,当轨迹栏滑动时。

我错过了什么?

三.js r.58

更新

我注意到只有在使用 WebGL 渲染器时才会发生这种情况。使用画布渲染器可以转换对象。

4

2 回答 2

0

也许您需要设置一些网格/几何标志来告诉 three.js 更新 - 您是否按照https://github.com/mrdoob/three.js/wiki/Updatestrue中的描述尝试过这个?

于 2013-06-20T15:44:42.940 回答
0

是的,当您设置对象矩阵时,它可以工作。但是当three.js 渲染场景时,它会根据对象的位置、比例、旋转重新计算矩阵。如果您不想自动更新矩阵,只需设置object.matrixAutoUpdate to false.

于 2016-10-25T01:58:51.087 回答