ThreeJS使用OrbitControls怪异的相机围绕网格移动

时间:2018-12-30 18:30:34

标签: three.js

最近我已经从R95迁移到R99,似乎在处理新的Perspective相机更新以及OrbitControls时遇到一些问题。

直到现在,相机还是一个Group的子代,其中包含一个网格作为主要参考点。 (当容器移动时,相机也随之移动)

在更新R96之后,我注意到此行为不再正常工作,导致摄影机仍沿网格运动,但是平移,旋转摄影机导致某种旋转,而不是围绕网格(这是参考点),而是围绕空间中的隐形点

我还注意到这与容器组的当前位置有关,因为当组位于(0,0,0)时容器工作正常,但当位置不同时容器工作正常。

唯一的区别在于以下示例:cube.position.set(10, 10, 10);

这里是一个例子:

1 个答案:

答案 0 :(得分:3)

OrbitControls并非设计为支持旋转或平移父级的子级的摄像机。

以前,您的代码之所以有效,是因为camera.lookAt()忽略了父级的转换;现在camera.lookAt()接受了转换。

您看到的行为变化是由于this PR造成的。

three.js r.99