Question about Pre-rendered Scene with 3D character

Started by
6 comments, last by qqicq 12 years, 9 months ago
Hi all,

I am now trying to create a simple, demo rpg using the pre-rendered scene (2d background) technique.

I know the basic rendering process of the pre-rendered scene: first using a 3d modeling tool to create the 3D scene
then render it as a still picture and use it as the pre-rendered scene.

I also use a "rough" model of the scene and get the z-value from the rough model to enable collision detection.

However, the question comes here, how can I scroll the pre-rendered scene?
As I know, if I just move the camera, the perspective of the 3d model will change so that the 2D pre-rendered scene may not match to the rough 3D model.

So, I want to know how can I scroll a pre-rendered scene perfectly if my scene is very large.

Thanks all,
gogogo
Advertisement
Well you should not scroll it, unless you render it in a isometric projection (look at Sacred, the game's world is 2D with 3D character, and it scrolls)
But I noticed that FF7 was using pre-rendered technique and it can scroll!!

How they can do that?

Thanks
Use the same orthographic camera when rendering the pre-rendered scene, and the real-time 3d character. When you pan an ortho camera, the perspective doesn't change.
But in FF7, it seems the camera is not orth and is perspective
Am I right?

Thanks
FF7 isn't true perspective. A lot of the screens don't really looked rendered either; I bet a lot of it was just drawn up in a paint program. I actually think maybe the characters are rendered orthographically, but when the player is moving to a more distant part of the background, the model is shrunk. FF7 is a good example of mixing 2d and 3d in a way nobody really does anymore.

You CAN do true perspective, and scroll, but the scrolling will be limited and its tricky. Suppose your screen has a resolution of 800 by 600 (small I know...). Suppose you render the background plus 3d perspective characters at something higher, like 1600 by 1200. You now have a large image you can select a 800 by 600 'window' of to display. This will give you scrolling. Doing a pan-and-scan like this to reveal more the the scene has a very different feel to it than moving/rotating the camera.

Of course, the optimization is to not render at 1600 by 1200, but instead mess with the projection matrix so you can zoom and pan into a rectangular subset of your 'plain old projection matrix.'

FF7 isn't true perspective. A lot of the screens don't really looked rendered either; I bet a lot of it was just drawn up in a paint program. I actually think maybe the characters are rendered orthographically, but when the player is moving to a more distant part of the background, the model is shrunk. FF7 is a good example of mixing 2d and 3d in a way nobody really does anymore.

You CAN do true perspective, and scroll, but the scrolling will be limited and its tricky. Suppose your screen has a resolution of 800 by 600 (small I know...). Suppose you render the background plus 3d perspective characters at something higher, like 1600 by 1200. You now have a large image you can select a 800 by 600 'window' of to display. This will give you scrolling. Doing a pan-and-scan like this to reveal more the the scene has a very different feel to it than moving/rotating the camera.

Of course, the optimization is to not render at 1600 by 1200, but instead mess with the projection matrix so you can zoom and pan into a rectangular subset of your 'plain old projection matrix.'


Thanks to your reply, but I still have a question on that.

You say we can just blit the portion of the big background, but how to deal with the rough scene model?, If we just use world transform to move the scene model,
I think the perspective angle must be different to the portion in the bg. For example, I have a tower in the left side in my bg, after I blit the portion of the left part, and I
transform my scene model so that the left part is place in the middle to the camera. As the bg is already rendered, the perspective will not match with the real-time
model now.

So, how can I solve this?

Thanks
Can anyone help me?

This topic is closed to new replies.

Advertisement