Page MenuHome

Liquid simulation, cache type "Replay", doesn't recognize objects created after Domain creation, doesn't update
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Ubuntu 18.04
Graphics card: irrelevant

Blender Version
Broken: 2.83 Beta 8cb10c124efe 17 Apr 2020

Short description of error
Under cache type "Replay" (which appears to be the new default) the domain only takes into account fluid objects that were created before creating the domain!

Exact steps for others to reproduce the error

Creating domain first: Doesn't work

  • Default file. (Activate X-Ray)
  • Default cube: Scale up by 2. Add Physics > Fluid > Domain > Type: Liquid
  • Add new cube at origin (inside the initial cube).
  • Add: Fluid > Flow > Type Liquid
  • Right arrow 10 times
    • Expected: FLIP particles pouring from the inner cube
    • Actual: Nothing happens

Creating flow/effectors first: Kind of works

  • Default file. (Activate X-Ray)
  • Default cube: Add: Fluid > Flow > Type Liquid
  • Add new cube at origin. Scale up by 2.
  • Add: Fluid > Domain > Type Liquid
  • Right arrow 10 times (works)

However in this situation I can't make use of the "Replay" advantages because any change I make to the scene won't be taken into account (unless I change cache location)

Event Timeline

Ankit Meel (ankitm) changed the task status from Needs Triage to Needs Information from User.EditedApr 18 2020, 5:05 PM

Creating domain first: Doesn't work

I can see the particles, & I followed the steps in order. I'm using rB221a7002a98198730efc9d31e1d72cc0efac7022
Please share a blend file for both cases.

I don't have my building environment ready, so I downloaded last night's builds (76b3aac802f9). I still reproduce the error.

However, if I save and reopen, the particles now show correctly (but the cache is empty). This is an interesting finding, by the way. However, it means that I can't share a file to demonstrate, because opening from file is effectively a workaround.

I'll show a video instead:

PS: saving alone doesn't help, nor does saving at the very beginning (which would be a problem if cache was somewhere in //, which it isn't). I have to save then re-open to obtain a workaround

Please try after moving the blender preferences folder outside so that blender starts fresh & you have your preferences safe.
I used rB1f1520a04503d946b7120ddc681282bc2d4b3036.
Still cannot redo. Making the inner cube flow | liquid shows particles.

I've repeated with fresh preferences and still no luck :(

Ankit Meel (ankitm) changed the task status from Needs Information from User to Needs Triage.Apr 19 2020, 2:07 PM

@Nicola De Mitri (nicolasap) does this happen if you modify domain content and press shift + right key?

It seems that if you move playhead my mouse, domain won't update

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.Apr 21 2020, 12:48 PM
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".

I can confirm that there is some strange behavior.
Although there are workarounds (for example updating the cache) this should not happen.

So I am confirming it as a bug.

The issue I was encountering seems to be fixed in the latest builds (d712f1f83af8)

What is still true, however, is that there isn't a way to invalidate a "Replay" cache once the simulation has started. If I cache the first 3 frames, then I add/remove/move some element, playing the animation still works using the original flows and effectors. In the other simulation engines that allow "Replay" modes (e.g. rigid body, cloth) going back to frame 0 and re-starting the animation would invalidate and recompute the cache, if something has changed in the meanwhile.

I don't know if this (↑) is the "strange behavior" Germano is talking about. If it is, then this Task should probably stay open. If it's not, then probably this Task can be closed and my other concern can be ticketed separately (can/should I do it or is it considered a feature request?)

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

As @Richard Antalik (ISS) also said above, shift right or going to the starting frame updates the cache.
If there's isn't anything else @Germano Cavalcante (mano-wii) you noticed, closing it should be fine.

going to the starting frame updates the cache

This is not true for me!

shift right

This neither

(d712f1f83af8 builds from yesterday)

Ankit Meel (ankitm) added a comment.EditedApr 25 2020, 1:32 PM

Does the effector have some thickness ?

Yes, it's a scaled cube. It doesn't have "Surface thickness" but that's not required. Indeed, it works just fine if I manually delete the cache and restart

But Blender won't invalidate the cache on its own. The problem is with the cache, not with my scene settings.

Nicola De Mitri (nicolasap) claimed this task.

It's been pointed out, in the chat, that the shift in focus of this Task may be confusing.

Since the issue that gives the title to this Task is now solved, this task can be closed as Resolved.

I've opened another Task (T76095) for the bugs that emerged after the original bug.