2

所以我一直在使用轨迹球控件,最近我发现我敢说一个奇怪的错误。如果您平移然后缩小新位置,控件会开始非常奇怪地动作,拉动原点的方向(平移越大,问题越严重)。

我整理了一个演示这个问题的小提琴。只需平移远离球(右键单击 + 鼠标移动)。然后缩小。

我不是 100% 确定这不是我的错,但我觉得这个例子非常简单和万无一失。

以下是我启用的一些设置:

var controls = new THREE.TrackballControls(this.camera, this.renderer.domElement);
var radius = 14;// scalar value used to determine relative zoom distances
controls.rotateSpeed = 1;
controls.zoomSpeed = 1.2;
controls.panSpeed = 1;

controls.noZoom = false;
controls.noPan = false;

controls.staticMoving = false;
controls.dynamicDampingFactor = 0.3;

controls.minDistance = radius * 1.1;
controls.maxDistance = radius * 25;

controls.keys = [ 65, 83, 68 ]; // [ rotateKey, zoomKey, panKey ]
4

1 回答 1

4
  1. 轨迹球控件是示例的一部分,而不是库,因此您可以随意破解它。

  2. 我认为正在发生的事情是“平移后缩小”工作正常,直到您达到最大距离 - 然后相机“滑动”。

  3. 您可以在这个更新的小提琴中更清楚地看到这一点,它显示了内部和外部球体:http: //jsfiddle.net/z52dP/1/

  4. 如果您认为可以改进代码,请在 three.js github 站点上提出建议。

三.js r.54

.
于 2013-01-02T20:14:27.497 回答