Hello everyone!
I’m Niccolò, and I’m working for 3 years as a Java Developer (J2EE/J2SE/Android).
Are at least 5 years that I’m trying to develop an old school Survival Horror (like first chapter of Resident Evil and in particular Alone in the Dark trilogy), but I never released a complete creation, because every time I changed to a different technology (I tried different ways in 2D, like classical 2D, isometric 2D, pixel art etc…, generally using processing like graphics engine) and something in 3D with OGRE (I used it during university).
Now I want to try again using JME3, (because I’m more familiar with Java than with C++).
I tried something, (having used OGRE I am not new to scene-graph oriented engine) and it seems very good, so I will try to use it like a definitive solution for my idea.
So which is my idea…
My idea is to create a survival horror with:
- Fixed Camera;
- Pre-Rendered scenarios;
So, player, enemies and 3D object and room will be modeled in “low poly” and each model displayed inside the scene, and the camera will be positioned and oriented in a precise position.
After a HI-res room will be rendered with blender (with rendering camera in the same position of JME3 camera) and after edited with gimp or photoshop.
Ok until here I think nothing of difficult, I just have to study how display the HI-Res render in background and the 3D scene over the background (NOT visible, just to use it for collisions with the active objects on the scene).
Now the problem is: how to display a 2D element with a depth, for example a table, where the player can pass in front and behind (or a column like in the image).
Because for my purpose a simple textured model is not ok (textured mesh ok for dynamic objects but for statics I wanted to cover them with a pre-rendered images (I hope the problem it’s clear)).
I remember with OGRE i used the following strategy:
I first draw the pre-rendered background (including objects like tables, columns etc…)
I put the meshes of the room inside the scene (not visible, used only for collisions).
I put in the room the objects like tables and columns, in the MATERIALS used for these object I set the parameter:
colour_write off
depth_write on
In this way the meshes are transparent, but If the player walks behind the mesh, it will be hidden from it.
If is possibile I would to use another strategy in JME3 (because this strategy is a bit difficult if the player have to pass behind a very detailed objects), so in this case is it possibile to put inside the 3D scene a 2D object, to a certain depth and in particular without distort the texture?
I hope you can help me o at least give me some indications about how to proceed, or if there are some better strategies for that stuff I’ve to implement
Thank you in advance to each of you,
Niccolò