Jump to content
catchyid

Different ways of FLIP collisions ...

Recommended Posts

catchyid    14

Hi,

I can introduce collision into a FLIP sim using either:

(a) RBD collision (e.g. use static or RBD object), or

(b) FLIP source configured as collision (i.e. it has both collision and collisionvel volumes)

My question: what's the difference? why have two methods? Why (b) method requires two volumes (meaning, why it needs collisionvel volume while RBD does not need)...

Any insights or thoughts are appreciated :) 

Cheers,

Edited by catchyid

Share this post


Link to post
Share on other sites
Pazuzu    175

(a) This method uses volume based and point based collisions (collision detection). The results are much better at the cost of speed in some cases with huge colliders; Regards velocity this method has 3 modes to automatically compute your collision velocity, "Rigid", "Point" and "Volume". (Look at the Gas Build Collision Mask DOP node for more info)

(b) This method uses the standard pic approach to take into account colliders into the system as sdf representations; But at particle level the collision is just a test to see if a particle is inside, if is it, it will take it closer to the isocontour of the collision sdf. For the collision velocity you must compute it yourself.

Both are very useful methods. For example when you have large scale sims, the (a) can be a pain of slow with high rez collisions, because the solver has to recompute the collisionmask even if you sample the collision volume from sops, and that can take a lot of time. With (b) method there is no need to compute the collisionmask out of a collision relationship, so it will be faster but you can loose some nice collision behavior, it will be more basic in few words.

Cheers!

Alejandro

Edited by Pazuzu
  • Like 3

Share this post


Link to post
Share on other sites
catchyid    14

Thanks Alejandro :) I remember collisionmask was slowing my sim a lot with method (a) which agrees with what you say, and yes method (b) was faster, but my problem with it was that creating collision and collisionvel for many objects were too slow which defeated the whole purpose of using it (maybe I need to do more research to find a better way to create collision and collisionvel faster)...

Once more, thanks :)

Share this post


Link to post
Share on other sites
Pazuzu    175

You're Welcome!

Regards speed of computing the fields outside DOPs, is almost the same for both methods; For method (a) to be way faster, you should compute everything in SOPs as with method (b), the main difference is the velocity computation, but is not that bad regards speed.

Cheers!

Alejandro

  • Like 1

Share this post


Link to post
Share on other sites
catchyid    14

Another thought: I think there is one advantage of using collision and collisionvel which is one can control the impact of the collision individually for each object (i.e. customize each volume independently), however when using RBD object there is only one universal control for all collisions (i.e. in flip solver -> volume -> collision -> velocity scale)...

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

×