轨迹球控制表现奇怪

时间:2013-01-02 19:38:35

标签: javascript controls three.js webgl trackball

所以我一直在使用轨迹球控制,最近我注意到一个奇怪的错误我敢说。 如果你平移然后缩小你的新位置,控制开始非常奇怪,拉动原点的方向(平移越大,问题越重要)。

我整理了fiddle来证明这个问题。 只需远离球(右击+鼠标移动)。然后缩小。

我不是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 ]

1 个答案:

答案 0 :(得分:4)

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

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

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

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

  5. three.js r.54

    .