Sign in to follow this  
NikiTo

Need help with two steps rendering of character and background

Recommended Posts

Hi, all! I am sorry I wasn't able to choise a better topic title.
I rendered a character 2.0 tall. She is starting from y:1 to y:-1. I did it that way to be able to get better precision to deal with petter panning/shadow acne(i think such is the best, correct me if i am wrong..) And now i want to render the room the character will walk through. My initial idea was to render first the room and then render the character on front. But now i am having trouble imagining the set-up. I imagine they render 5km wide open world scenes a similar way. I dont need 5km open world. I need my character to walk through a building.
I need you to point me in a good direction with the names of the techniques to search for them on Google or links to tutorials. Basically i am not sure how to sincronize the perspective for the room and the character. I am codding it all in js and webgl. So i need a more programming oriented tutorials. Using a library is not an option.

Share this post


Link to post
Share on other sites

I do not understand what you are asking about. What problem behavior is your program showing?

If you render the character and the room using the same view and projection matrices then the character should appear in the room naturally.

Share this post


Link to post
Share on other sites
My character is taking the whole rendering box. If i add the room with the same scale, it will be cropped out by the rendering box of OpenGL. If my character is toching the top of the rendering box with the head, the roof of the room will fall outside the render box. Let say the roof will become at position Y:2.8 which is by 1.8 away/out of the box. I need to downscale the room in order to fit completelly inside the -1..+1 box of OpenGL. And there is where things become messy for me. I have to render a giant inside a doll-house.

Share this post


Link to post
Share on other sites
Is it safe to scale down the whole building until it fits inside the rendering box? Now the distance between the eyes of my character is let say .01 but if i downscale it until the whole building fits inside -1 +1 the distance between the eyes of the character will become let say .0001 this would require less depth bias. Ok it could be acceptable because of the floating precision growing toward zero, im not sure, but what about shadow map? I still have to multiple passes render the shadow map. Is Horizon Zero Down rendering the character and the far mountains with the same perspective?

Share this post


Link to post
Share on other sites

I think what you are looking for is the correct World View Projection transformation.

You can find a detailed example here http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/.

The general idea is that your objects are transformed into different coordinate spaces for the final rendering. Initially your meshes will be in object space with the coordinate system at the center of each object.

To this you apply the world matrix to get them into world space which has all the objects positioned relative to each other. In your example the parts of the building will have a different world matrix than the character. To move the character around you would only need to change its world matrix.

After the world matrix you apply the view transform. This is a coordinate system where the origin is the camera position and the forward vector is aligned with the cameras forward vector.

Finally you apply the projection matrix which does a perspective or orthographic projection into homogeneous coordinates where the scene from the camera is projected onto a cube with (-1,1). This is the -1 +1 range you are talking about.

Share this post


Link to post
Share on other sites

one thing you need to do at the beginning of any project is determine the scale used.  IE 1 unit in your 3D system = how many meters in the real world? then you just make everything to scale and it all works out automatically. people are the right size, houses are the right size, all meshes and models are the right size.  

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this