I’m not sure whether this belongs to the math section or graphics
section, but I decided to put it here.
I’m making a 3D RTS with some fellow students, and I would like to
achieve a camera zoom function identical to that of the Command&Conquer3
The camera can rotate around the world’s up axis, it can move around the
xz-plane (directX coord system)
and zooming goes like this:
So it’s not really a zoom, you just translate the camera closer to the
terrain. The look vector of the camera would be the tangent to the
function at that point.
I can’t really figure out a way to do it, I’ve been thinking I might
achieve something like it with calculus,
where the yPosition, (as well as x & z position, depending on the
rotation) of the camera, and the angle of look vector of the camera
relative to an xz-plane would be an output of the function, with as
input the zoom amount(0.0f->1.0f).
But I’m not sure at all what function I would have to take.
Aside from that, the question rises on how to handle bounds-checking
when your position of the camera is really divided up into two parts:
it’s actual position, and the position of a point on the function, since
you don’t want to get to a point where you can’t zoom in any further due
to the camera getting out of bounds.
So, what would be a proper way to implement this?
EDIT: example: at (2:14), (6:46), (6:52), (8:03), (8:16)
(you have to be attentive to spot the movement though)
Please log in or register to post a reply.