Page MenuHome

[Cycles] Motion Blur of fast rotating objects "randomly" glitches
Closed, ResolvedPublic

Description

System Information
Operating system: Windows-10-10.0.17134 64 Bits
Graphics card: GeForce GTX 1070 with Max-Q Design/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 419.35
CPU: Intel i7-8750H @ 2.20 GHz
RAM: 16 GB

Blender Version
Broken: version: 2.80 (sub 74), branch: master, commit date: 2019-07-05 16:36, hash: rB699193713fc0
Worked: version: 2.79 (sub 0), branch: master, commit date: 2018-03-22 14:10, hash: f4dc9f9d68b

Short description of error
Motion Blur of fast rotating objects "randomly" glitches.
Basically I was rendering some car animation in 2.80 and I noticed that in some frames the wheel motion blur was glitching as if there was a sudden change in the wheel rotation speed.
More below.

Exact steps for others to reproduce the error

Open the .blend file in Blender 2.80 and render the animation.
If opened and rendered in Blender 2.79 the animation gives the expected result.

A comparison between the renders in 2.79 and 2.80. The wheel is rotating at a constant speed on the x-axis, no easing. No other variables are animated. Of course I'm expecting the usual temporal aliasing/wagon wheel artifact, but those jumps in 2.8 just look wrong.

Comparison between same "glitched" frame [Frame006] rendered in 2.79 and 2.80.

2.792.80

If relevant, in the given example the rotation on the x-axis for the wheel is:

Frame numberX RotationGlitching?
005785.413dN
006939.169dY
0071092.93dN

A test render from my project, here the (invisible) car is moving and the camera is parented to the car rig. The wheels are animated via a rig using bones.

I've been doing some testing, but no matter what I try I always get the same result. Of course, depending on the speed of the wheel, the frames in which it happens vary.
I tried playing with Position Center/Start/End on Frame, shutter, rendering with CPU and GPU, using quaternions and eulers. I really can't understand, I think it's a Cycles related problem.
It almost looks like there's a limit when calculating angles differences between frames for motion blur, or some kind of clamping/wrapping/overflow/(?)

