Page MenuHome

Liquid cache of type "Replay" doesn't get invalidated when moving participating objects
Closed, DuplicatePublicBUG

Description

System Information
Operating system: Ubuntu 18.04
Graphics card: irrelevant

Blender Version
Both broken:

  • 2.83 Beta d712f1f83af8 23 Apr 2020
  • 2.90 Alpha 826f6dd9ee20 23 Apr 2020

Short description of error

Moving objects doesn't invalidate a "Replay" cache once the liquid simulation has started.

In short: If I cache the first 3 frames, then I add/remove/move some element, resuming the animation still works using the original flow objects and effectors.

In the other simulation engines that allow "Replay" modes (e.g. rigid body, cloth), either resuming or going back to frame 0 and re-starting the animation would invalidate and recompute the cache, if something has changed in the meanwhile.

*However:* if I change any Liquid settings on a effector or flow object, then the cache correctly gets invalidated. And from that moment on, moving that object correctly invalidates the cache. So, in some way, the invalidation check is "hooked" to Transforms starting from the first time some Liquid parameter gets changed.

Exact steps for others to reproduce the error

1) The bug

  • Open the attached basic scene

  • Advance frame-by-frame (right arrow) to frame number 9
  • Grab the "blocker" 3 units in the negative Y direction
  • Advance frame-by-frame to frame 17: the fluid goes right through the blocker.
    • You can also go back to frame 0 and advance again, it still ignores the blocker.
    • i.e. Transforms applied to the Effector didn't update the fluid scene, nor invalidate the cache

2) investigation

(continued from the steps above)

  • Change any Fluid property on the Effector (e.g. bump Sampling steps to 1 then back to 0)
  • The cache gets correctly invalidated
  • Go to frame 0, advance some frames
  • Move the blocker
  • The cache gets correctly invalidated again, meaning that changing the fluid property has hooked the correct checks also to the Transforms!
  • Go to frame 0, advance some frames
  • Move the Inflow object
  • The cache doesn't get invalidated, meaning that the blocker's Transforms has been hooked, but not the other objects'.

Event Timeline

Ankit Meel (ankitm) changed the task status from Needs Triage to Confirmed.Apr 25 2020, 3:13 PM
Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Bug".May 5 2020, 11:52 AM

@Sebastián Barschkis (sebbas): still a bit on shaky ground in regards to what is supposed to work in manta and what is not, but this sounds like a bug to me...

Thanx Germano.
Waiting for RESET CACHE button... :)

Hi, I would rather post it also in here...the cache playback problem is still present (Blender 2.83.5) so I ve recorded the issue with it here
video demonstration of playback issue