Remove collision property on just part of a mesh [vellum]
18507 15 3- art3mis
- Member
- 350 posts
- Joined: June 2016
- Offline
- tamte
- Member
- 8784 posts
- Joined: July 2007
- Offline
- art3mis
- Member
- 350 posts
- Joined: June 2016
- Offline
- kumpa
- Member
- 44 posts
- Joined:
- Offline
tamte
you can use following point attributes on your vellum geometry to control collisions per pointi@disableself = 1; // to disable self collisions i@disableexternal = 1; // to disable collisions with external objects
Is there a way to do it per object ? I would like to disable it on one object but not the other.
Cheers !
- tamte
- Member
- 8784 posts
- Joined: July 2007
- Offline
if you are talking about colliders then you can also assign i@disableexternal to individual colliders
or use collision groups
https://www.sidefx.com/docs/houdini/vellum/vellumattributes.html [www.sidefx.com]
https://www.sidefx.com/docs/houdini/vellum/collisions.html [www.sidefx.com]
or use collision groups
https://www.sidefx.com/docs/houdini/vellum/vellumattributes.html [www.sidefx.com]
https://www.sidefx.com/docs/houdini/vellum/collisions.html [www.sidefx.com]
Tomas Slancik
FX Supervisor
Method Studios, NY
FX Supervisor
Method Studios, NY
- fabiobasile
- Member
- 28 posts
- Joined: May 2020
- Offline
Sorry for reopening this thread, but I am having a very similar issue.
In my case, I have an alembic cached character, with separate vellum clothing.
In order to govern the way that each clothing piece responds to vellum collision, I have created separate vellum attachment nodes with different properties, which works ALMOST perfectly. The only problem I am having is that at some point during the animation, the mesh of the feet of the character almost interpenetrate, causing the clothing of the pants to get caught.
I figured I could resolve the issue by creating groups of points for each character's leg, and each of the pants leg as well, and then use a property wrangle to ignore collision between the right character leg and the left character pants, and viceversa.
This seems to have absolutely no effect, and I have tried everything, even setting multiple wrangles for each property, as per screenshot.
The scene is way too big to upload together with the alembic meshes, so I hope the screenshot is sufficient at least for a rough determination of what I might be doing wrong. Any help is appreciated!
- Fabio
In my case, I have an alembic cached character, with separate vellum clothing.
In order to govern the way that each clothing piece responds to vellum collision, I have created separate vellum attachment nodes with different properties, which works ALMOST perfectly. The only problem I am having is that at some point during the animation, the mesh of the feet of the character almost interpenetrate, causing the clothing of the pants to get caught.
I figured I could resolve the issue by creating groups of points for each character's leg, and each of the pants leg as well, and then use a property wrangle to ignore collision between the right character leg and the left character pants, and viceversa.
This seems to have absolutely no effect, and I have tried everything, even setting multiple wrangles for each property, as per screenshot.
The scene is way too big to upload together with the alembic meshes, so I hope the screenshot is sufficient at least for a rough determination of what I might be doing wrong. Any help is appreciated!
- Fabio
Edited by fabiobasile - Sept. 12, 2020 22:56:56
- tamte
- Member
- 8784 posts
- Joined: July 2007
- Offline
screenshot is not enough, but just to guess
since you are trying to ignore “pants_leg_right” do the points you hope to be ignored have s@collisiongroup = “pants_leg_right”; ?
or are you assuming it would ignore the grometry group “pants_leg_right” that I see you have
s@collisionignore is only matched against s@collisiongroup , not the grometry point groups
since you are trying to ignore “pants_leg_right” do the points you hope to be ignored have s@collisiongroup = “pants_leg_right”; ?
or are you assuming it would ignore the grometry group “pants_leg_right” that I see you have
s@collisionignore is only matched against s@collisiongroup , not the grometry point groups
Tomas Slancik
FX Supervisor
Method Studios, NY
FX Supervisor
Method Studios, NY
- fabiobasile
- Member
- 28 posts
- Joined: May 2020
- Offline
Being very new to VEX and how to use property wrangles, I am not quite sure. I assumed that the property collisiongroup and collisionignore with “pants_leg_right” (the name of the group to which it belongs), would call that group and set it to ignore collision with leg_left, but it's just me kinda hitting levers and pushing buttons since i couldn't find a lot of sample code to play with that would apply to this situation.
So let's say I have these groups of primitive setup, how would i go about setting them up to ignore collision using a wrangle?
So let's say I have these groups of primitive setup, how would i go about setting them up to ignore collision using a wrangle?
- tamte
- Member
- 8784 posts
- Joined: July 2007
- Offline
in that case I'd advise to start with the example
on yor Vellum Solver SOP RMB/Examples/CollisionIgnore
they are using Attribute Expression instead of wrangle, which is not important, the important is understanding how s@collisionignore and s@collisiongroup attributes are used by vellum, which together with the help links above should clear things up a bit
on yor Vellum Solver SOP RMB/Examples/CollisionIgnore
they are using Attribute Expression instead of wrangle, which is not important, the important is understanding how s@collisionignore and s@collisiongroup attributes are used by vellum, which together with the help links above should clear things up a bit
Tomas Slancik
FX Supervisor
Method Studios, NY
FX Supervisor
Method Studios, NY
- fabiobasile
- Member
- 28 posts
- Joined: May 2020
- Offline
Thanks, i have spent a bit of time going through the example here: https://www.sidefx.com/docs/houdini/examples/nodes/sop/vellumsolver/CollisionIgnore.html [www.sidefx.com]
and i have replaced the wrangles with attribute expressions like in the examples. I have specified the name of the nodes of the collision groups i want to use in the form of a string in VEX expression, and typed the property collisiongroup in the name field.
For some reason it still has no effect as all, as if the attribute expression node isn't even there. I'm not sure what i am missing…
and i have replaced the wrangles with attribute expressions like in the examples. I have specified the name of the nodes of the collision groups i want to use in the form of a string in VEX expression, and typed the property collisiongroup in the name field.
For some reason it still has no effect as all, as if the attribute expression node isn't even there. I'm not sure what i am missing…
- tamte
- Member
- 8784 posts
- Joined: July 2007
- Offline
- fabiobasile
- Member
- 28 posts
- Joined: May 2020
- Offline
- tamte
- Member
- 8784 posts
- Joined: July 2007
- Offline
- fabiobasile
- Member
- 28 posts
- Joined: May 2020
- Offline
I haven't tested this on my actual scene, but i did manage to accomplish the same effect on this smaller test scene i reverse engineered from one of the samples.
I have created four groups:
1. left half of torus
2. right half of torus
3. left half of plane
4. right half of plane
Next i have set collision groups for the two halves of the torus, and the plane respectively.
Finally, i have setup collisionignore expression nodes pointing at the name of the groups.
The result is that only one half of the torus, and one half of the plane are affected by collision, leaving the other halves unaffected.
That took me way too long to figure out… lol
I have created four groups:
1. left half of torus
2. right half of torus
3. left half of plane
4. right half of plane
Next i have set collision groups for the two halves of the torus, and the plane respectively.
Finally, i have setup collisionignore expression nodes pointing at the name of the groups.
The result is that only one half of the torus, and one half of the plane are affected by collision, leaving the other halves unaffected.
That took me way too long to figure out… lol
- fabiobasile
- Member
- 28 posts
- Joined: May 2020
- Offline
- ChadWang
- Member
- 2 posts
- Joined: Sept. 2018
- Offline
-
- Quick Links