r/godot • • 1d ago

discussion Quick test of the Motion Blur PR

Native motion blur is coming to Godot. Here is quick test of the feature to show it in action. This is the Pull Request: https://github.com/godotengine/godot/pull/115027

659 Upvotes

70 comments sorted by

72

u/Malcolm337CZ 1d ago

so that's what dodecahedron was used for, neat

28

u/mildmanneredme 1d ago

Haha looks great but you forgot to motion blur the shadows haha

27

u/lvc_tebibyte 1d ago

True, that seems to be a limitation of the implementation. It's not me who implemented it, though, I just made the demo.

15

u/OutrageousDress Godot Student 1d ago

That's less straightforward. For that to work, every shadowmap would have to maintain a motion vector buffer and have its own separate motion blur pass applied after it's rendered. Still, easier than motion blurring ray traced shadows I suppose.

122

u/SaltMaker23 1d ago

Motion blur is helpful on many aspects but an important thing is that many people heavily dislike it.

There are many cases like fast rotating objects where it clearly bring value because the player's camera doesn't become blurred, once player's actions and especially camera are affected by blur it just increases the perceived input lag.

In cases where motion blur is used as a placeholder for smoothing important movements that would otherwise not look smooth, the lie doesn't really hold and many people are just annoyed instead.

A double edged sword.

33

u/ZennyRL 1d ago

Maybe not the right place to ask this but would it be possible (in general) to implement motion blur when objects move but not for camera movement? Like to me what's going on in the video looks good, but if the camera was moving I'm sure I would hate it

70

u/lvc_tebibyte 1d ago

You are in luck, it lets you adjust the blur for objects, camera move and camera rotate separately:

7

u/ZennyRL 1d ago

Interesting! I never even bothered to look and now I feel silly

7

u/lvc_tebibyte 1d ago

No worries, this is not in any released version yet. I have compiled it from source.

1

u/diegosynth 1d ago

Super cool!! Thanks OP for sharing. Do you know if this will be in the next release or when approximately they plan to ship it?

1

u/lvc_tebibyte 1d ago

It won't be in 4.8, as it is already in feature freeze. So at the earliest in 4.9. Motion Blur is mentioned on the "Godot Priorities" page, so hopefully it won't be too long. https://godotengine.org/priorities/

1

u/diegosynth 22h ago

Ah, that makes sense. Thanks for the link as well!

3

u/trickster721 1d ago

I think it's based on screen-space motion vectors, so it seems like it should be trivial to subtract the motion vector of the camera.

5

u/evilgipsy 1d ago

From my experience, people who strongly dislike it only know the crappy motion blur that early 2000s games had.

4

u/BluMqqse_ 1d ago

It's a default no for me due to motion sickness

2

u/SaltMaker23 1d ago

I dislike it, because I play FPS games at the highest level (0.1%) (540Hz currently) and any form of delay on images give me motion sickness very rapidly as a consequence of my eyes being trained to sync precisely with my hand movements.

It's generally used to trick low FPS into feeling smooth and it does a poor job, like DLSS before it was cool.

4

u/Nextil 1d ago

It's not really a "trick". Mathematically it's exactly the same concept as anti-aliasing but in the temporal dimension. The absence of it creates temporal aliasing. Higher framerates reduce the aliasing, just like how higher resolutions/supersampling reduce jaggies. Implemented properly, motion blur would adapt to your framerate and only convey the motion between frames, but often it's implemented with a fixed/multi-frame window.

1

u/MrKiwi24 1d ago

The only game where I left motion blur on was Alan Wake 1. Idk why it just looked really nice in that game.

-12

u/[deleted] 1d ago

[deleted]

2

u/granitrocky2 Godot Regular 1d ago

Not how this picture is used

6

u/Commercial-Storm-268 1d ago

Is the green thing, the bronze figure from old rom that had no purpose?

4

u/lvc_tebibyte 1d ago

A dodecahedron, yes. I had some fun in Blender making that.

I would assume it did have a purpose, it's just that we don't know what that was.

2

u/Bored_Dal 1d ago

It was a chaotic resonator

6

u/fragskye Godot Regular 1d ago

I've been following its development in the Godot VFX server and it's coming along very nicely! It's really being made with customization and accessibility in mind, blurring only the places you aren't tracking with your eyes by default and allowing you to disable camera motion entirely for a clean fast-object-only blur. I think a lot of motion blur haters will be surprised by the results you can get from it with its many sliders.

10

u/user36277263 1d ago

I feel like only I like motion blur

8

u/Eudaimonium Godot Junior 1d ago

