Jump to content

Precise FLIP collision with VDB volumes


Waasha

Recommended Posts

Hello,

 I'd like to know, what am I doing wrong, when I'm doing a collision with VDB volume. The collision is never precise, no matter how high I set the resolution of the collider...

 

If you explore the scene after the cube sinks down in wireframe mode, you can see there are particles getting inside of the collision object - mainly on the bottom..

 

I tried playing with the exterior and interior band settings, VDB voxel size, the velocity scale, particle separation of the flip fluid... Nothing got me the desired result..

 

What would you suggest?

 

Thanks and bye!

Flip_VDB_Collision_test_V01.hip

Edited by Waasha
Link to comment
Share on other sites

VDB is certainly supported in this case. VDB can be used almost anywhere a Houdini volume can be -- it just isn't used for internal simulation grids. 

 

The only real problem with the file I can see is the detail level..  Lowering the particle  spacing and/or mayby enabling and modifying the "Collision Separation" parameter on the flip tank object can help get more detail in the collision field... even setting particle spacing at  .02  I'm seeing a hole in the bottom.

 

Seems to be working as is, but I remember reading that for volume collisions (when using the source node like this) you are supposed to be using Move Outside Collision for Collision Detection instead of Particle.

Link to comment
Share on other sites

Thank you, Solitude for your advice!

 

I tried setting the "Move Outside Collision" option, but nothing drastically changed..

 

Also I noticed a checkbox "Use Volume Velocity" in the Collision tab of the Fluid Object, but again - no visible change

 

And finally - there is a slider to control the Volume Offset - I set it all the way to 1, and... guess what... -same story..

 

If you look on the pictures, you will clearly see what I mean.. I wouldn't mind if there would be few particles "a little bit late", but this is WAY too much and I need to collide with MUCH more complex object (this was just a test, to check if it'll work)..

 

Anyone? This looks really strange.. Such a simple sim and with THAT bad outcome? I must be doing something wrong...

 

Thanks!

post-9647-0-23626800-1387059418_thumb.jp

post-9647-0-71876700-1387059428_thumb.jp

Link to comment
Share on other sites

Hi,
as Ian and Tomas suggested you had to do both. Turn on Fill Interrior on the VDB From Polygons and change type of collisionvel field to Displacement/Velocity (instead of color/UVW) just to be sure that solver gets correct data and collision object is watertight.
Your VDB resolution is also too high, set Voxel Size to the value 0.1
Then switch Move Outside Collision for Collision Detection instead of Particle on the FLIP solver.

I modified your hip file (and I added visualisation of particles that remained inside collision volume), you can use that for deleting particles that escaped collision detection if you need bigger precision.


 

Flip_VDB_Collision_test_V01_fix.hipnc

Edited by pezetko
Link to comment
Share on other sites

Thank you very much, pezetko. I did try all the options that others sugested together off corse, but without any change.. The only option, which had better outcome (after few runs, because for the first few times, the sim strangely didn't update, I had to manually reset the sim to make it work) was the Fill Interior of the VDB, but I'd like to avoid this option, because it increases the filesize and the computational time-IMHO unnecessarilly..

 

For example in this scene from Igor Zanic(again, big thanks to you, Igor), that I found elsewhere in the odforce forums, Igor doesn't use any of the settings sugested and have much more complicated (motion wise) setup and it works perfectly well! I know it's a little bit different, beeing inside of the VDB, but still - it's perfectly precise..

 

But what puzzles me is that after DOWNsampling my VDB as you sugested (10 times lower resolution) it started to work MORE precisely!! How can I have --too much-- resolution? And to think that it will decrease the precision of the sim... that I really didn't expect...

 

Thanks a lot!

flipVDB_inside.hip

Link to comment
Share on other sites

You can turn off Fill Interior, but you have to increase shell thickness of collision object (interior and exterior band size) depending on how fast object and water moves . You have to do same if you increase VDB resolution. So to get similar result with voxel size 0.01 try to increase Interior Band Voxels to 10 and Exterior keep on default 3.

The particle (or collision object) can be that fast that it skips the voxels where the collision volume is defined (It depends on FLIP grid resolution comparing to collision volume resolution).
 - I don't think it traces all voxels from old position to the new positions for any potential collision between each frame, but I'm not sure. Please correct me somebody if you know more how does FLIP collision work.


You can also enable Collision Separation on FLIP object (inside DOP) and set it to the same value as Particle Separation or lower, but you will get some slowdown (but it works also with thin shell and Collision Detection: Particle method)
So try VDB resolution of Collision object with Voxel Size: 0.05, Interior and Exterior Band size: 3 and inside DOP on FLIP Object set Particle separation to 0.05, Collision Separation 0.05, and FLIP Solver Collision Detection: Particle. It should be quite fast and accurate.


 

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...