protected virtual void OnTwinTouch() { if (!ZoomStarted) { ZoomStarted = true; LastZoomCenter = TheCamera.Camera.ScreenToWorldPoint((Input.GetTouch(0).position + Input.GetTouch(1).position) / 2f); } if (LastTouchPosition.Length > 1) { float deltaScale = (LastTouchPosition [0] - LastTouchPosition [1]).magnitude - (Input.GetTouch(0).position - Input.GetTouch(1).position).magnitude; TheCamera.Zoom( LastZoomCenter, ZoomSpeed * deltaScale / TheCamera.Camera.ScreenToWorldPoint(Vector3.one).magnitude ); IsInteractionStatic = false; } UpdateTouchPositions(); }