I also tried older 2.8 builds (oldest build I've been testing with: 2.80 (sub 41), branch: blender2.7, commit date: 2019-01-21 00:28, hash: dd3f5186260e) but the bug is already there.
Same thing on other Windows 10 machines.

I think that it's a bug and not a desired behaviour.

Event Timeline

Giacomo Balma (iamlab) updated the task description. (Show Details)
Sebastian Parborg (zeddb) lowered the priority of this task from 90 to 50.

Waiting for a fix, I found a temporary solution that helps hiding this artifact (it worked for me at least). Try increasing the Motion Blur Steps for each spinning object,using 6-7 did the job for me.

I can confirm, And while it's not that noticeable on a plain spinning object, it's very bad on an animation like this:

Pablo suggested poking. So i'm poking :) Increasing motion blur steps doesn't help.

confirmed. This is a major issue!

Test scene still does not work properly with 2.81 build 14 Oct 2019

I've found that this bug appears even if an object is still and only camera moves. Still present in 2.81 release. Found that on a production sequence render. This is unfortunate.

I don't understand how this is still a Medium Priority task, it's a performance regression and it affects the only way blender can provide motion blur

Not sure if this is appropriate to post here, but in case it helps anyone running into this issue on a production and needing a short-term quick workaround, I wound up rendering shots with fast rotating objects using the free version of Octane (no affiliation). If you use simple PBR materials, the latest version for Blender 2.8 will try to port your materials automatically, but this will almost certainly fail for more complex materials. You could probably split the rotating objects onto their own render layer and keep your Cycles materials for everything else. Not ideal, but it should get the job done until someone has a chance to fix this issue.

I wound up rendering shots with fast rotating objects using the free version of Octane

That's a pretty sad "solution" ?

I also confirm this bug. It's very annoying and there is no workaround. When enabling motion blur there are random glitches exactly as described to above videos from Giacomo and Yegor. I also have tried various motion blur settings , like position "Center on frame " or "Start on Frame" and Rolling shutter to "None" or "Top-Bottom" or even increasing the parameter "Steps" for individual objects.
I believe it's a major importance for this bug to get fixed. Motion blur is very vital.
I am using Blender 2.81 official release.

@Brecht Van Lommel (brecht) , @Sergey Sharybin (sergey), @Lukas Stockner (lukasstockner97)
Could you guys take a look at this issue? Imho this is not medium priority, it's pretty crucial for productions to be able to render mo blur properly.

@Brecht Van Lommel (brecht) , @Sergey Sharybin (sergey), @Lukas Stockner (lukasstockner97)
Could you guys take a look at this issue? Imho this is not medium priority, it's pretty crucial for productions to be able to render mo blur properly.

I agree ... It's crucial important.

Just to report a personal temporary workaround, which is working for my current project, I am not sure if it's going to work for all kind of projects. At this project I am using the default motion blur settings. While you render your project frames in JPG or PNG files or any image files, you go through a photo viewer to see which frames have the motion blur glitch. When you locate the frames you go back in the blender project and you render the glitched frames using the following render motion blur settings: Position "Start on Frame" , Rolling shutter "Top-Bottom" , and Rolling shutter duration around 0.68. In this way the motion blur probably will behave normal for the selected frame. I wouldn't recommend those settings for all the project frames, but only for the glitched frames. This temporary workaround works for me so far. But I really hope to see a fix for this soon, I believe it's ULTRA critical important. Motion blur is so extremely important.

Finally it's now Normal Priority. Thank you

Confirming that D6537 fixes the issue in the project I was working on! Thank you @Josh Belanich (jbelanich)!

Hello everyone and happy new year!

@Josh Belanich (jbelanich) , thank you very much for working on this issue. I have read that a few users have reported that their issue in their projects have been fixed. That's great!
However, I would like to know please, about the issue which was already reported above as well, with the Suzanne monkey head moving fast . It is closer to mine issue as well. This is the video link and you can see the glitches as well in a different use of the motion blur.

https://dev-files.blender.org/file/data/7ajbj43ldicyhz3lvfpc/PHID-FILE-wc7rvdevumjpbvt6rgwn/0001-0100.mp4

I am looking forward to your reply and thank you in advance.

@Epaminontas Nontas (Nontas), the fix will be in tomorrow's build so you can test it yourself.

Thanks a lot, this also fixes the issue I had with my file in T70694 ! Cheers !

@Lucas Boutrot (thornydre) Thank you for letting us know. @Josh Belanich (jbelanich) Is the update going to be embedded in the next update of Blender ? If I download the latest version in the experimental branches of 2.82 is it already fixed there ?

Thank you!

Happy to help folks, this was a fun thing to debug!

@Epaminontas Nontas (Nontas) Those are all questions for @Brecht Van Lommel (brecht) I think, I'm not familiar with Blender's release process. This is my first patch :).

The fix will be in the daily build tomorrow, so when the build date says January 9.
https://builder.blender.org/download/

That's great! Thank you very much @Josh Belanich (jbelanich) for your contribution and congratulations for your first patch! I can't wait to try the new fix!

and thank you very much @Brecht Van Lommel (brecht) for updating Blender! We are very thankful and we really appreciate your efforts!

Yegor (Yegor) added a comment.EditedJan 13 2020, 1:08 PM

Hm, the bug is still there in my scene.
Here it is to try. Just render the video.

Yes, the movement is jerky (I recorded it with my mouse), but the motion blur pops in frames, where the motion is smooth.

@Yegor (Yegor) thanks for sharing the scene, I can confirm I'm also seeing the motion blur pop. In particular frames 28, 49, and 50. Seems like there is more going on here.

@Yegor (Yegor) I took a closer look at the rotation transforms for your key frames. It seems that there are indeed discontinuities at those broken frames. For example:

Frame 28:


Frame 29:

You can see similar discontinuity at 48-49-50.

Perceptually the transformations are close, but the discontinuity causes problems with the motion blur interpolation. It''s unclear to me if this should be considered a bug for the motion blur, or a bug for whatever tool you used to generate the animation key frames, or something else.

Oh, you are correct! It's visualy consistent, but screwed up in curves! That must be my fault and the way i'd recorded it. Thank you, we can go on. The motion blur is correct.