Jump to content
Sign in to follow this  
Waasha

VDB meshing with Bounding box

Recommended Posts

Hello everyone,

I was looking into the "new" way of meshing FLIP fluids - the VDB meshes.. It works like a charm and I like it a lot, but I miss one very important feature in there - if I want to mesh only a part of the particle "volume", with the old Particle fluid surface I could define a bounding box and all the meshing was done just and only in this bounds and without the "border sides" of the bounding box meshed..

I try to illustrate what I have in mind on the picture - there is a FLIP Fluid sphere, meshed with the Particle Fluid Surface with the bounding box enabled.

Does anyone know how to set up a similar approach with VDBs? And if the bounding box could be another object (like a sphere, or anything), that would be even more great..

A simple hipfile would be VERY appretiated - it's the best way to learn - to be able to try out different settings and play with the scene...But of course any advice/explanation would be great.

Thanks a lot!

post-9647-0-96695700-1386452298_thumb.jp

Share this post


Link to post
Share on other sites

Something like this?

vdb_mesh_crop.hipnc

Thank You very much for a quick response, Skybar, but I have a problem with opening your scene (see the picture for the error log)..

I'm using Houdini 12.5 - is that the problem (are you using H13 by any chance?)

I cannot tell what you had in mind from your scene, because it's incomplete.. :(

Could you resend a "working" (for me I mean :) ) example, or describe it in words, please?

Thank you a lot!

Edited by Waasha

Share this post


Link to post
Share on other sites

Ah right sorry, my bad. H13 introduced a new VDB SOP for meshing particle fluids, and improved the Convert VDB SOP.

This should work in 12.5. The first option is probably better, you would just need to trim the edges a bit if you need them cleaner.

vdb_mesh_crop2.hipnc

Share this post


Link to post
Share on other sites

Yeah, this one's working fine! I see what you meant, it's actually quite straightforward, thank You very much for your help, I learned a lot!

The only thing that comes to my mind is - this aproach deletes the surface I don't need AFTER it's all meshed...

The old aproach using Particle Fluid Surface had meshed ONLY the part I need, so it was MUCH more efficient and faster..

But again - thanks a lot!

Edited by Waasha

Share this post


Link to post
Share on other sites

Yeah, this one's working fine! I see what you meant, it's actually quite straightforward, thank You very much for your help, I learned a lot!

The only thing that comes to my mind is - this aproach deletes the surface I don't need AFTER it's all meshed...

The old aproach using Particle Fluid Surface had meshed ONLY the part I need, so it was MUCH more efficient and faster..

But again - thanks a lot!

The left example turns the particles into a VDB, and then we crop that VDB - then we mesh it. The right example is as you say.

I dont know if there is any other way, and I believe the Particle Fluid Surface SOP does something similar under the hood. Ie, it meshes the whole thing and then crops it.

In H13 though, we got a third input on the Convert VDB SOP where you can connect another VDB to tell it what to mesh. That whole new workflow is quite fast, about 1min/frame for a 32mil particle flipsim I did a while ago.

  • Like 1

Share this post


Link to post
Share on other sites

The left example turns the particles into a VDB, and then we crop that VDB - then we mesh it. The right example is as you say.

I dont know if there is any other way, and I believe the Particle Fluid Surface SOP does something similar under the hood. Ie, it meshes the whole thing and then crops it.

In H13 though, we got a third input on the Convert VDB SOP where you can connect another VDB to tell it what to mesh. That whole new workflow is quite fast, about 1min/frame for a 32mil particle flipsim I did a while ago.

Is that more efficient than deleting the points using a bounding box? I assume so because deleting is slower than VDB can mask it?

Share this post


Link to post
Share on other sites

Is that more efficient than deleting the points using a bounding box? I assume so because deleting is slower than VDB can mask it?

Yes, definitely. I put together a small test, and the workflow with VDB From Particles + VDB Smooth is actually faster than the new VDB From Particle Fluid. I didn't expect that. Am I doing something wrong? Granted the example isn't very extreme and it isn't a particle fluid.. but still. The difference in time is quite big, with negligible visual difference.

(file for H13)

vdb_mesh_crop_comparison.hipnc

  • Like 1

Share this post


Link to post
Share on other sites

I dont know if there is any other way, and I believe the Particle Fluid Surface SOP does something similar under the hood. Ie, it meshes the whole thing and then crops it.

That's not correct AFAIK - I tried it and when it's cropped by the bounding box, the meshing is just a fraction of the time it needs when it isn't cropped..

Share this post


Link to post
Share on other sites

Yes, definitely. I put together a small test, and the workflow with VDB From Particles + VDB Smooth is actually faster than the new VDB From Particle Fluid. I didn't expect that. Am I doing something wrong? Granted the example isn't very extreme and it isn't a particle fluid.. but still. The difference in time is quite big, with negligible visual difference.

(file for H13)

vdb_mesh_crop_comparison.hipnc

Thanks Skybar, your comparisons are very useful. I meant deleting this way:

O3g2VfU.png

This might not be a logical or reasonable way to do it though :)

Share this post


Link to post
Share on other sites

That's not correct AFAIK - I tried it and when it's cropped by the bounding box, the meshing is just a fraction of the time it needs when it isn't cropped..

I see, cool, the more you know :)

Thanks Skybar, your comparisons are very useful. I meant deleting this way:

This might not be a logical or reasonable way to do it though :)

I guess it depends on the scene, but you would still have to crop the mesh afterwards so that you only have your top surface - so essentially you have to delete points twice. It could make sense if you have tons of particles not contributing much to the surface, and if the time lost is regained by the speedup of turning it into a VDB. Or for other reasons, like having to minimize the diskspace. But for the purpose of only cropping the mesh I would say there are better ways.

Share this post


Link to post
Share on other sites

Thanks Skybar, you know more than me, so I think your workflow is better :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×