2013-01-02 40 views
2

所以我一直在使用轨迹球控制,最近我注意到一个奇怪的bug我敢说。 如果您平移并缩小新位置,则控件开始非常奇怪地动作,拉动原点的方向(泛越大,问题越重要)。轨迹球控制行为奇怪

我把一个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 ] 

回答

4
  1. 轨迹球控制是的例子,而不是库的一部分,所以你可以自由在其破解。

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

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

  4. 如果你认为你可以提高代码,请张贴在三个建议。 js github网站。

three.js所r.54

. 
+0

所以我不知道trackballcontrols就是一个例子。这更有意义。我一直想知道为什么它是一个单独的JavaScript文件。我将尝试以编程方式传送端口的能力,使其“更好”。我发现它非常有用,只是有一些缺陷。 – snowskater