[Cycles] Motion Blur of fast rotating objects "randomly" glitches #66529

Closed
opened 2019-07-07 14:50:57 +02:00 by Giacomo Balma · 44 comments

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: 699193713f
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

WheelRotation_MB_BugReport.blend

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.

MB_Spin_2.79vs2.80-v2.mp4

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

MB_Spin_2.79-0006.png MB_Spin_2.80-0006.png
2.79 2.80

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

Frame number X Rotation Glitching?
005 785.413d N
006 939.169d Y
007 1092.93d N

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.

MB_MultipleWheelsTest.mp4

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.

**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: `699193713f` 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** [WheelRotation_MB_BugReport.blend](https://archive.blender.org/developer/F7571424/WheelRotation_MB_BugReport.blend) 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. [MB_Spin_2.79vs2.80-v2.mp4](https://archive.blender.org/developer/F7573346/MB_Spin_2.79vs2.80-v2.mp4) Comparison between same "glitched" frame [Frame006] rendered in 2.79 and 2.80. |![MB_Spin_2.79-0006.png](https://archive.blender.org/developer/F7571727/MB_Spin_2.79-0006.png)|![MB_Spin_2.80-0006.png](https://archive.blender.org/developer/F7571731/MB_Spin_2.80-0006.png) | -- | -- | |2.79|2.80 If relevant, in the given example the rotation on the x-axis for the wheel is: |Frame number|X Rotation| Glitching? | -- | -- | -- | |005|785.413d|N |006|939.169d|Y |007|1092.93d|N 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. [MB_MultipleWheelsTest.mp4](https://archive.blender.org/developer/F7571781/MB_MultipleWheelsTest.mp4) 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.
Author

Added subscriber: @GiacomoDavideBalma

Added subscriber: @GiacomoDavideBalma
Brecht Van Lommel was assigned by Sebastian Parborg 2019-07-10 12:12:14 +02:00
Author

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.

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.

Added subscriber: @YegorSmirnov

Added subscriber: @YegorSmirnov

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

I can confirm, And while it's not that noticeable on a plain spinning object, it's very bad on an animation like this: [0001-0100.mp4](https://archive.blender.org/developer/F7716299/0001-0100.mp4)
Member

Added subscriber: @Stefan_Werner

Added subscriber: @Stefan_Werner

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

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

Added subscriber: @VictorMukayev

Added subscriber: @VictorMukayev

confirmed. This is a major issue!

confirmed. This is a major issue!

Added subscriber: @EDcase

Added subscriber: @EDcase

Added subscriber: @SteffenD

Added subscriber: @SteffenD

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

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

Added subscriber: @ConradDueck

Added subscriber: @ConradDueck

Added subscriber: @gwhobbs

Added subscriber: @gwhobbs

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'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.
Author

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

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.

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.
Author

In #66529#817500, @gwhobbs wrote:
I wound up rendering shots with fast rotating objects using the free version of Octane

That's a pretty sad "solution" ?

> In #66529#817500, @gwhobbs wrote: > I wound up rendering shots with fast rotating objects using the free version of Octane That's a pretty sad "solution" ?

Added subscriber: @Nontas

Added subscriber: @Nontas

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.

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.

Added subscribers: @LukasStockner, @Sergey

Added subscribers: @LukasStockner, @Sergey

@brecht , @Sergey, @LukasStockner
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 , @Sergey, @LukasStockner 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.

In #66529#820500, @VictorMukayev wrote:
@brecht , @Sergey, @LukasStockner
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.

> In #66529#820500, @VictorMukayev wrote: > @brecht , @Sergey, @LukasStockner > 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.

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.
Brecht Van Lommel was unassigned by Dalai Felinto 2019-12-23 16:33:53 +01:00

Added subscriber: @brecht

Added subscriber: @brecht

Finally it's now Normal Priority. Thank you

Finally it's now Normal Priority. Thank you

Added subscriber: @arc4g-1

Added subscriber: @arc4g-1
Member

Added subscribers: @JoshuaBelanich, @EAW

Added subscribers: @JoshuaBelanich, @EAW
Member

Confirming that D6537 fixes the issue in the project I was working on! Thank you @JoshuaBelanich!

Confirming that [D6537](https://archive.blender.org/developer/D6537) fixes the issue in the project I was working on! Thank you @JoshuaBelanich!

Hello everyone and happy new year!

@JoshuaBelanich , 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.

Hello everyone and happy new year! @JoshuaBelanich , 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.

This issue was referenced by blender/cycles@5a8d20504d

This issue was referenced by blender/cycles@5a8d20504dfd4a9c180e83a1d62e8feb1c136ac2

This issue was referenced by e72ecaa371

This issue was referenced by e72ecaa371579b2068491871f068e813d0696233

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Brecht Van Lommel self-assigned this 2020-01-08 17:31:23 +01:00

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

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

Added subscriber: @thornydre

Added subscriber: @thornydre

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

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

@thornydre Thank you for letting us know. @JoshuaBelanich 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!

@thornydre Thank you for letting us know. @JoshuaBelanich 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!

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

Happy to help folks, this was a fun thing to debug! @Nontas Those are all questions for @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/

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 @JoshuaBelanich for your contribution and congratulations for your first patch! I can't wait to try the new fix!

and thank you very much @brecht for updating Blender! We are very thankful and we really appreciate your efforts!

That's great! Thank you very much @JoshuaBelanich for your contribution and congratulations for your first patch! I can't wait to try the new fix! and thank you very much @brecht for updating Blender! We are very thankful and we really appreciate your efforts!

Removed subscriber: @arc4g-1

Removed subscriber: @arc4g-1

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

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

Hm, the bug is still there in my scene. Here it is to try. Just render the video. [motion_blur_bug.blend](https://archive.blender.org/developer/F8275652/motion_blur_bug.blend) Yes, the movement is jerky (I recorded it with my mouse), but the motion blur pops in frames, where the motion is smooth.

@YegorSmirnov 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.

@YegorSmirnov 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.

@YegorSmirnov 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: Selection_001.png
Frame 29: Selection_002.png

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.

@YegorSmirnov 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: ![Selection_001.png](https://archive.blender.org/developer/F8275759/Selection_001.png) Frame 29: ![Selection_002.png](https://archive.blender.org/developer/F8275761/Selection_002.png) 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.

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.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
16 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#66529
No description provided.