所以我一直在使用轨迹球控件,最近我发现我敢说一个奇怪的错误。如果您平移然后缩小新位置,控件会开始非常奇怪地动作,拉动原点的方向(平移越大,问题越严重)。
我整理了一个演示这个问题的小提琴。只需平移远离球(右键单击 + 鼠标移动)。然后缩小。
我不是 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 ]