Jump to content
Sign in to follow this  
drossxyu

FLIP and Bullet Interaction Troubleshooting

Recommended Posts

I've been trying to get a grasp on the FLIP workflow for the past 2 weeks or so and one thing i'm having
trouble wrapping my head around is how to have my RBD toy object react elegantly to the FLIP simulation. It always
seems to move in an erratic way with lots of weird little jitters and bumps yet the FLIP fluid beneath it appears to be
pretty smooth.

My scene scale is realistic. The baby pool is 3m in diameter

I've tried lowering my collision separation to match my particle separation (currently 0.01). I had to lower this considerably to keep the water from leaking out of the bottom of the pool.

Feedback scale is set to 1.

The Density of the toy is lower than the water (50 vs 1000)

I've tried increasing the overall substeps to 2 on the dopnet itself but it did not seem to make a difference.

I used a convex decomposition on the toy to turn it into a bunch of packed convex pieces. It's set to convex hull in the RBD Packet Object bullet data options. Maybe this is the problem here? I don't see a way to create a volume representation of the toy.

The pool and the ground are both static objects prepared as an SDF in SOPs and set to “Volume Sample”. I increased their uniform subdivisions to 60.

I've attached the file if anyone has time to help me investigate.

Cheers!

https://streamable.com/s/7pwh4/mwtako

 

flipToyTest_v3.hiplc

Share this post


Link to post
Share on other sites

I tried it with a default ground plane instead of the ground geo.  It seemed to behave a little better.  It still bounces around, but maybe that's what it's supposed to do.  It's pretty light.

Share this post


Link to post
Share on other sites

Hi.

I've made some changes in your scene. First made bottom of the pool a bit thicker. Second I've used RBD Object DOP instead of RBD Packed Object DOP for Bullet and volume collision for it. Third value of collision separation should be lower then particle separation (it there is in the help-card), so I've used expression ch("particlesep")*0.5. Other changes like decreasing particle separation, bypassing some DOPs, changing feedback scale I've made for the test purpose only.

flip_01.gif.3d9c15e2d6174344a615fa09723ebf82.gif

flipToyTest_v3_01.hipnc

Share this post


Link to post
Share on other sites

This is working a lot better! Thank you.

One thing I noticed is that you're using the default "Ray Intersect" method for your RBD Object DOP collision method.  This seems to work fine.

 

What I don't understand is why I'm unable to successfully prepare my collision SDF for the rubber toy in SOPs without strange results.  I did a simple

conversion of the rubber toy with a vdbFromPolygons set to surface, set my RBD Object DOP to "volume sample", and pointed the volume proxy

to this output.  You can see below that the toy just flickers in and out of existence and ultimately disappears.

 

I also prepared my collision geometry for the bullet collisions by fracturing it first so that I can have more accurate RBD collisions but as you can

see with the "Ray Intersect" method it sees the fractured geometry and creates a weird and i'm assuming inaccurate collision volume.

 

https://streamable.com/v1y28

 

Share this post


Link to post
Share on other sites

Here's another question:

 

When I read my simulation back into SOPs I have both a Dop Import Fields to bring in my FLIP data (Geometry, surface and vel fields) and a separate Dop Import to bring in my simulated rbdobject1 rubber toy (set to fetch geometry).

 

I'm writing both of these imports using separate rop_geometry_output nodes but it seems like it's having to calculate the sim twice.  Is there any way around this?  Seems redundant.

 

 

Share this post


Link to post
Share on other sites
Posted (edited)
14 hours ago, drossxyu said:

What I don't understand is why I'm unable to successfully prepare my collision SDF for the rubber toy in SOPs without strange results.  I did a simple

conversion of the rubber toy with a vdbFromPolygons set to surface, set my RBD Object DOP to "volume sample", and pointed the volume proxy

to this output.  You can see below that the toy just flickers in and out of existence and ultimately disappears.

It works fine for me. This is your scene with Volume Sample mode and Proxy Volume:

flip_02.gif.9258a303a32a11d91b3e15b787273040.gif

flipToyTest_v3_02.hipnc

 

14 hours ago, drossxyu said:

I also prepared my collision geometry for the bullet collisions by fracturing it first so that I can have more accurate RBD collisions but as you can

see with the "Ray Intersect" method it sees the fractured geometry and creates a weird and i'm assuming inaccurate collision volume.

You no need to fracture it. As i know flip works properly with RBD Object only and volume collision , not with RBD Packed Object and convex hull.

8 hours ago, drossxyu said:

I'm writing both of these imports using separate rop_geometry_output nodes but it seems like it's having to calculate the sim twice.  Is there any way around this?  Seems redundant.

Did you check Initialize Simulation OPs parameter into the ROP Geometry Output? If it is on then all network will be re-simulate.

Edited by vicvvsh
  • Like 1

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  

×