我正在使用OrbitControls.js进行简单的Three.js演示。
我想更改OrbitControls中的平移行为。当前,平移相机时,它将在垂直于观看方向的平面中移动相机。我想对其进行更改,以使相机与地面保持恒定距离并平行于地面移动。 Google地球使用类似的控件设置。
编辑:我应该首先提到这个细节,但是我也希望您单击并开始拖动的点在整个拖动过程中都直接位于光标下方。鼠标移动与用户期望在屏幕上发生的 Action 之间需要牢固的联系。否则,当我尝试在场景中移动时,感觉好像在“滑倒”。
有人可以给我关于如何完成此操作的高级说明(有或没有OrbitControls.js)?
最佳答案
编辑:OrbitControls
现在支持平行于“地平面”的平移,这是默认设置。
要平移到屏幕空间(旧行为),请设置:
controls.screenSpacePanning = true;
还可以使用
MapControls
,它具有类似于Google Earth的API。three.js r.94
关于Three.js和OrbitControls.js-与地面平行的摇摄相机(例如Google Earth),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26185074/