3
$\begingroup$

I have a scene where I am using a fluid simulation to splash water into an invisible diamond shape. I'm using a boolean modifier to remove (subtract) the jagged edges from the outside of the water. However, the modifier only works on some frames. On others, it causes most of the water to be completely flattened into a diamond shape, effectively deleting the surface of the water where it should not be touched by the modifier.

Basically, this is what I'm starting with: water before boolean modifier

I'm using a boolean modifier to subtract this from the water mesh: diamond shape to be subtracted

This is the intended result (on a previous frame where it works): boolean modifier working on previous frame

And this is what I get instead on some frames: unintended result of boolean modifier on desired frame

Here is the .blend file, for reference:

I have made sure that the normals of the mesh I am subtracting are correct. I have also tried applying the fluidsim modifier on the frame I want, removing doubles and making normals consistent with ctrl+N, but the result is the same.

What is causing the boolean difference modifier to behave like this? Is there anything I can do in my project to fix it?

$\endgroup$
  • $\begingroup$ It is possible you have non-manifold vertices causing the Boolean operators to misbehave. See blender.stackexchange.com/questions/40094/… . $\endgroup$ – Ed Tate Oct 24 '15 at 20:26
  • $\begingroup$ @EdTate Thanks for the pointer. However, when I apply the fluidsim modifier and go to select non-manifold geometry with ctrl+alt+shift+M or through the select menu, nothing is selected. So it doesn't look like that is the problem. $\endgroup$ – Stuntddude Oct 24 '15 at 21:07
4
$\begingroup$

The problem appears to be due to quads in the object used in the Boolean operation.

If the you look at the mesh for the object used in the difference boolean operation, there are quads visible.

Boolean object with quads in the mesh

In edit mode, here is a quad face highlighted.

Quad face in mesh

If you either triangulate the mesh or add a triangulate modifier to the mesh (and enable it...) the Boolean operation looks like expected.

Triangulated Boolean object mesh

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.