Page MenuHome

'constant' f-curve not working happily with sampled motion blur Blender 2.79b
Confirmed, LowPublicKNOWN ISSUE

Description

Attempting to use 'offset animation' of the armature object to combine separate mocap clips in the NLA in v2.79b: the results appear to imply that the 'constant' curve interpolation results in the object animating between positions, not moving 'instantly' as the curve in the graph would imply.
Scene created in v2.79b 2018-03-22 14:10 build

Basically I noticed a couple of frames of 'bullet time' blur happening in rendered footage, it happens when the armature root moves and/or rotates between positions to align the armature pose from the end of one NLA action to the next, using 'constant' interpolation in the curve editor for the keys. Basically rendering this animation option unusable if one is using motion blur for the render.

I tried moving the key frames to fractional frame positions (frame xx.5), on the assumption that using 'centered on frame' motion blur should miss the object move - it did not, still 2 frames with 'bullet time' blur on the character. The render time for the 1st bad frame only going from 30 odd seconds to over 13 minutes! The second bad frame rendered almost as quickly as the good frames interestingly.
Tried 'starting on frame' and 'ending on frame' for the motion blur (with whole number key frames for the animation again) - still got the issue in differing frames but basically the same, except that the blurry character jumped positions and back again which didn't happen using 'centered on frame' motion blur.

Happens on all my computers.
All machines are Windows 10, 2 x Pro and 1 x Home.
Box 1: HP Z800, 2 6 core Xeon, 80Gb RAM, 2 x gtx 1070
Box 2: Dell R510, 2 x 6 core Xeon, 32Gb RAM, 2 x GTX 970 (external on mining risers)
Box 3: Gigabyte Aero15, 1 x 6 core i&, 16Gb RAM, 1 x gtx 1060 6Gb (win 10 Home)

If this is a feature, not a fault, then fair enough (although it makes life harder!).

Cheers
Mark

Event Timeline

Mark Spink (marks) created this object with visibility "All Users".
Brecht Van Lommel (brecht) lowered the priority of this task from 90 to 30.Nov 7 2018, 1:44 PM
Brecht Van Lommel (brecht) changed the visibility from "All Users" to "Public (No Login Required)".

Please follow the bug reporting template:
https://developer.blender.org/maniphest/task/edit/form/1/

We need a .blend file and exact steps to redo the problem to be able to investigate this.

Mark Spink (marks) added a comment.EditedNov 7 2018, 4:31 PM

Here you go-

I think I must have tried it in Blender 2.8 and saved it inadvertently yesterday (still loads in 2.8)- if I load the old scene into 2.79 it croaks quicker than Usain Bolt signing up to do a Virgin advert, so I had to rebuild it.
Render frame 52, then try frame 53 (I'd make a coffee while it's cooking unless you have some seriously fast GPUs in your machine!).
Using 'start on frame' for the motion blur give the bullet-time streak and the see-through character on frame 53 as well (same as 'center on frame'), while 'end on frame' moves the effect to frame 54.
I'd drop the tile size down to 256 or so for the bullet-time frames as well; first time I tried it killed CUDA and I had to save & restart Blender before it would render it again.
It's a similar story trying this scene in 2.8 as well so the fault/feature seems to persist there too.

Cheers
Mark

Philipp Oeser (lichtwerk) raised the priority of this task from 30 to 90.Nov 15 2018, 8:46 PM

OKi, file is now provided, needs a second look...

Sebastian Parborg (zeddb) lowered the priority of this task from 90 to 50.

I can confirm this on my end.


Hello again, firstly nice work on v2.8!
{F7646074}Just asking about this issue, it still appears to be present in 2.8. I rebuilt a similar scene from scratch and it manifests slightly differently, but still happens.
Frames 118 & 119 show the issue, it still takes longer than the normal frames to render but not by years like in v2.79, and the long streaks are gone - now the bad frames are just more transparent than the rest. Scene and clip attached.
Cheers
Mark

Mark Spink (marks) added a comment.EditedJan 16 2020, 6:54 AM

Hello again
this (motion blur badly broken with 'constant' keyframes) still exists in Blender 2.81a
here's the .blend


I know it's not 'simple', but all you have to do is load it and press F12 a couple of times...

Here's a good frame and the first bad one-

Frames 119 & 120 are the bad ones- character goes transparent and renders are 10 times slower than the 'good' frames.

Just tried it in 2.82Beta & 2.83Alpha and it's the same as 2.81a.

Just tested in this version: 2.82 (sub 6), branch: master, commit date: 2020-01-20 22:06, hash: rB902209eda527
Still happening.

Cheers!

Brecht Van Lommel (brecht) triaged this task as Low priority.Tue, Jan 21, 11:36 AM
Brecht Van Lommel (brecht) changed the subtype of this task from "Report" to "Known Issue".

This is a known limitation, motion blur would need explicit support for constant interpolation for this to work well.