Jump to content

Whitewater Foam MOd


gramx

Recommended Posts

Hi, I am looking into modifying the whitewater solver in Houdini. Currently If you generate Foam in you simulations you will find that areas of the simulation dip beneath the surface and disappear creating a popping effect which I have scene in several simulations. If you also calculate bubbles then these foam particles turn into bubbles beneath the surface and turn back to foam when they reach the surface. This is a nice feature however what I want to be able to do is calculate Foam on the surface and have it always buoyant so it never dips below the surface. Now I have dived into the whitewater solver and haven't yet been able to figure out which nodes are controlling the Foam particles and there transition into bubbles. I think this would be a very useful feature. Has anyone got any ideas on how to do this? Thanks Graham

Link to comment
Share on other sites

Now I have dived into the whitewater solver and haven't yet been able to figure out which nodes are controlling the Foam particles and there transition into bubbles.

In the SOP Solver called "classify_particles", inside the whitewatersolver.

edit: Also, you could probably Ray SOP the foam particles to the surface. Then they will always stay "floating".

Edited by Skybar
Link to comment
Share on other sites

Have you already increased the size of the foam layer by increasing the FoamDepth parameter? Cranking the bubble buoyancy way up also helps keep bubbles on the surface.

edit: Also, you could probably Ray SOP the foam particles to the surface. Then they will always stay "floating".

You can use the GasParticleMoveToIso DOP to snap the foam particles to the surface field very quickly. You will need to be careful because the transition to foam can make the snapping very obvious (which is why it isn't part of the default solver).

Link to comment
Share on other sites

Thanks Skybar I will check out the classify particles node! Thanks johner In my latest sims I have increases the foam depth and cranked up the buoyancy of the foam which does help! I wanted to try and get rid of the bubbles altogether as I sometimes find that I have millions of them under the surface which I never render!

Link to comment
Share on other sites

  • 1 year later...

Just wanted to add something to that year old thread.
Topic starter mentioned problem when large groups of foam particles disappear suddenly and re-appear again. I have encountered the same problem with my simulation and no recipe described here (short of sticking particles to the surface with GasParticleMoveToIso DOP) helps. And I have seen the same problem with white water simulatios that other people are working on.  Particles in whitewater solver DOP get classified into foam, spray and bubbles classes based on their proximity to surface. That surface volume is generated in whitewater source SOP and  gets pulled into DOPs in whiteWaterSolver DOP | fetch_surface DOP | object_merge_1 SOP.  Sometimes at least in my case that object merge fails to read "surface volume", and as a result particles at current time step get classified based on their proximity to the surface generated for one of the previous time steps.  My fix for that is to generate separate output from white water source object consisting only of "surface" volume and set that as an input for above mentioned object merge SOP inside whitewater solver.
Not sure that I will have luck re-creating that situation in simple example .hip file to send bug report to SIde Effects.  Anyway that fix might help somebody.

Link to comment
Share on other sites

  • 1 month later...

Just wanted to add something to that year old thread.

Topic starter mentioned problem when large groups of foam particles disappear suddenly and re-appear again. I have encountered the same problem with my simulation and no recipe described here (short of sticking particles to the surface with GasParticleMoveToIso DOP) helps. And I have seen the same problem with white water simulatios that other people are working on.  Particles in whitewater solver DOP get classified into foam, spray and bubbles classes based on their proximity to surface. That surface volume is generated in whitewater source SOP and  gets pulled into DOPs in whiteWaterSolver DOP | fetch_surface DOP | object_merge_1 SOP.  Sometimes at least in my case that object merge fails to read "surface volume", and as a result particles at current time step get classified based on their proximity to the surface generated for one of the previous time steps.  My fix for that is to generate separate output from white water source object consisting only of "surface" volume and set that as an input for above mentioned object merge SOP inside whitewater solver.

Not sure that I will have luck re-creating that situation in simple example .hip file to send bug report to SIde Effects.  Anyway that fix might help somebody.

Thanks stoptherain's tips:) I faced the same problem, will follow your way to deal with it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...