Prerendered Backgrounds Help!(Final fantasy\Resident Evil Like)

Blitz3D Forums/Blitz3D Programming/Prerendered Backgrounds Help!(Final fantasy\Resident Evil Like)

KovaSteel(Posted 2003) [#1]
Does anyone knows how to set up these pre rendered backgrounds like in the Final fantasy series(7-9) or resident evil with collisions?I`ve already created my background in studio max but it is very hard till now to know a way how to implement collision on it with a 3d character????Should I use ghosted objects to make the collision with my model or is there any alternative method??

If there ain`t, I`ll be compelled to start creating real-time backgrounds(Final fantasy 10 like) and that sux!!!!


poopla(Posted 2003) [#2]
Can I ask how long you've been programming? This is a semi complex subject.


TeraBit(Posted 2003) [#3]
I did a demo of this technique a while back. The basic 'Forge' engine with source is available here Download 1.5 Meg.

Source is included.


Sweenie(Posted 2003) [#4]
Make a copy of the roommesh(from 3DS max), but with VERY simple geometry.
No textures or materials.
Then align it over the rendered picture.
Set the entityalpha to 0, that way it's not visible but still used in collisions.

It will get trickier if you allow the character to walk behind stuff.


Rob(Posted 2003) [#5]
Terabit's solution is what you need as it allows you to retain the clipping information. For example, the 3d character walking behind some pre-rendered scenery.


TeraBit(Posted 2003) [#6]
Pretty much the solution goes:

1) Hide everything except the Room. Set Room to Alpha 1
2) Render 3D room normally to imprint the ZBuffer
3) Draw the 2D pre-rendered image onto the backbuffer
4) Set the camera to not clear Zbuffer/Backbuffer with CameraClsMode.
5) Unhide everything and set room to Alpha 0
Render everything! (But the room is hidden)

2D Resident Evil in a can.


Rob(Posted 2003) [#7]
Trouble is, you're still rendering those horribly high polygon counts. It might as well be realtime.

I would certainly like to:
Lockbuffer ZBuffer()
Draw images, pixels, etc (brighter the pixel, the closer it is)
UnlockBuffer ZBuffer()

PLEASE MARK! PLEASE! PLEEEEEAAAAAAAAAAASEEEEEEEE!


TeraBit(Posted 2003) [#8]
Locking the ZBuffer would cause problems! If you did that, then any 3D characters you rendered in 3D (i.e. your player, zombies etc.) would have no z-information and so couldn't be in front or behind eachother.

What you need is a set of copy commands for the ZBuffer.

buf = StoreZBuffer(x,y,w,h)
DrawZBuffer buf,x,y

Then the process would be

1) Render Hi Poly room in 3D
2) StoreZBuffer

3) DrawZBuffer (Really Quick)
4) Blit 2D Room Image (Really Quick)
5) Render3D Characters with Room as Alpha 0 (Still pretty quick!)

Repeat steps 3 to 5 at a Really rapid pace!


ronbravo(Posted 2003) [#9]
Would it be possible to use 3D sprites for the objects in the room?


TeraBit(Posted 2003) [#10]
Yes possible, but they would behave as cardboard cutouts when interacting with the environment.


Hotcakes(Posted 2003) [#11]
Ummm, FF7-9 used prerendered pictures. Not like Resident Evil, which prerendered on the fly.


KovaSteel(Posted 2003) [#12]
I had tried sweenie`s technique before posting but aligning the mesh as on the picture proves to be very difficult!!

Terrabit, could you please tell me where I can download your demo??

And also,is it possible to have a 3d model have collision with sprites or pictures??

If using pictures proves to be that complex, I think i`ll have to consider using 3d scenes and look for a modeller!!lol!!


Rob(Posted 2003) [#13]
Res evil used pre-rendered pictures too AFAIK.

Kova: terabit posted the link above you.


Paul "Taiphoz"(Posted 2003) [#14]
What id do is this.

place some crappy looking blocks or shapes on screen for collisions, then hide them and draw your 2D render over it all, then just check the collisions from your char to the ugly (low polly) box's and vuala.

It will take a bit of fiddling to positions the collision stuff in the right place though.

What I did was model a single square tube, and shape it where all the walls and collisions points were, then I just loaded this in per area. and tested my collisions off of it.

Hope this helps.


skn3(Posted 2003) [#15]
To align the scene in max and in your game do this.

Create 2 pivots that you save with your file (from max)
1 is for your camera. 1 is for your camera target.

When rendering, use these pivots to position and align your camera(max camera)

Now in blitz you can just place your camera at the camera pivot, and pointentity at the target pivot.. voila!


KovaSteel(Posted 2003) [#16]
I`ll try your techniques skn3 and sorry, didn`t noticed there a link under the "here"!

However I think I`ll only use prerendered scene at a minimum and I`ll try to use real time ones for most of the time!