Operating system: Linux-5.3.0-29-generic-x86_64-with-debian-buster-sid 64 Bits
Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 440.59
Broken: version: 2.82 (sub 6), branch: master, commit date: 2020-02-11 14:45, hash: rBc939b4df18e9
Worked: This has been the way Cycles motion blur has worked since I started using it, so I wasn't sure if this was classed as a bug or not. Either way, it would be great if this didn't happen.
Short description of error
When animating the influence value of the 'Child Of' constraint, motion blur errors occur when the bone isn't in the position where 'Set Inverse' correction was set.
The very simple example attached (blur-childof-constraint-bug.blend) shows how the mesh of the cube isn't "moving", but still gets blurred based on the parent bone's motion, the 'Child Of' constraint seems to be ignored by the blur.
This is a practical problem for character animators in particular. See example apple-blur-test.blend. A character picks up an apple with one hand, tosses it in the air and catches it with the other hand, then places it back down again in a different position. The child of constraint needs to be animated to control the influence the hands have on the apple. Position and rotation keyframes need to be added to compensate for the Inverse correction of the Child Of constraint. When influence switches from 1 to 0 (when a hand is letting go of the apple), a motion blur error occurs (see below frames 40 and 80 of the apple test where this influence switch occurs).
Exact steps for others to reproduce the error
- Open 'blur-childof-constraint-bug.blend'
- Hit render.
- Open 'apple-blur-test.blend'
- Go to frame 40 or frame 80.
- Hit render.