[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