Miscellaneous Forums > Graphical

Question about background culling

(1/2) > >>

namelivia:
Hello everyone, I was attempting to load a Final Fantasy VII scene into webGL.
The thing is that I didn't want to load directly data extracted from the game because I wanted to find a method not to remake the game, I wanted also to make a way to extend it or create similar content using Blender, and the easiest way possible.

I've been able to recreate an scene out of a background picture,  as seen in my blog post:

http://namelivia.com/final-fantasy-vii-scene-reconstruction-using-blender/

And I was pretty optimistic. From a picture I got an automatic method to reconstruct the camera, and then creating the walkmesh it's pretty easy with a very basic Blender knowledge.
Then, I have been able to load and display the scene into a webpage, and also to display some models on top of it. Keyboard input and collision management is also successfully implemented.
http://namelivia.com/importing-the-reconstructed-final-fantasy-vii-scene-into-three-js/

Now I'm facing the problem of background culling, this is the problem of knowing when the character is in front or behind, for example a table that is placed in the background image. I've been reading a lot about, and in most of the articles it says that I need a depth map. But this means that I have to remodel the whole background and that was the point I was trying to avoid.

I wanted to ask here since you are more experienced in Final Fantasy VII tech issues like me, how to attack this problem and if there is a way to determine the depth of certain background parts without modelling the whole thing.

For now I will be trying this approach:
http://www.blenderguru.com/tutorials/camera-mapping-tutorial-v2/

Thank you!

Kaldarasha:
Extract the backgrounds with Palmer . It will extract them as already cutted to the different layers.

Mayo Master:

--- Quote from: namelivia on 2015-01-10 14:42:29 ---Hello everyone, I was attempting to load a Final Fantasy VII scene into webGL.
The thing is that I didn't want to load directly data extracted from the game because I wanted to find a method not to remake the game, I wanted also to make a way to extend it or create similar content using Blender, and the easiest way possible.

I've been able to recreate an scene out of a background picture,  as seen in my blog post:

http://namelivia.com/final-fantasy-vii-scene-reconstruction-using-blender/

And I was pretty optimistic. From a picture I got an automatic method to reconstruct the camera, and then creating the walkmesh it's pretty easy with a very basic Blender knowledge.
Then, I have been able to load and display the scene into a webpage, and also to display some models on top of it. Keyboard input and collision management is also successfully implemented.
http://namelivia.com/importing-the-reconstructed-final-fantasy-vii-scene-into-three-js/

Now I'm facing the problem of background culling, this is the problem of knowing when the character is in front or behind, for example a table that is placed in the background image. I've been reading a lot about, and in most of the articles it says that I need a depth map. But this means that I have to remodel the whole background and that was the point I was trying to avoid.

I wanted to ask here since you are more experienced in Final Fantasy VII tech issues like me, how to attack this problem and if there is a way to determine the depth of certain background parts without modelling the whole thing.

For now I will be trying this approach:
http://www.blenderguru.com/tutorials/camera-mapping-tutorial-v2/

Thank you!


--- End quote ---

As a whole: please check the Team Avalanche subforum. That's what we've been doing for a few years, now! We also have the tools to retrieve the walkmesh and camera data. As Kaldarasha's mentioned, the making of layers is made via Palmer, we have a detailed tutorial about the process. I'd be happy to give you further details - you're welcome to post on Team Avalanche or just PM me.

namelivia:
Thanks everyone for the fast and precise answers.

Okay, so if I got it right, depth is treated using layers, so there are just a few layers with constant depth values like  for example.

layer 1 -> depth = 3
layer 2 -> depth = 6
layer 3 -> depth = 20

Right? And these layers and it's depth value can be extracted using Palmer.

Then I should import this into Blender and generate a depth map that I'll be importing into my engine (threejs+webgl).
But does Palmer get the depth value? How do I know that value for each layer?
I need those values to know in my engine if the character is in front or behind an object.

Mayo Master:
As far as I understand, the game handles depth as follows:
The scene is actually decomposed into several layers, which you can obtain with Palmer. Palmer allows you to import your own modified images , which can then be processed and tiled for them to be handled by the game engine - they are scrambled and look like this:



Now, in the game, the character walks on the walkmesh. Depending on which triangle of the walkmesh the character walks on, some tiles are displayed or remain hidden, and can be displayed over the character. Palmer does not give depth values, it rather gives "what object should be on what layer", and at the moment the way these layers are pre-cut and tiled is a constraint (we can't design layers the way we would like, so here's a strong limitation on how much you can create). If you're interested in the possibility of removing this constraint, I think our best lead is what the folks at the q-gears forum is doing (working on an alternate game engine, actually) - but I don't see that happening in the near future.

Navigation

[0] Message Index

[#] Next page

Go to full version