unity – Touch control pan 3D map

I’m working on recreating the board game “Hex” as a mobile game. I’m working on implementing zoom and pan features using two fingers. I feel like I managed to get the zoom to work, but the pan moves more than I want it to and I feel like it is because I’m missing something and must be somewhere in the conversion to World Space coordinates. if I could get some help it would be greatly appreciated.

For reference, oldMidpoint is initialized to 0 earlier on.

        Touch touchA = Input.GetTouch(0);
        Touch touchB = Input.GetTouch(1);

        Vector3 midpoint = (touchA.position + touchB.position) / 2;
        if(midpoint != oldMidpoint)
            if(oldMidpoint == Vector3.zero)
                oldMidpoint = midpoint;

            Vector3 moveDistance = oldMidpoint - midpoint;
            moveDistance.y = 0;

            Camera.main.transform.Translate(moveDistance, Space.World);

            oldMidpoint = midpoint;