How to translate a camera forward and back(basically a zoom) according to the distance of two objects?

So I have two objects within my scene(two characters) at a set distance between one another. This is a 2D fighting game, and depending on the distance between the two objects the camera will either zoom in to see the combat or zoom out to see them .... do whatever they want. I have no idea how to implement this concept and so far I have the code that calculates the distance between the two objects.

Thanks <3

var distance = Vector3.Distance(object1.transform.position, object2.transform.position);

Translate the camera away from a starting point?

so every frame do something like:

CameraObject.transform.position = new Vector3( 0, 0, startingZcoord + k*distance);

where k is the amount of influence it picks up from distance.

Or if your camera has some rotation at an angle, transform it by its back vector:

Vector3 moveDir = k * transform.TransformDirection(new Vector3( 0, 0, -1)); CameraObject.transform.position += moveDir * Time.deltaTime;