void LateUpdate() { // Наведение фокуса камеры float dt = Time.deltaTime; // Наводим камеру на новое место _targetOffset = GetNewOffset(); _currentOffset = Vector2.Lerp(_currentOffset, _targetOffset, MoveSpeed * dt); // Если камера навелась на фокус - фиксируем положение if (Mathf.Abs(_targetOffset.x - _currentOffset.x) < 0.0025f) { _currentOffset.x = _targetOffset.x; } if (Mathf.Abs(_targetOffset.y - _currentOffset.y) < 0.0025f) { _currentOffset.y = _targetOffset.y; } var prevPosition = _position; _position = GetNewPosition(); _position = Vector2.Lerp(prevPosition, _position, FollowSpeed * dt); //limitBounds(_position); _zoom = XMath.Lerp(_zoom, GetNewZoom(), ZoomSpeed * dt); _zoom = Mathf.Min(_zoom, 1f); UpdateTransform(); }