diff --git a/packages/dev/core/src/Cameras/Inputs/flyCameraMouseInput.ts b/packages/dev/core/src/Cameras/Inputs/flyCameraMouseInput.ts index 388335e6ea0..00bf5a5e83a 100644 --- a/packages/dev/core/src/Cameras/Inputs/flyCameraMouseInput.ts +++ b/packages/dev/core/src/Cameras/Inputs/flyCameraMouseInput.ts @@ -240,12 +240,10 @@ export class FlyCameraMouseInput implements ICameraInput { */ private _rotateCamera(offsetX: number, offsetY: number): void { const camera = this.camera; - const handednessMultiplier = camera._calculateHandednessMultiplier(); - - offsetX *= handednessMultiplier; - const x = offsetX / this.angularSensibility; - const y = offsetY / this.angularSensibility; + const handednessMultiplier = camera._calculateHandednessMultiplier(); + const x = (offsetX * handednessMultiplier) / this.angularSensibility; + const y = (offsetY * handednessMultiplier) / this.angularSensibility; // Initialize to current rotation. const currentRotation = Quaternion.RotationYawPitchRoll(camera.rotation.y, camera.rotation.x, camera.rotation.z); diff --git a/packages/dev/core/src/Cameras/Inputs/freeCameraMouseInput.ts b/packages/dev/core/src/Cameras/Inputs/freeCameraMouseInput.ts index 5387bb6d971..3ba80ffa1b8 100644 --- a/packages/dev/core/src/Cameras/Inputs/freeCameraMouseInput.ts +++ b/packages/dev/core/src/Cameras/Inputs/freeCameraMouseInput.ts @@ -144,7 +144,7 @@ export class FreeCameraMouseInput implements ICameraInput { } else if (this._previousPosition) { const handednessMultiplier = this.camera._calculateHandednessMultiplier(); const offsetX = (evt.clientX - this._previousPosition.x) * handednessMultiplier; - const offsetY = evt.clientY - this._previousPosition.y; + const offsetY = (evt.clientY - this._previousPosition.y) * handednessMultiplier; if (this._allowCameraRotation) { this.camera.cameraRotation.y += offsetX / this.angularSensibility; @@ -171,12 +171,8 @@ export class FreeCameraMouseInput implements ICameraInput { } const handednessMultiplier = this.camera._calculateHandednessMultiplier(); - const offsetX = evt.movementX * handednessMultiplier; - - this.camera.cameraRotation.y += offsetX / this.angularSensibility; - - const offsetY = evt.movementY; - this.camera.cameraRotation.x += offsetY / this.angularSensibility; + this.camera.cameraRotation.y += (evt.movementX * handednessMultiplier) / this.angularSensibility; + this.camera.cameraRotation.x += (evt.movementY * handednessMultiplier) / this.angularSensibility; this._previousPosition = null; diff --git a/packages/dev/core/src/Cameras/Inputs/freeCameraTouchInput.ts b/packages/dev/core/src/Cameras/Inputs/freeCameraTouchInput.ts index ad210b6a919..473283cc1e1 100644 --- a/packages/dev/core/src/Cameras/Inputs/freeCameraTouchInput.ts +++ b/packages/dev/core/src/Cameras/Inputs/freeCameraTouchInput.ts @@ -190,12 +190,12 @@ export class FreeCameraTouchInput implements ICameraInput { const camera = this.camera; const handednessMultiplier = camera._calculateHandednessMultiplier(); - camera.cameraRotation.y = (handednessMultiplier * this._offsetX) / this.touchAngularSensibility; + camera.cameraRotation.y = (this._offsetX * handednessMultiplier) / this.touchAngularSensibility; const rotateCamera = (this.singleFingerRotate && this._pointerPressed.length === 1) || (!this.singleFingerRotate && this._pointerPressed.length > 1); if (rotateCamera) { - camera.cameraRotation.x = -this._offsetY / this.touchAngularSensibility; + camera.cameraRotation.x = -(this._offsetY * handednessMultiplier) / this.touchAngularSensibility; } else { const speed = camera._computeLocalCameraSpeed(); const direction = new Vector3(0, 0, this.touchMoveSensibility !== 0 ? (speed * this._offsetY) / this.touchMoveSensibility : 0);