Right now I'm doing this as follows:
- There is a path the camera position is constrained to. The camera is being moved along that path.
- The camera has got a TrackTo constraint and is always targeted to a camera target (an empty object).
- There is another path where the camera target is constrained to and is being moved along that path.
- The TrackTo constraint for the camera does also have the TargetZ option activated. This means that the camera can be rolled by rotating the camera target.
Now the camera movement can be implemented by setting keyframes for camera and camera target on their respective paths as well as rotation of the camera target.
Although it is somewhat tricky to implement more or less realistic camera flights that way, it is working fairly well for most cases.
However, there are some issues with rolling the camera. At some occasions the rolling angle does "overshoot" somewhat. In theory, this can be compensated by adding more keyframes. However, the more keyframes are set, the less fluid the result. So this is not really an option. I did not pin down that fully yet, but my suspicion is that the issue is bound to the fact that the camera target is being rotated on all angles. When the camera target is making turns on its path, this is likely also manipulating the resulting orientation of the target, hence destroying the intended orientation. I did also try to change only one angle of the target while the other two are constantly 0. This seems to improve the situation, but there appear other problems in some occasions. So this is not a solution.
So is there some way how to roll the camera independently from the target?
I know that this would be possible by dropping the target at all and move the camera free resp. only along its path. However, with that technique it seems virtually impossible to keep the other camera angles on stable paths and the result is awful.
Thanks, Mario
Update:
For illustration purposes here are two screenshots with a more or less "straight" and a "banked" camera orientation:
Rotation of the camera is achieved by rotating the camera target, which is being located here at the center of the viewport right at the horizon. Intuitively one would assume that the banking of the camera is being smoothly interpolated between two banking angles. Mostly this is also working nicely. But not always....