Jump to content

Different ways of FLIP collisions ...


Recommended Posts

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
Link to comment
Share on other sites

(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 6
Link to comment
Share on other sites

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 :)

Link to comment
Share on other sites

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 2
Link to comment
Share on other sites

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

  • Like 1
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...