I have constrained a camera to track to an empty, and I've constrained the empty to limit its distance from the camera to outside 5 m and inside 10 m. I have parented the camera with the track-to constraint to another camera with a follow-path constraint.
The parent camera was used to set up the path by flying it to find good shots and placing empties there, creating a single vertex at the first empty, extruding to each succeeding empty, converting the line to a curve, changing spline type to bezier, smoothing and refining. Then the parent camera was constrained to the path and the path was animated. The timeline was scrubbed to move the camera to each empty on the path, the camera constrained to track was made the active camera, and from camera view the tracked empty was moved to align the view with the desired shot. The location of the tracked empty was then keyframed.
This workflow works nicely for me except for a couple of glitches. These could be solved by creating a path through the locations where the tracked empty was keyframed and using that to direct the rotation of the camera, but that involves a lot of extra steps,and a lot of these shots need to be set up. I hoped that somehow refining the constraints would yield a better solution, but I'm not very familiar with constraints and don't know if that is possible.
First, because the empty can't come closer than 5 m from the camera, it gets dragged by it in a way that occasionally causes problems - it doesn't move on a straight line between keyframe points. It chooses a path that keeps it 5 m from the camera, even though it is allowed to be up to 10 m from the camera, and if it combined those rules it could move in a straight line between points. Second, I mistakenly set up a situation that would oblige the empty to come too close to the camera, and even though I corrected that by replacing the keyframes, the empty still veers wildly between the keyframe points involved, like it remembers the path that was previously calculated to satisfy the limit distance constraint. In fact I can't make it move further than 5 m from the camera, it acts as though it is supposed to stay exactly 5 m away.
When there is no Limit Distance constraints on the tracking empty, lining up shots by using it breaks after a short time. The shots are lined up while in camera view. Moving the empty from this perspective causes it to converge on the camera after a short time and then it is uncontrollable.
But getting the camera to behave properly is very slow and difficult any other way. If it looks at an empty on a path, the movement of the empty on the path has to be offset repeatedly to get the desired effect. It's very hard to get that right, especially if the path of the camera and the path between pause points of the empty is complex. If the rotation of the camera is keyframed, it's very hard to get it to focus on something for any length of time as it moves. I have done the kind of architectural flythrough video I'm working on now before. I've spent a day and a half trying to set up an empty on a path to behave as desired only to accept a mediocre result because I was out of time.
Here is an illustration of the problem behaviour at the moment. Note that the system works very well until this end bit.
Here is the console window provided by a reader of the question.
Is there a way to tweak these constraints to eliminate these problems?