Jump to content
isah_voodoo

ignore collision pyro

Recommended Posts

Hello. I have a question about pyro. Is there an attribute that I can set in dops that will make pyro ignore the collision objects? I know in Bullet there is the "collision ignore" attribute or something similar to that... But is there something for pyro ?

The reason I ask is because I have a cluster set up and I want to ignore all collisions for a specific cluster.

Thank you

Share this post


Link to post
Share on other sites

pyro solver -----> relationships -----> collisions -----> enable collision relationship. There is that option, but I am not sure about ignoring per cluster. Maybe another pyro container for the cluster you don't want to collide is another option.

  • Haha 1

Share this post


Link to post
Share on other sites

hi ejr. thanks. sounds interesting..but Im not to sure how i would make that work..

I was thinking maybe I can use an if statement inside a switch that will basically switch to an empty null when the desired cluster is simming in dops...but  i don't know how i would access the groups in dops that the cluster is under.

thanks for the reply.

Share this post


Link to post
Share on other sites

that should be simple, you can use your cluster variable to toggle the "enable collision relationship"
on the toggle, press alt+click to and set an expression:
for example to ignore the collisions on cluster number 5, set the expression to : $CLUSTER!=5

Share this post


Link to post
Share on other sites

This expression $CLUSTER!=5 will return 0 or 1, so it's already an implied if statement.
I'm not sure I understand your setup, are you not using any ROP network?

Edited by bunker

Share this post


Link to post
Share on other sites

$CLUSTER does not seem to exist anymore that is why the user is experiencing failure. I tried $OBJID as well and that expression does work, but the solver seems to only review the collision flag once and not per frame. I'm not sure Houdini pyro solver can do what Matt wants.

Another approach would be to use two solvers and two point sets. Assign one set of cluster points to a solver with collision turned on and the other to the second solver that has collision turned off.

Edited by Atom

Share this post


Link to post
Share on other sites

$CLUSTER was just an example, you can use any name you choose (if you need an environment variable).
you can create any environment variable in the textport: setenv CLUSTER=0
Doing this setup is totally possible, it really depends how you plan on launching your clustered sims.

Share this post


Link to post
Share on other sites

@Atom @bunker

Thank you for the response guys. Maybe I am confused about clustering still. 

I created the environment variable using an attribute create called CLUSTER.

i then tried to set an expression with this environment variable in dops  pyrosolver>Relationships>Collisions>Enable Collision Relationship. I wrote : $CLUSTER!=5

So is this possible to achieve or do I have to make two different pyrosolvers like Atom said ?

 

On a side note:

I was going to worry about caching this stuff out later on but I am not sure what the best practice is to cache out clusters.

Is it possible to cache out each cluster separately so that dops is only cooking one cluster at a time and not calculating the other 10 clusters?

Thanks guys. 

 

Share this post


Link to post
Share on other sites

Environment variables and local variables are different things, even though they both start with "$"
btw, you should forget using local variables, there are obsolete these days.
if you're not familiar with clustering, you should probably stick with two pyroSolvers.

If you know some basic python, I answered a similar question before:

 

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

×