Jump to content

Pop Collision Ignore + Grain Solver


ParticleSkull

Recommended Posts

Great topic and solution! Basically the pbd_group you set to zero is the group that is used inside the POPgrains for the collisions?

I've noticed that if in Alvaro setup I disable the "Gas collision detect" the box still collide and the sphere is not. I'm not sure if it happens because they are obeying to the popcollisionignore or something else it's going on.

  • Thanks 1
Link to comment
Share on other sites

@Andrea yes exactly. I noticed the same thing when disabling the whole thing but as @ParticleSkull said it feels wrong :D which is why I came up with that group method. 

the reason the box still collides even with the gascollisiondetect disabled is because by default the Final Collision Test is enabled (where I guess the gasintegrator DOP apparently DOES take collisionignore attrib into consideration)

Edited by 3dome
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Thank you for the explanation @3dome!

With "it feels wrong" do you guys mean you get two different results? I just tested it again I got the same exact behaviour. But maybe that's because here we still have Houdini version 16

Link to comment
Share on other sites

To the eye the results may seem the same, but the data tells you that they are not. there is a difference.

From a quick investigation the reason it looks the same is because the explicit constraints take over detecting the collisions but even with them turned on you can see a different behaviour in the attached scene (the disabled one has a springy motion to it)
[if you disable the constraints AND the final collision test, you dont get any collisions (apart from Internal Collisions) anymore, because now all possible detections are bypassed(gas coll detect) or turned off (constraints & final coll test)]

It gets way more noticable if we turn off the explicit contraints (leave final coll test on):

(1)- disabling the gas collision detect: you can see that both objects blow up. the cube because it is meant to when hitting the box but also the sphere because it is getting in contact with the cube and the Internal Collisions affect the sphere's particles
(2)- modifying the group membership: you can observe that while the cube blows up when hitting the box, the sphere passes through everything untouched (and it of course affects the cube's particles).

This is because all those pbd collisions make use of the __pbd_group and in (1) all the particles are in that group while - as said - (2) excludes the sphere's ones

@ParticleSkull: so i guess the problem is when 2 grain objects hit each other and you have disabled the gas coll detect you get an unexpected behaviour

grains_avoid.collision_1.03.hiplc

Edited by 3dome
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Awesome. Thank you very much, Dominik.

I'll make a quick guide here for someone trying to do the same stuff (probably me in the future):

Grains have a group called __pbd_group (yeah, with 2 weird underlines at the beggining). If this group is set to zero, the grains don't collide with scene objects.

In this situation we have to set this group to 0 only for the sphere's grains. Here's Dominik's approach:

97C3BxV.jpg

atm43NT.jpg

 

grains_avoid.collision_1.03_FIXED.hiplc

  • Like 1
Link to comment
Share on other sites

@ParticleSkull tricky question, but I think I found a way.
According to the docs the gas collision detect just stores the collision information into attribs instead of manipulating the points. I make use of that by setting those attribs back to 0 for points that are supposed to ignore the collision with a certain collider.

I didn't test it with millions of grains, but this hack might be not as efficient as a clean solution (which I didn't figure out yet) since it still computes the collisions for all points. 

grains_avoid.collision_1.04.hiplc

  • Thanks 2
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...