• Advertisement
Sign in to follow this  

smooth movement without motion blur

This topic is 1897 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am getting a problem in my game where when the camera pans quickly object will appear to jump to new positions because there is not enough frames in between to show the movement even though my frame-rate is at 75 fps with v-sync on I still see this jump. The common way to solve this issue is with the addition of motion blur however I really don't like the way motion blur looks. Is there another way to smooth out the motion in my game without using motion blur?

Share this post


Link to post
Share on other sites
Advertisement
you might need to look at this:
http://gafferongames...-your-timestep/

if your physics or any counters are running in such a fashion: if (timer > last_timer) counter++;
then you will have jumpy objects, camera and many other things

personally, i use a floating point time step and no integral counters, but another solution is to use accumulation
there are many delta frametime / timestep tutorials out there :)
hope this is what you needed Edited by Kaptein

Share this post


Link to post
Share on other sites

you might need to look at this:
http://gafferongames...-your-timestep/


I actually have read that article already and my timestep is fixed. The problem I am encountering is purely graphics based what happens is when the camera is panning quickly things move great distances in one frame causing a jump. What I want to do is smooth out that jump and motion blur is the only way I know of.

Share this post


Link to post
Share on other sites
i suppose that's a possibility, but are you absolutely sure? i haven't had that issue in my game, and i have really low fps :/

Share this post


Link to post
Share on other sites
Yeah, this doesn't sound like a "smoothing" issue. I've never seen it happen, at least as I'm picturing it, even in more... creaky nominally 30fps games.

Could you take a FRAPs video of it or something else to show what you mean? Edited by Frenetic Pony

Share this post


Link to post
Share on other sites
Is it maybe a jump in delta-time values? If you print out your DT values, are they all pretty consistent frame-to-frame, or are there some frames where there's a drop or spike in times?
Inconsistent frame-rates can make things look really bad and choppy. This is because, as explained in the link below, the [font=courier new,courier,monospace]dt[/font] value that you use is the measured time of the previous frame, but you're using that as a prediction of how much to move objects for the next frame. If the [font=courier new,courier,monospace]dt[/font] values are inconsistent, then this prediction isn't valid.
http://bitsquid.blogspot.com.au/2010/10/time-step-smoothing.html

Share this post


Link to post
Share on other sites
This isn't a problem unique to games. Regardless of your frame rate, if you pan your camera too quickly, you are going to get tears and / or stuttering.

Motion is an illusion. You need your frames to be similar enough so that when they are played back, you get the illusion of one image bleeding into the other and creating a smooth motion. The more your images change over time, the better this illusion holds up.

When your images are too different, it doesn't matter what the frame rate is. You are just jump cutting between different pictures. It becomes like a quick slide show.

Share this post


Link to post
Share on other sites

Is it maybe a jump in delta-time values? If you print out your DT values, are they all pretty consistent frame-to-frame, or are there some frames where there's a drop or spike in times?
Inconsistent frame-rates can make things look really bad and choppy. This is because, as explained in the link below, the [font=courier new,courier,monospace]dt[/font] value that you use is the measured time of the previous frame, but you're using that as a prediction of how much to move objects for the next frame. If the [font=courier new,courier,monospace]dt[/font] values are inconsistent, then this prediction isn't valid.
http://bitsquid.blog...-smoothing.html


He said it was V-synced, it could just be frame dropping. Any dip below V-sync will today avoid tearing and just drop to the next frame, or if it's bad enough several frames.

I.E. best guess is your game isn't running at 75fps really, and forcing V-sync is exacerbating what might not be that bad if you just turn it off. Beyond that, no there is nothing beyond motion blur to "smooth" anything. Not that it's that horrible or anything. If you keep your values for motion blur under control it probably wouldn't be that noticeable. Edited by Frenetic Pony

Share this post


Link to post
Share on other sites

This isn't a problem unique to games. Regardless of your frame rate, if you pan your camera too quickly, you are going to get tears and / or stuttering.

Motion is an illusion. You need your frames to be similar enough so that when they are played back, you get the illusion of one image bleeding into the other and creating a smooth motion. The more your images change over time, the better this illusion holds up.

When your images are too different, it doesn't matter what the frame rate is. You are just jump cutting between different pictures. It becomes like a quick slide show.


This is definitely the problem I'm experiencing. So it seems pretty much that motion blur is the only way to minimize it.

Share this post


Link to post
Share on other sites
You minimize it by moving your camera slower. Even if you are running at 300 fps, you'll still have the same problems if you move the camera too fast. You can't code your way out of animation problems. You're solution is to learn and use proper animation techniques.

A game running at 120hz can't move it camera twice as fast as a game running at 60hz. If you want things to read correctly to the viewer, you have to move your camera only a certain amount over a period of time (not frames).

If not, do something else, like a jump cut, or fade from destination 1 to 2.

Share this post


Link to post
Share on other sites
Only motion blur is correct: adding frames (assumed to be correctly timed, without tearing, etc.) is better than nothing, but you still see a sequence of crisp shapes instead of motion-blurred ones, and persistence of vision only goes so far.
But what do you have against motion blur, apart from its terrible computational burden? How can you say it looks bad?

Share this post


Link to post
Share on other sites

I really don't like the way motion blur looks


There are a number of different approaches to motion blur and a number of variables that can be tweaked which will change the overall 'look'; for smoother camera motion you can use a simple camera-only motion blur post process and adjust the blur kernel size to balance smooth motion against a blurry image (tutorial here). I find that at around 60Hz the effect isn't noticeable beyond making the camera motion look more fluid.


But what do you have against motion blur, apart from its terrible computational burden


Depending on the implementation it's really not very computationally expensive.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement