Offset Viewport seems not right

I just want to achieve such effect like : On TopView, if you press the up arrow, the whole rendered scene will move up,like a rendered texture be drawn upward. Obviously ,just change the camera’s position will change the final scene’s looking. While just change the camera’s output to be a rendered texture will lose the interactivity.
I’ve also tried the viewport change, like

if(press the up arrow)
camera.rect = new Rect (0f, 0.2f, 1f, 1f);

but the final output scene is stretched.
How to achieve the effect like
http://www.lovemyhome.de/decorator.aspx?lang=en
while On topView, you can change the “topView camera’s position”?

This thread explains how to make a camera with an oblique projection matrix. If everything in the camera view takes place in a single plane then you can probably get the effect you want by moving the camera up and down while changing the vertical obliqueness of the camera. (I can give you more information on how to do this if you can describe the set-up of the scene in a bit more detail, position of the camera and viewed objects, etc.)