所以我一直在使用轨迹球控制,最近我注意到一个奇怪的错误我敢说。 如果你平移然后缩小你的新位置,控制开始非常奇怪,拉动原点的方向(平移越大,问题越重要)。
我整理了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 ]
答案 0 :(得分:4)
轨迹球控件是示例的一部分,而不是库,因此您可以随意破解它。
我认为发生的事情是“平移后缩小”工作正常,直到你达到最大距离 - 然后相机“滑动”。
您可以在这个更新的小提琴中更清楚地看到这一点,它显示了内部和外部球体:http://jsfiddle.net/z52dP/1/
如果您认为可以改进代码,请在three.js github网站上发布建议。
three.js r.54
.