isah_voodoo Posted December 11, 2018 Share Posted December 11, 2018 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 Quote Link to comment Share on other sites More sharing options...
evanrudefx Posted December 11, 2018 Share Posted December 11, 2018 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. 1 Quote Link to comment Share on other sites More sharing options...
isah_voodoo Posted December 12, 2018 Author Share Posted December 12, 2018 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. Quote Link to comment Share on other sites More sharing options...
bunker Posted December 14, 2018 Share Posted December 14, 2018 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 Quote Link to comment Share on other sites More sharing options...
isah_voodoo Posted December 17, 2018 Author Share Posted December 17, 2018 hi bunker. thank you for the response. I tried that expression in dops after I created the local variable in sops..however it is still resulting in an error. Do i need to do an if statement? cluster_collision.hipnc Quote Link to comment Share on other sites More sharing options...
bunker Posted December 19, 2018 Share Posted December 19, 2018 (edited) 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 December 20, 2018 by bunker Quote Link to comment Share on other sites More sharing options...
Atom Posted December 19, 2018 Share Posted December 19, 2018 (edited) $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 December 19, 2018 by Atom Quote Link to comment Share on other sites More sharing options...
bunker Posted December 20, 2018 Share Posted December 20, 2018 $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. Quote Link to comment Share on other sites More sharing options...
isah_voodoo Posted December 21, 2018 Author Share Posted December 21, 2018 @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. Quote Link to comment Share on other sites More sharing options...
bunker Posted December 21, 2018 Share Posted December 21, 2018 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: Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.