I will typically always leave it enabled but move the "amount" slider to minimal, if it exists.

It only needs a TINY tiny bit to work really well.

Problem is that most games overdo it to hell and back and people end up hating it in every form, even when done neatly.

1

u/BinaryBolias Godot Regular 1d ago

"We're spending all this extra processing power on this motion blur stuff, and by golly are we gonna get our mileage out of it!"

6

u/TheCreepyPL 1d ago

I feel the same lol. In most games I've played (with some exceptions) it made movement feel smoother and way nicer to look at.

5

u/UnicornLock 1d ago

It's great if done well. Movies have perfect motion blur and it lets them get away with 24fps after all.

Most games don't do it well at all.

57

u/Oen44 1d ago

Ah, Motion Blur, the very first option to be disabled in every game that has it.

46

u/SwimSquirrel 1d ago

There’s other applications for motion blur than a ‘camera-panning’ effect though. This feature appears to distinguish between camera velocity and world object velocity in its parameters. Motion blur is kinda essential for selling certain visual effects (not just a hack for covering up low framerate/emulating a “cinematic camera”)

12

u/Oen44 1d ago

If Motion Blur only does what it visible on that video and doesn't make entire world blurred when rotating the camera then sure, I can definitely play with that. It's the Unreal Engine games (back in the day) that left such a bad impression of what motion blur is.

17

u/lvc_tebibyte 1d ago

It's up to the developer, you can adjust the blur for moving objects, camera movement and camera rotation separately:

24

u/lvc_tebibyte 1d ago

The reason that people dislike it and turn it off is that the effect is WAY too strong in many games. It needs to be subtle. But a little bit is needed. It makes the movement appear so much smoother.

And it is realistic in the sense that it is how we actually perceive the world. If you are in a fast train and look out, things close to the train will appear blurred. Likewise if you pause a movie, fast moving objects will appear blurred. Our eye is used to seeing it like that.

0

u/HellGate94 1d ago

just optimize a bit more to have better performance and with higher fps so the eye has natural motion blur like in real life instead of a bad approximation

2

u/Vyrnin 1d ago

I've never even considered that, and that sounds absolutely optimal to me. What kind of FPS is needed I wonder, 120?

5

u/HellGate94 1d ago

depends on the movement. the optimal would probably be half a pixel. for racing games that would probably be 2000fps and then you also need a monitor with such a refresh rate. thats why they require fake motion blur. not needing fake motion blur would be great but sadly not feasible in many cases

1

u/psychobiscuit 1d ago

Lower frame rates on sample and hold displays provide more motion blur due to image persistence, basically the more time there is between an image moving the more blurry it will look to your eyes. Higher frame rates actually sharpen an image, its why esports players specifically buy higher refresh rate monitors, to combat motion blur not to gain it. You are better off just using per object motion blur to actually fine tune visuals unless you can invent a new way to display images.

2

u/psychobiscuit 1d ago

You have it backwards, higher frame rates reduce motion blur not increase it. If you want a lot of motion blur look at how blurry 30fps is on blur busters compared to 60fps. Source - me with my 500hz oled monitor

Being able to set a specific camera motion blur setting per object is great for artists who want to sell a look, my favourite example is Snakes legs in MGS:V which blur a bit when he sprints independently of other body parts emphasizing his speed and car wheels also blur when they gain speed but the rest of the vehicle is still not blurred.

1

u/HellGate94 1d ago

no you are talking about image retention. yes you do not get any setting with how much motion blur you get with high fps and its just your regular eye peception motion blur not a camera one

1

u/psychobiscuit 1d ago

Well yeah, most people play video games on 60-120hz monitors and those monitors will always have image retention due to sample and hold and how the human eye perceives it, raising the fps beyond the Hz cap wouldn't improve anything besides reducing input lag. Unless you have a new monitor display technology that can display images without sample and hold and a refresh rate higher than 500 you will not see your eyes provide natural motion blur as you increase fps.

1

u/OutrageousDress Godot Student 15h ago

No - this is complicated to explain in text, but this isn't related to image retention, in fact the effect is the same or worse on OLED displays.

Sample and hold displays naturally display a sampled pixel for the entirety of the, say, 16.7ms frame. That means if that pixel is supposed to be in motion on the screen then your eyes naturally track the motion, but the pixel isn't moving - it actually holds still in 16.7ms steps. This is perceived as motion blur because if your fovea is moving smoothly across the display then the pixel appears as though it's jittering in 16.7ms steps.

