Page MenuHome

Blender 2.9 Eevee motion blur doesn't take in account subframes when calculates its position
Confirmed, NormalPublicBUG

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce RTX 2080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 451.67

Blender Version
Broken: version: 2.90.0 Beta, branch: master, commit date: 2020-07-23 18:40, hash: rB9cbf43801ba2
Worked: (newest version of Blender that worked as expected)

Short description of error
With scene.frame_set() Eevee motion blur takes in account only the current frame and ignores the subframe when calculates its position. It makes rendered objects visually remain the same during the whole frame. The same issue in Blender 2.91.

Exact steps for others to reproduce the error

  • open the new default project
  • animate default Cube rotation between frames 1 and 10 (for example 0 degrees on the X axis at the frame 1 and 90 degrees at the frame 10)
  • in the Render Settings turn on Motion Blur, optionally increase Steps and Shutter
  • on the Timeline set Cursor to frame 5, hit "F12" to render Image
  • when render is finished in the render Viewport change the render slot to 2
  • open Python Console, type in: bpy.context.scene.frame_set(5, subframe=0.9) - and hit "Enter"
  • compare 2 render slots to ensure that they are identical, and the Cube's state hadn't changed

Event Timeline

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.Tue, Aug 25, 11:23 PM
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".

I can confirm the problem.
Cycles considers subframes when rendering.
Here the file I used to test: