Jump to content

  • Log In with Google      Sign In   
  • Create Account


smooth movement without motion blur


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
11 replies to this topic

#1 ic0de   Members   -  Reputation: 804

Like
0Likes
Like

Posted 09 November 2012 - 09:12 PM

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?

you know you program too much when you start ending sentences with semicolons;


Sponsor:

#2 Kaptein   Prime Members   -  Reputation: 2020

Like
0Likes
Like

Posted 10 November 2012 - 12:23 AM

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, 10 November 2012 - 12:26 AM.


#3 ic0de   Members   -  Reputation: 804

Like
0Likes
Like

Posted 10 November 2012 - 12:29 AM

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.

you know you program too much when you start ending sentences with semicolons;


#4 Kaptein   Prime Members   -  Reputation: 2020

Like
0Likes
Like

Posted 10 November 2012 - 12:33 AM

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 :/

#5 Frenetic Pony   Members   -  Reputation: 1246

Like
0Likes
Like

Posted 10 November 2012 - 01:00 AM

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, 10 November 2012 - 01:01 AM.


#6 Hodgman   Moderators   -  Reputation: 29248

Like
0Likes
Like

Posted 10 November 2012 - 01:25 AM

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 dt 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 dt values are inconsistent, then this prediction isn't valid.
http://bitsquid.blogspot.com.au/2010/10/time-step-smoothing.html

#7 MrDaaark   Members   -  Reputation: 3551

Like
3Likes
Like

Posted 10 November 2012 - 02:06 AM

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.

#8 Frenetic Pony   Members   -  Reputation: 1246

Like
0Likes
Like

Posted 10 November 2012 - 03:06 AM

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 dt 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 dt 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, 10 November 2012 - 03:07 AM.


#9 ic0de   Members   -  Reputation: 804

Like
0Likes
Like

Posted 10 November 2012 - 06:53 AM

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.

you know you program too much when you start ending sentences with semicolons;


#10 MrDaaark   Members   -  Reputation: 3551

Like
1Likes
Like

Posted 10 November 2012 - 05:48 PM

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.

#11 LorenzoGatti   Crossbones+   -  Reputation: 2659

Like
0Likes
Like

Posted 12 November 2012 - 02:38 AM

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?
Produci, consuma, crepa

#12 johnchapman   Members   -  Reputation: 532

Like
0Likes
Like

Posted 13 November 2012 - 12:37 PM

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.




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS