[Bf-funboard] Some skinning feature ideas

Benjamin Tolputt bjt at pmp.com.au
Tue Apr 3 06:56:13 CEST 2007


Michael Crawford wrote:
> Why do you need it to be red?  I usually use bright green as my 
> "max"... it allows me the flexibility to later add weight should I 
> need to.. It's all relative man... there is no need for absolutes :P
No need whatsoever for it to be red - it just happens to be a 
blue(0.0)-to-red(1.0) colour-scale in my default environment, hence my 
usage of said hue :) It could just as easily be the Maya default of 
black(0.0-to-white(1.0)
> Actually, i believe the design is the problem, not the 
> implementation.  forcing all weights per vertex to add up to 1...
I disagree with this one. In essence, regardless of the value that is 
present as the influence in terms of what you enter & see - the end 
result IS a normalized value used in deformation. You may have three 
bones affecting a vertex with each attributing a value of "2.5". however 
internally - this is normalized to each bone only having 0.3333 
influence over the vertex deformation. I am of the mind that if it WORKS 
that way I should SEE it that way.

On a side note - technically, the only time the "smooth/subtract" 
operations need to deal with where it will spread the other weight 
values to is when there is only one bone influencing a vertex. In these 
situations I am happy with two possible solutions. Firstly, if there is 
less than 1.0 weight to the vertex overall - let it only be "partially 
deformed". That is, make a "dummy" identity (null) influence take up the 
slack and, when deforming, the vertex only partially moves with the 
bone. The other solution is to simply have an "all or nothing" approach. 
Either the vertex has all influence tied up with the bone or none. If 
the user wants to have the vertex move with another bone - it makes more 
sense for them to add weight to that bone manually then to have Blender 
"guess" where they want the left over weight to be attributed.
> Your concern, as far as I understand, is for stray influences.  Why 
> not just use Paint>Clean Weight
You are correct - my primary concern is stray influences. However, I am 
also concerned that what I can SEE does not match how it WORKS. Given 
that I am painting the weights manually, I want control & knowledge over 
what my painting this vertex to weight "1.0" means. With the current 
system, when painting vertices to "full weight" for a bone, the end 
results depends on how many other bones have been allocated to the 
vertex. If this has come from an "automated" method (e.g. having Blender 
give you a starting weight based on bone envelopes) - this is undefined 
and requires you to go through each vertex or bone one by one and remove 
weights you don't want it to have. This negates most the benefit from 
having a weight "paint" interface and an algorithmic method of assigning 
the starting weights (if I have to go through all bones anyway - where 
is the benefit of precalculating "best guess" weights in the first place!)

Regards,
B.J.Tolputt



More information about the Bf-funboard mailing list