Notifications
Clear all

[Closed] Skin Weight Table

It is possible by maxscript to access the Global option so that all the vertex weights can be changed, I try to affect the weight of all the vertices of the selected bone.

6 Replies

you have to do reverse engineering – go through all vertices, check weight and bones for every one, and collect vertices which affected by a specified bone. all methods you need are in SkinOps

1 Reply
(@dg3duy)
Joined: 11 months ago

Posts: 0

It sounds too much for me, it is not within my reach to do so at this time with the little knowledge I have. I appreciate your answer a lot.


fn getSkinVertsByBone sk id: exact:on = 
(
   if id == unsupplied do id = skinops.getselectedbone sk
   
   verts = #{}
   for k=1 to skinops.getnumbervertices sk do
   (
      found = off
      for i=1 to skinops.getvertexweightcount sk k while not found do
      (
         if (skinops.getvertexweightboneid sk k i) == id do 
         (
            if not exact or (skinops.getvertexweight sk k i > 0) do
            (
               append verts k
               found = on
            )
         )
      )
   )
   verts
)

this is the function that does do it… but if you don’t want to learn max scripting or don’t have time for it, try at least understand how this function works before just using it

1 Reply
(@dg3duy)
Joined: 11 months ago

Posts: 0

Once again thank you very much for the help denisT

I’m sorry, but I don’t know how to make it work. How do you use it?
I look like a fool asking, a thousand apologies.

1 Reply
(@denist)
Joined: 11 months ago

Posts: 0

open skin in modifier panel… select a bone you want to know about…
run


getskinvertsbybone $.skin 

if you know the bone ID you can specify it as


getskinvertsbybone $.skin id:<id> 

if you need only verts with non zero weights use:


getskinvertsbybone $.skin exact:off

but it would help you if you learn maxscript. or read the mxs help at least.