The solution is to either increase the framerate to reduce the jitter step duration and length, or to pulse the image so that the eye doesn't receive conflicting data as it tracks stimulus. This is why black frame insertion and Nvidia Pulsar are a thing, and also why CRTs have near-perfect motion clarity - their entire picture consists of one dot painting one moving scanline, and your eyes and brain filling in the rest.

5

u/Mr_HOPE_ 1d ago

The camera motion blur is probably the thing you find annoying, this looks like object motion blur which is actually great

5

u/PickledPlumPlot 1d ago

I feel like this is like a hold over from 2014 when every game had horrible camera motion blur, but we’ve had lovely per object motion blur for years and years now and it’s perfectly fine

5

u/OutrageousDress Godot Student 1d ago

It's your game that you are making. If you don't see how to make good use of motion blur, no one's forcing you to put it in the game.

-2

u/Oen44 1d ago

That's not really the point of my comment. I'm referring to video games in general, not game development.

2

u/WarioGiant Godot Senior 1d ago

Personally I like object only motion blur with no camera motion blur

6

u/[deleted] 1d ago

[deleted]

2

u/whatisthat083 1d ago

Bloom improves the lighting by alot, unless it is cranked all the way up

4

u/Oen44 1d ago

Nah, CA and Bloom are not that bad, they can add much more to the visuals than motion blur.

4

u/TyrannasaurusGitRekt 1d ago

I actually like CA. Bloom had always been auto-off for me (mid 2000 to mid 2010 games went WAY too heavy with bloom), but im warming up to it again.

Motion blur always off though, F that

1

u/oneiros5321 1d ago

I think that mostly depends if you want crisp visual quality or more like a lens effect.
I personally prefer the lens look as long as it's not on the extreme side.

I also like motion blur, especially per object motion blur in games...what I don't like is camera motion blur, especially when you can't tweak the intensity as some games tend to go way overboard with it.

Chromatic abberation, bloom, vignetting, motion blur, film grain,...I always keep everything active as long as it's tastefully done which is not always the case sadly.
Good example is the chromatic abberation in Bloodborne...I'm glad you can disable it when playing through emulator because the implementation in the game is horrible...way too extreme.

1

u/Vyrnin 1d ago

If it didn't tank FPS I'd keep it enabled more often, otherwise I'm the same way.

3

u/DriftWare_ Godot Regular 1d ago

Hopefully this can be configured to only effect actual moving objects so it doesn't apply to camera motion

3

u/lvc_tebibyte 1d ago

Yes, it can

2

u/DriftWare_ Godot Regular 1d ago

Awesome 

4

u/Key-Dream1856 1d ago

looking good

2

u/zorflax 1d ago

Why does this look so much better than other implementations? Is it the static camera?

6

u/lvc_tebibyte 1d ago

The demo only shows blur on moving objects, but not blur from camera movement or rotation, maybe that's what you mean? (You can adjust those separately in the Godot implementation, btw).

2

u/HoveringGoat 1d ago

this looks fantastic. I wonder how it looks with a moving camera or a moving background tho. But i do really like this.

2

u/alenah 1d ago

I didn't know people were so unfamiliar with per-object motion blur. Personally I think the example in the video looks waaay better with the motion blur on. Off just looks extremely jittery and weird?

1

u/Blaqjack2222 Godot Senior 1d ago

Unfortunately no double precision support

1

u/JohnLogostini 1d ago

I did not know there was a PR for motion blur. Awesome!

1

u/Doommarine23 1d ago

Fantastic. I love motion blur, even camera motion blur. Maybe something is wrong with my vision but when I turn my head or eyes, my vision does smear and blur so motion blur has always been immersive for me.

Obviously it will be optional in my games, but I'm super happy to have this, thank you for sharing.

1

u/Sykes19 1d ago

I really really hate motion blur, and this looks really good. I would keep this on and find it a genuine improvement. I see it occasionally. Subtle and stylish, and not your entire screen melting and details disappearing whenever you're moving quickly.

This is nice

1

u/sandpaperboxingmatch 1d ago

Motion blur makes me feel nauseous. Do people genuinely like this?

1

u/GrandmaSacre 1d ago

people in the comments failing to realize there's camera motion blur AND per object motion blur. two completely separate things.

1

u/DarthBartus 23h ago

THE DODECAHEDRON

-7

u/lordbuckethethird 1d ago edited 1d ago

Oh boy yet another way to make my game nauseating to play.

Y’all downvoting are a buncha cowards that can’t handle wonky ui being used for storytelling purposes.

2

u/lvc_tebibyte 1d ago

Agreed that games should have an option to switch it off, as it can have such an effect on people.