Page MenuHome

Adding/removing force fields doesn't invalidate simulation caches
Closed, ArchivedPublic

Description

System Information
Ubuntu 12.04
ATI FLGRX

Blender Version
Broken: 2.69 7c9b106
Worked: never (ifaik...)

Short description of error
Force fields and Rigid bodies are not properly updated. Sometimes the order buttons are clicked does matter, and rigid bodies don't always react to force fields.
I have noticed manly 3 issues (that I name "Ghost force", "Delayed force" and "Unsensitive rigid body"), reported below.

Exact steps for others to reproduce the error


1°) Ghost force :

  • set gravitity to 0 in scene properties panel (just to better see the bug)
  • add a second cube (Cube.001) next to the original cube (Cube)
  • in Blender Render, physics properties panel, enable Force Field on 'Cube', and enable 'Rigid Body' for 'Cube.001'
  • run simulation (Shift+A) : all works perfectly, our rigid body moves because of the force field
  • disable Force field on 'Cube' => our rigid body keeps moving because of the (ghost) old force !

It seems like rigid body world is not updated when 'Force Field' is clicked on :
If you update the rigid body wold ( e.g. adding/enabeling/deleting/disabeling a rigid body), forces will act properly again.

2°) Delayed force :

  • set gravitity to 0 in scene properties panel (just to better see the bug)
  • add a second cube (Cube.001) next to the original cube (Cube)
  • in Blender Render, physics properties panel, enable 'Rigid Body' for 'Cube.001'
  • run simulation (Shift+A)
  • at Nth frame (where N>0), enable 'Force field' for 'Cube' => from now, rigid body will get repulsed from the force only above Nth frame (even if you run simulation again from 0th frame).

3°) Unsensitive rigid body :

  • set gravitity to 0 in scene properties panel (just to better see the bug)
  • add a second cube (Cube.001) next to the original cube (Cube)
  • in Blender Render, physics properties panel, enable 'Force Field' for both 'Cube' and 'Cube.001'
  • enable 'Rigid body' for 'Cube'
  • run simulation (Shift+A) => the rigid body does not move.

2°+3°bis) Unsensitive rigid body (bis) or delayed force (bis) :

  • set gravity to 0 in scene properties panel (just to better see the bug)
  • add a second cube (Cube.001) next to the original cube (Cube)
  • in Blender Render, physics properties panel, enable 'Force Field' for 'Cube'
  • enable 'Rigid body' for 'Cube.001'
  • enable 'Force Field' for 'Cube.001'
  • run simulation (Shift+A) => the rigid body DO move.

But it seems like it moves because of the '2°) Delayed Force' effect ; when you change force strength or add rigid body, Cube.001 gets stuck again.

Details

Type
Bug

Event Timeline

Théophile Chirac (Y_car) raised the priority of this task from to Needs Triage by Developer.
Théophile Chirac (Y_car) updated the task description. (Show Details)
Théophile Chirac (Y_car) set Type to Bug.

No idea why it was assigned to me. I don't usually deal with rigid bodies.

On the other hand, @Sergej Reich (sergof) do you mind looking into the issue? :)

Sergej Reich (sergof) renamed this task from Force fields and Rigid body uncompatibilities to Adding/removing force fields doesn't invalidate simulation caches.Feb 3 2014, 2:13 PM
Sergej Reich (sergof) lowered the priority of this task from Needs Triage by Developer to Confirmed, Medium.

it's actually a general problem with simulations, changes to force fields don't always invalidate the cache.

Lukas, remember you've been doing some changes in force fields+depsgraph. Is the issue solved now? If not, guess we'd better to move it to TODO as a part of Gooseberry project.

Closed as a Gooseberry TODO.