Page MenuHome

Wrong location of FLIP fluid mesh after editing domain mesh
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 1070 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 436.30

Blender Version
Broken: version: 2.82 (sub 7), branch: master, commit date: 2020-02-12 16:20, hash: rB77d23b0bd76f
Worked: (optional)

Short description of error

Any time I make any simple scene with FLIP fluids and bake the mesh, it ends up bellow the actual fluid simulation. Moving it manually isn't helpful as it moves the particles along with it. I managed to get it to work only once by changing the cache folder. For some reason it worked then, but now I've tried about 5 times and made several different scenes, I always get the same result.

Exact steps for others to reproduce the error

  1. Create any fluid simulation, either manually or with quick fluid
  2. Select Domain, go to edit mode, move one of faces
  3. bake the simulation
  4. bake the mesh

Event Timeline

Richard Antalik (ISS) changed the task status from Needs Triage to Needs Information from User.Feb 19 2020, 1:59 PM

Can you check if this happens when you load factory defaults (File > Defaults > Load Factory Settings)?
Does this happen when you apply Object > Quick Effects > Quick Liquid on default cube?

MARaf (PirateKitty) added a comment.EditedFeb 19 2020, 2:49 PM

Quick effects on the default cube worked as expected.
Then I changed the scene in edit mode to be like this:


And this happened:

I applied all transforms to the domain, things moved a bit, but were still off:

After that I loaded factory settings.
Default cube with quick liquid worked as expected. Scaling and moving the cube inside the domain quick liquid created worked as expected.
But after I edited the domain, the same as above happened and the mesh was off place again.

Edit:
Made a video as well, here's the link
https://www.youtube.com/watch?v=-Wg4SrKBr7k

Edit2:
I may have figured it out, same scene from the video after setting origin to geometry:

Richard Antalik (ISS) renamed this task from FLIP fluid mesh baking always ends in the wrong position to Wrong location of FLIP fluid mesh after editing domain mesh.Feb 19 2020, 3:07 PM
Richard Antalik (ISS) changed the task status from Needs Information from User to Confirmed.
Richard Antalik (ISS) updated the task description. (Show Details)

When you edit domain to elongate it on one axis, origin of domain is no more at center of bounding box.

If you reset origin of domain to center of geometry (Object menu -> Set Origin ->Origin to Geometry) , everything should go back to expected position.

When you edit domain to elongate it on one axis, origin of domain is no more at center of bounding box.

If you reset origin of domain to center of geometry (Object menu -> Set Origin ->Origin to Geometry) , everything should go back to expected position.

Yes, I just realized that. At least that's a quick fix for me to continue with my planned scenes. Considering the rest of the baking works regardless of the origin position, I believe mesh baking should as well.

Globally, particles are relative to original mesh. But mesh result from simulation is replacing original mesh.
So, it has to be relative to origin.

There is probably a way to store point of reference of simulation when baking it to bake whatever origin is.
But you would have revert problem.

If for some reason, you reset origin of domain (selected as one object among others) ; you will recreate the offset.
And behavior will seem counter-intuitive in that case, too.
So, if there are few statement to respect, Domain is bounding box of current mesh. Origin of domain has to be in center of its bounding box.
We keep things simple and understandable by everybody.

Adding this explanation to documentation should be sufficient.

MARaf (PirateKitty) added a comment.EditedFeb 19 2020, 4:21 PM

When trying to convert coworkers from 3DSMax to Blender, I've seen two of them ragequit because of minor issues like this. At the time it was because of particle systems and setting more particles than vertexes when using that mode outright made blender crash out. It's something that could have been fixed with a simple IF statement in the code.

If this is intended behavior, that's alright, but it's an unintuitive behavior. When you set a domain, you expect things to work. At the very least make it clear, in the UI, in blender, that you have to set origin to geometry on the domain when baking instead of making the user think he's doing something wrong, then ask around, then maybe dig in the documentation to find out why.

Alternatively, you can just add a checkbox like "Set origin to geometry when baking" in the mesh baker menu. All it would have to do is run that function before doing the baking. Behavior remains the same and it's more user friendly with a minor automation.

Jacques Lucke (JacquesLucke) changed the subtype of this task from "Report" to "Bug".May 20 2020, 2:51 PM