Vellum overlap_self and overlap_external?

   1195   8   1
User Avatar
Member
355 posts
Joined: 11月 2015
Offline
Hi, can someone explain how the vellum overlap_self and overlap_external attributes work? I read the docs but I'm having a hard time understanding what they're supposed to do when trying to use them.
hou.f*ckatdskmaya().forever()
User Avatar
Member
8580 posts
Joined: 7月 2007
Offline
They store the amount of how much in terms of depth the point overlaps with other points (self or external)

This is then used to compensate @pscale for this overlap so that the simulation doesn't initially explode and overlaps are continually updated as points separate until they are 0 and then the point will be properly colliding with it's full @pscale
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
355 posts
Joined: 11月 2015
Offline
tamte
They store the amount of how much in terms of depth the point overlaps with other points (self or external)

This is then used to compensate @pscale for this overlap so that the simulation doesn't initially explode and overlaps are continually updated as points separate until they are 0 and then the point will be properly colliding with it's full @pscale
Thanks @tamte, so if I have overlapping geo at the start, is there a way to make them instantly separate at frame 1?
hou.f*ckatdskmaya().forever()
User Avatar
Member
8580 posts
Joined: 7月 2007
Offline
traileverse
, so if I have overlapping geo at the start, is there a way to make them instantly separate at frame 1?
keep in mind that overlaps are purely within the thickness (@pscale)

so if 2 vellum pieces or vellum piece and external geo are overlapping within their @pscale, you can set @overlap_self or @overlap_external to 0 and they will pop right out of this overlap

however this has nothing to do with full intersections, e.g if some of the points are inside and some outside, in which case these attributes will not help

in those cases you either make sure you start with nonintersecting pieces or mark all points that are inside other pieces as @disableself=2 or within external colliders as @disableexternal=2
those points will not collide and therefore will be free to get out such intersections however once free they will automatically be enabled and therefore will be prevented to penetrate again
Edited by tamte - 2023年6月18日 01:05:40
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
355 posts
Joined: 11月 2015
Offline
tamte
traileverse
, so if I have overlapping geo at the start, is there a way to make them instantly separate at frame 1?
keep in mind that overlaps are purely within the thickness (@pscale)

so if 2 vellum pieces or vellum piece and external geo are overlapping within their @pscale, you can set @overlap_self or @overlap_external to 0 and they will pop right out of this overlap

however this has nothing to do with full intersections, e.g if some of the points are inside and some outside, in which case these attributes will not help

in those cases you either make sure you start with nonintersecting pieces or mark all points that are inside other pieces as @disableself=2 or within external colliders as @disableexternal=2
those points will not collide and therefore will be free to get out such intersections however once free they will automatically be enabled and therefore will be prevented to penetrate again

Awesome Tomas, thanks much!
hou.f*ckatdskmaya().forever()
User Avatar
Member
8580 posts
Joined: 7月 2007
Offline
also keep in mind that neighboring points that are outside of intersections will need to have @disableself and/or @disableexternal=0 as the automatic collision activation spreads from neighbors so you can't have @disableself=2 on all the points of a connected piece as then the collisions would stay disabled forever as if it was =1
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
355 posts
Joined: 11月 2015
Offline
tamte
also keep in mind that neighboring points that are outside of intersections will need to have @disableself and/or @disableexternal=0 as the automatic collision activation spreads from neighbors so you can't have @disableself=2 on all the points of a connected piece as then the collisions would stay disabled forever as if it was =1
Thank you for going in-depth with this, very much appreciated.
hou.f*ckatdskmaya().forever()
User Avatar
Member
355 posts
Joined: 11月 2015
Offline
tamte
also keep in mind that neighboring points that are outside of intersections will need to have @disableself and/or @disableexternal=0 as the automatic collision activation spreads from neighbors so you can't have @disableself=2 on all the points of a connected piece as then the collisions would stay disabled forever as if it was =1

@tamte I have one issue where I’m not having any joy, I have a bunch of planes (as in just flat grids) of cloth instanced to points and those planes are intersecting, do you have any tips for treating this? disableself and external works great for when intersection is happening with geo with volume, but being that i’m having intersection with just flat planes, any tips would be appreciated.
hou.f*ckatdskmaya().forever()
User Avatar
Member
8580 posts
Joined: 7月 2007
Offline
- It should in theory work for planes also, if you mark just one point per grid as @disableself=0 and rest of the points as =2
You would however have to let them naturally get out of collisions, but they should be free to separate and not stick together

- another option is to animate their rest
So instance them scaled down as much that they are not intersecting and use Vellum Rest Blend DOP or SOP to set their rest to the actual shape
They will then grow during the sim and naturally push themselves apart
Edited by tamte - 2023年6月19日 13:21:38
Tomas Slancik
FX Supervisor
Method Studios, NY
  • Quick Links