[Closed] Skin: exclude selected verts?
Quick question: is skinOps.buttonExclude <Skin> the only to get the “exclude selected vertices” effect using Maxscript? I want to be able to exclude vertices from bones without setting them as “modified” (so that their weights can still be adjusted using the remaining envelopes). Unfortunately, skinOps.buttonExclude will only work on the currently selected bone and vertices, and I would prefer not to loop through the selections in question if I don’t have to.
what does “exclude” button actually do? i never used it or maybe completely forgot how it works
It just prevents the selected vertices from being affected by the selected bone. However, unlike simply setting the bone weight to zero, which sets the vertices to “modified” (i.e. baked weights), adjusting the remaining envelopes will still affect their respective influences on the vertices.
for me it doesn’t make sense to have both “envelope” driven and baked vertices in the same rig.
I usually start with envelopes, get it as close as I can to where I want, and then bake the vertices from there. But the “exclude vertices” is part of former process, not the latter.
Exclude vertices works with baked vertices too. You can’t paint weights for the specific bone if they are excluded. Not sure how mirroring works with them .
But in Max 2014 your can change the weight in the Weight Tool for that bone. That leads to situation where you can easily get non-normalized weights on them, despite having the “normalize” check box activated.
i remember it was ‘conflict’ like you tell. that was a reason for never use both ‘baked’ and ‘envelope’ verts in the same skin.
It looks like “buttonExclude” is still the only way I can find to do this, but it turns out not to be that big a deal.
More problematically, the fact that I can’t find any direct way to access this property makes searching for excluded vertices something of a pain. It looks like the only way to do it is to use buttonSelectExcluded followed by a function to collect the selected vertices.
Is there really no other way to get/set excluded verts??
could it not be easier just remove specified verts from bone influencing?
collect all bones and weights for a specified vert, exclude a specified bone and corresponding weight from lists, normalize rest weights, and set bones and weights back
That approach works fine for after the verts have been baked, and is in fact what I was doing earlier. However, the script I am working on requires this to happen, and then still be able to make envelope adjustments afterward.