Sign in to follow this  
RobMaddison

My time step is fixed, but...

Recommended Posts

I've used gafferongames' page regarding fixing your time step and everything looks pretty good and as expected. I was wondering though, about whether my animation processing should go inside the internal while loop or outside it.

If I put it inside, it means that I may potentially call the animation update multiple times before I render it - as calculating skeleton poses isn't cheap, this seems redundant if the renderer is only drawing the last calculated pose. If I put it outside the while loop, I only calculate the skeleton poses once (with the correct delta), but it means no matter what speed my 'physics' step is, the animation will always render at the best frame rate - this is also ok I guess, but it doesn't feel right. If it goes outside the loop and uses the delta calculated by the loop, then what sort of things are meant to actually go inside the loop?

Share this post


Link to post
Share on other sites

this is also ok I guess, but it doesn't feel right

But it is the right way. The physics engine needs to integrate over time, this is done by an approximation of an integral. Smaller steps will result in a better approximation, and therefore more stable behaviour. Animation on the other hand is just an interpolation between given points, your are able to define the exact interpolation at every time.

Edited by Ashaman73

Share this post


Link to post
Share on other sites

There's multiple parts to animation -

* choosing what animations are to be layered together at what time, is gameplay code.

* IK and rag-doll are probably physics code.

* Actually evaluating the animation layers to get a posed skeleton is rendering code (and is deterministic; you shouldn't need a dt here to advance a simulation).

* Using a skeleton to skin/render a mesh is rendering code.

 

You could put the first two in your fixed-step frame loop, and the bottom two in the rendering loop.

Edited by Hodgman

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