Page MenuHome

Wrong Motion Blur with Rigid Body Simulation / Point Cache
Closed, ResolvedPublic

Description

System Information
Windows 7 x64 and Linux

Blender Version
Broken: Probably with introduction of deformation motion blur.

Short description of error
Motion blur together with rigid body simulation produces wrong and arbitrary blurred images.

Exact steps for others to reproduce the error

A .blend file is attached with a cube as test rigid body and motion blur enabled.

  1. Step a few frames forward to generate some simulation data and motion
  2. Click "Deformation" checkbox in motion blur panel
  3. Render image, again and again and again... see the differences. Some extreme renders are attached here.
  4. Notice also that the rigid body continues the simulation one frame at a time although you're rerendering the same frame

Details

Type
Bug

Event Timeline

Kai Kostack (kaikostack) raised the priority of this task from to Needs Triage by Developer.
Kai Kostack (kaikostack) updated the task description. (Show Details)
Kai Kostack (kaikostack) set Type to Bug.

Hi,

i have been drilling down to pointcache.c regarding to this bug.... seems to be an one-liner.

in

static void ptcache_rigidbody_interpolate(int index, void *rb_v, void **data, float cfra, float cfra1, float cfra2, float *old_data)

replace the call to

psys_interpolate_particle(-1, keys, (cfra - cfra1) / dfra, keys, 1);

by

interp_v3_v3v3(keys->co, keys[1].co, keys[2].co, (cfra - cfra1) / dfra);

That fixed it for me under linux and windows... in my fracture branch. Just a suggestion where to look at.

Tested on Windows. Works in part but the simulation still continues on rerendering and then produces still artifacts.

It's important that you check the motion blur checkbox in the object properties once beforehand, because this somehow triggers the effect.

Good start though.

Brecht Van Lommel (brecht) lowered the priority of this task from Needs Triage by Developer to Confirmed, Medium.May 6 2014, 2:29 PM

Ok, this doesn't seem to be related to deformation motion blur, for example changing the Pass Index, or using Blender Internal has the same problem. What I guess happens is that changing any object property causes a dependency graph update, which then somehow causes problems with the rigid body cache.

The usage of psys_interpolate_particle is indeed a problem because the velocity in ParticleKey is used but not initialized for the old_data case.

Generally for rendering with motion blur, the simulation should be baked in advance.

I am running into the same issue, and my simulation was baked in advance before using motion blur. Everything worked fine for a while, but it decided to act up today. Is there any way to workaround this?

Looks like the bug is back. I can confirm that my test blend file doesn't work anymore, too. The cube disappears completely now despite a fully baked simulation.

Tested with Blender 2.71 for Win64, Hash: 9337574

Can't reproduce issues with baked sim with either 2.71 or master. Are there specific steps I can follow?

No specific steps, load the cube_bugtest.blend into Blender and render animation (baking is optional). After the first frame the result should look like one of the wrong examples above.

When in doubt if there's a bug, try on windows.

Ok, can reproduce now.

I've managed to reproduce this too, with a simulation baked from the scene panel in 2.71 (It's inconsistent though, attempting to do it in a fresh file failed).
The exact same file/cache renders correctly in 2.69.

This bug is still present in 2.72 RC1. The exact same file/cache appears fine in 2.70 as well as 2.69.

Confirmed on 2.72 (0334be9)

The cube is either transparent or completely disappears.

This bug is still here in 95182d1, (2.72).
Enabling deformation motion blur doesn't seem necessary to reproduce the issue.

Not to complain or anything, but this makes it impossible to render rigid bodies with motion blur in 2.71+, which means that it's necessary to revert to 2.70 to render rigid body sims.
This makes it difficult and awkward to render anything with rigid bodies and newer features like volumetrics.

Any chance of this getting fixed by 2.73?

I feel you brother !
..however Cycles no longer has a dedicated core developer and this is not an easy task to fix.
Dark days are coming.

This is not a Cycles bug as mentioned by Brecht and Sergey in this and the merged report. ;)

Sergej Reich (sergof) closed this task as Resolved.Oct 29 2014, 3:40 PM