- Home /
Move final image?
Is there a way in Unity to move the final resulting image?
Here is the case: imagine Diablo III, imagine the player receives an ability called "sniper shot" that allows them to aim and kill enemies two screens away from them. Now when they use the ability they can move the camera away from the character. That is pretty simple to do in Unity right? Just move the camera. The problem is, when you JUST move the camera, in Perspective setting, you end up getting an image with a different perspective (obviously). For instance, your hero, when centered on the screen, can be seen from head to toes (watching from the top of the screen towards the bottom), however, if you move the camera far enough to the top, at some point due to perspective change the hero will be viewed toes to head (from the top of the screen towards the bottom).
Now ordinary, when I was writing my own engine, I could move the final image without changing the perspective. The result was akin to rendering the scene into a larger than original texture and then showing only the upper bit of the resulting texture. Only no extra pixels were rendered. The way to do it was to change the translation of the projection matrix. That's it - just change it's translation (M41 for X, M42 for Y). However, it produces broken images in Unity and I guess it is somehow connected to the way shadow cameras interact with ordinary ones (maybe?). Basically it is impossible.
Long story short I want to know if there is a way to move the final image in the same way it moves when you change the translationof the projection matrix.