Kaynağa Gözat

BUG: zoom with negative factor never gets damped (#9863)

When using a mouse wheel to zoom in and out quickly, sometimes zoomCamera's factor can go negative. When that happens, _zoomStart.y never gets reset to 0, causing zooming to stop. The fix is to always update _zoomStart, but only update _eye when (factor != 1.0 && zoom > 0.0) .
mhalle 8 yıl önce
ebeveyn
işleme
43f8b76c01
1 değiştirilmiş dosya ile 6 ekleme ve 6 silme
  1. 6 6
      examples/js/controls/TrackballControls.js

+ 6 - 6
examples/js/controls/TrackballControls.js

@@ -218,16 +218,16 @@ THREE.TrackballControls = function ( object, domElement ) {
 			if ( factor !== 1.0 && factor > 0.0 ) {
 
 				_eye.multiplyScalar( factor );
+				
+			}
 
-				if ( _this.staticMoving ) {
-
-					_zoomStart.copy( _zoomEnd );
+			if ( _this.staticMoving ) {
 
-				} else {
+				_zoomStart.copy( _zoomEnd );
 
-					_zoomStart.y += ( _zoomEnd.y - _zoomStart.y ) * this.dynamicDampingFactor;
+			} else {
 
-				}
+				_zoomStart.y += ( _zoomEnd.y - _zoomStart.y ) * this.dynamicDampingFactor;
 
 			}