Jump to content

Creating bubbling lava


durandal

Recommended Posts

I'm trying to create a single lava bubble, with the bubble extruding from the lava surface, popping, and then reforming into the base surface. I've got it like 99% there, but I can't get the bubble to actually pop and come apart. I've been struggling with this for a while (I'm a relative Houdini newbie, but not completely so) and would love a bit of help on this last portion of the thing. It's driving me completely crazy. It's the popping and separating / cooling / flying apart part that I'm just completely stumped by.

Thanks a bunch everyone.

boilingLavaSecondTry05.hiplc

Edited by durandal
Link to comment
Share on other sites

I'm opening this file in 17.5.391 and the popnet is being turned into a merge node which leads me to believe you're using a much older version where popnet is still outside of the DOP context. Replacing the popnet, I was able to get it functioning but it means any example file I build you will not be able to open properly.

Part of the problem is that this setup is using a deforming volume with no velocity. The collision is not actually pushing the fluid, the volume is simply getting larger around your particles. Visually it looks correct, but the solver needs velocity to actually push your particles outward otherwise it just thinks "oh now I'm inside the volume" and tries to solve for correcting this penetration. 

You can trail the points of the spheres after your copy to get a velocity attribute. Then use a vdbfromparticles to create a velocity volume from that attribute, if you're unfamiliar, there is a plus button at the bottom of vdbfromparticles you can use to create volumes other than simple fog or SDFs from an attribute. Once you plug in the velocity of the expansion you should get a better result. 

Hope this helps. 

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, Feather said:

I'm opening this file in 17.5.391 and the popnet is being turned into a merge node which leads me to believe you're using a much older version where popnet is still outside of the DOP context. Replacing the popnet, I was able to get it functioning but it means any example file I build you will not be able to open properly.

Part of the problem is that this setup is using a deforming volume with no velocity. The collision is not actually pushing the fluid, the volume is simply getting larger around your particles. Visually it looks correct, but the solver needs velocity to actually push your particles outward otherwise it just thinks "oh now I'm inside the volume" and tries to solve for correcting this penetration. 

You can trail the points of the spheres after your copy to get a velocity attribute. Then use a vdbfromparticles to create a velocity volume from that attribute, if you're unfamiliar, there is a plus button at the bottom of vdbfromparticles you can use to create volumes other than simple fog or SDFs from an attribute. Once you plug in the velocity of the expansion you should get a better result. 

Hope this helps. 

 

This is super helpful! You can upload your example file and I can forcibly upgrade to 17.5.391 (the version it was made in was 17.0.352). I've been holding off on doing that mostly out of laziness, so if you have a working copy I'd love to see how you did it, as I've wasted hours and hours trying to get this to work. Honestly thank you again.

Edited by durandal
Link to comment
Share on other sites

For some reason the network from your scene kept having issues with 17.5.391 so I rebuilt the flipsolver network.

This is be no means a great example but its functioning as I believe you were intending. 

The biggest difference is switching the animation of your pop from using a color ramp to a spline ramp so you can make use of a bezier curve to define the pop animation. Next is timing the deletion of the bubble geo to right after the pop animation occurs. Last I just used a rbd object because I knew for sure the collision would be interpreted correctly by the flipsolver. There are other ways of getting these collisions into flip that are probably faster but this was the quickest way to get a file together for you.

boilingLava17.5.391.hiplc

  • Like 1
Link to comment
Share on other sites

The animation is the most important part here. To get the popping effect you need a quick snap like motion. The ramp you were using to animate the bubbles pscale was a long smooth linear ramp. The bezier curve lets you create a very sharp curve that does not ease out and results in the snapping motion you need to propel the particles outward just before you delete the bubble. 

I also upped the resolution of the sim and added a few substeps make sure the snap is not missed since it happens over one to two frames.

Link to comment
Share on other sites

Okay, that makes sense! Thank you.

You don't have to answer this bit as it's more for my edification than anything else, but what was I doing wrong in my original version in regards to the velocity? Is it not possible to give velocity to a pop node just by having it move via the popnet? Instead you have to use trail? When I tried adding that to my original version (after your first post) that still didn't give it different behavior. I'm just trying to learn from my mistakes here, but there are so many different pieces in Houdini that I'm fuzzy on that it gets a bit easy to get lost.

Link to comment
Share on other sites

I don't think you were importing the velocity into the simulation incorrectly but I can't say for sure because I couldn't get the solver to recognize the velocity properly. I could get it to show up in the visualization fields but it wouldn't interact properly. I couldn't tell if it was a version issue or something to do with some changes you had made to the setup, hence me rebuilding that part of the network. 

The velocity of your bubble was coming from the particle to which it copied each sphere. So the velocity of each point on the bubble was exactly the same (0,1,0) meaning no outward movement was taken into account. When you animate the sphere, for example with a mountain, that doesn't change the velocity attribute, it only changes the position of each point. To add the motion that mountain gives you to the points you need to recalculate your velocity using trail.

Link to comment
Share on other sites

On 10/18/2019 at 10:16 AM, Feather said:

I don't think you were importing the velocity into the simulation incorrectly but I can't say for sure because I couldn't get the solver to recognize the velocity properly. I could get it to show up in the visualization fields but it wouldn't interact properly. I couldn't tell if it was a version issue or something to do with some changes you had made to the setup, hence me rebuilding that part of the network. 

The velocity of your bubble was coming from the particle to which it copied each sphere. So the velocity of each point on the bubble was exactly the same (0,1,0) meaning no outward movement was taken into account. When you animate the sphere, for example with a mountain, that doesn't change the velocity attribute, it only changes the position of each point. To add the motion that mountain gives you to the points you need to recalculate your velocity using trail.

Ahhhh, okay! I got it. Thanks so much. This is so helpful. I felt like I was getting the hang of some Houdini stuff after my last project but there are just so many components to figure out. Thanks again, man. I really, really appreciate 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...