EIAS utilizes a “smooth” bind when skinning. A smooth bind, as opposed to a rigid bind, permits overlapping of points/vertices which can be weighted depending on which joint/bone exerts the most influence. EIAS appears to use a standard “influence by distance” methodology to determine which joints/bones exert the most influence on the vertices.
Global skinning tools establish the foundation for the “base level” or “underlying” bind. This bind occurs at the moment a skin is attached to a skeleton. Sometimes this is also called the “initial bind”. Tools that modify the initial bind are the Weight Min tool, Falloff Powers & Bone Max. Essentially these three tools establish the conditions that dictate the total underlying bind for that particular skinned object.
- Weight min determines how “attached” the skin is to the bone. Smaller values mean a tighter bind.
- Falloff Powers determine the level or amount of weighting falloff for each bone in the solution. Smaller falloff values produce a smoother averaging between bones thus giving a softer area of overlap while higher falloff powers produce more delineated areas which tends to create sharper “creases”.
- Finally the Bone Max setting determines how many bones are used to average the solution across. The higher the Bone Max setting, the smoother the bind.
EIAS’ initial bind always appears to be in an “active” state. Meaning its always “on” and always being evaluated. Any change in the global settings will immediately alter the conditions of the underlying bind.
--------------
Additional local bone tools located under the bone “Special” tab allow the user to modify the underlying bind on a bone by bone basis. More on these tools later. Skinned object “Strength Maps” permit the user a final way to fine tune the weighting solution with a series of grayscale maps. The percentage of gray determines what percentage of the underlying bind continues to exert an influence on the geometry. A 100% white Strength Map is 100% of the underlying bind, while a Strength Map of 0% black strips away all influence of the underlying bind on the geometry. An object can possess as many strength maps it requires to obtain the user’s desire, but no more than one weight map can be assigned to a single bone at any one time.
EI’s current Strength Mapping methodology seems to be the primary source of confusion when users are trying to fine tune a weighting solution. As it stands, Animator does not permit the user to see what the underlying bind actually looks like. Instead, it only permits the user visable access to the painted strength map that inturn is altering the underlying bind. Additionally, no means exist to see the combined solution of both the underlying bind and the strength map together.
The combined solution actually paints a positive represention of where actual influence exists on the geometry where as the current EI strength mapping system only shows the painted area of modification or exclusion. Without being able to see a positive representation of the combined solution for each bone in the skeletal hierarchy the user will never be able to properly determine the true areas of influence.
With this as our starting point, a number of questions on methodology should be considered. How are the weights re-averaged by the strength maps? Since all vertices must add up to a total influence of 1 across the entire solution determined by the Bone Max setting, are there ways to prevent specific bones from obtaining re-distributed weight values? (Hold / Lock Weighting tools) Can EI provide users with a set of maps that reflects both the underlying bind and its corresponding exclusion map for a 1 bone to 1 weight map solution? Should there be a means to turn off the “active” state of the underlying bind?
I could think of several more questions...but lets start with this.
I still fail to understand why such a (’skeleton’) map as generated in EI as (’base level’, ‘underlying’ bind. ,’initial bind’), cannot be displayed ... to be further edited in order to achieve refinements to relative bone influence as required?
Personally, when painting the bone influence map in EI, I choose to see it as adjusting the influence of bones, relatively, I have no notion of ‘exclusion’ or ‘inclusion’, just relative strength being attached to the ‘field of influence’. (Additional maps [or ‘masks’] may be required and created by the user with specific intention to ‘exclude’ or ‘include’ bones and skeletons for whatever purpose, however).
Tools that modify the initial bind: ‘Weight Min tool’, ‘Falloff Powers’ & ‘Bone Max.’ are not ‘deformation’ tools, they are simply skinning modifier/fine tuning tools.
The fundamental lacking of cage editing tools in EI, needs to be addressed eventually one way or another if CA deformation control is to be taken seriously in future, (either within EI or in Tesla)
The user as skinning map editor is not only concerned with defining relative bone influence and falloff to limit unwanted disturbance etc, but also concerned with relative bone influence at joints, (crease reduction etc) with the judicial application of relative tones blended accordingly. (The user is also able to correct deformation anomalies in animation to some extent).
So I repeat the Q posited in another thread: ‘What would the ‘initial bind’ look like represented as a greyscale map?’, I bet its rational and intuitively adjustable, in which case; your question:
’Can EI provide users with a set of maps that reflects both the underlying bind and its corresponding exclusion map for a 1 bone to 1 weight map solution? may well be premature and even moot?
‘Should there be a means to turn off the “active” state of the underlying bind? ... may be begging the question I raise above.
Both the questions u ask pre-empt the requirement and the basis of this new thread; to debate and establish the best solution for editing skinned bone influence using WMs.
Can we first talk about the basic question of displaying and editing the fundamental level ‘initial bind map’ before anticipating other questions?
So in brief the first 3 questions;
1/. Should the ‘initial bind’ map be used for editing bone influence, free of interference from other ‘influence’ settings or maps?
2/. For what purpose are additional maps required, and how should they impinge on the ‘initial bind’ map, if at all?
3/. If additional maps are required, should the ‘initial bind’ map be ‘subdivided’ (or duplicated & edited), to provide additional inclusion/exclusion maps? (rather than have additional combined maps compounding the obscurity of the influence of bones on mesh)?
Hey !!! I can log on to EITG from my MacPro again.
When a skin object is imported via “FBX” the 1map/1bone is evident in the strength map dialog for the initial bind. There’s a map per bone without clicking any strength map button. However, when natively binding bones in EIAS the strength map dialog isn’t consistent with the 1map/1bone as it is with FBX. Native binds/skinning in EI display NO strength maps after a bind.
The behavior needs to be the consistent between both initial bind of FBX and native biind. 1map/1bone should be extrapolate in both binding methods. This means not only does the FBX import have weight maps but also the Native bind generates label strength maps base on bone name once the bind is engaged.
Currently an EI native bind requires manual strength maps based on user input and not bone influence. The initial bind exist but is not visible or addressable by the user. This indiscernible bind is the heart of the problem with unresponsive fall-off because all the weighting values are fully utilized during the initial bind which consequentially leaves no values to edit weighting. A manually hand-painted map per bone is an ineffective workflow for full skeletal rigs with many bones. A smooth, mathematically averaged weighted influence is necessary for a naturally skinned rig. An evenly averaged, initial bind should have edible maps which are spontaneously recalculated for normalization when edited by the user. This is a standard methodology among most industry rigging applications.
Strength maps are currently a 5 th wheel. They are mainly valuable to legacy plug ins. There’s only 1map per bone, though invisible, all the values are taken (normalized) by the initial bind. To add a strength map on a normalize bone weights works mainly in the capacity of a mask, subtractive boolean or exclusion. Nevertheless, It’s a convoluted workflow, or loose end from the previously Pre-FBX revamped system. It should be used for plugs separately from skinning, or plug use a bones map. Visible initial bind were sacrificed for manual strength maps which are currently arbitrary, irrelevant maps to the initial bind. Combining the Strength map and the initial bind is again conjunctive with visible maps from the initial bind would be suitable for weighting any set of verts.
The fall off and smooth skin (not rigid bind) is probably fine it’s just that the initial bind is monopolizing the normalized values. Regardless, I would hope that the many users who “Left” because of “Skin/Fall Off” problem would reconsider to rigorously test the responsiveness of the painting bias when recoded.
Please view “Responsive WeightMap.mov” on my idisk
homepage.mac.com/avtpro5
Ok, I’m not too techy so forgive me. I do think there is a consensus here that basically we would like to see the “initial bind” state in the form of Strength maps. In C4D for instance, at the “initial bind”, it creates WM’s for every bone which are clearly visible to the user for further editing. It seems EIAS does this as well, but does not allow user access to the generated WM’s. Basically, I want to see these WM’s and manipulate/tweak them. I think it’s as easy as that. I’m wondering if our WM’s we as users have been painting in the past have just been fighting with this underlying solution that we can’t see or predict.
Definitely plan on answering each person fully. But maybe we should clarify definitions as well? Or at least elect the common terms we should always stick with so everyone knows exactly what we’re talking about.
Which term do you prefer for the bind that is established at the point of skinning?
A. Initial Bind
B. Underlying Bind
C. Base Level Bind
D. Global Bind
What term should we use to describe the complete or total grayscale map that represents bone influence on geometry?
A. Weight Map
B. Strength Map
What term should we use to describe the user map painted that alters the amount or level of influence of the initial/underlying/base/global bind?
A. Strength Map
B. Weight Map
C. Exclusion Map
Should the terms Weight Map and Strength Map be exchangable in the current EI methodology?
A. Yes
B. No
My answers:
1. Initial or underlying bind
2. Weight Map
3. Strength Map
4. No
While I can agree with Ian and the Igors that the terms Weight Map and Strength Map “could” be exchangable and are directly related (and potentially even the same thing depending on how you look at it), I believe we should distinguish a difference between the two right now for the sake of differentiating the differences between methodology. We must have a term that allows the user to understand the difference between the combined grayscale total solution and the separate grayscale painted area that alters the initial/underlying bind.
You’re sort-of right, EIAS has an internal bind that users can’t paint, but it is not an internal ‘weight map’. However, it could be (from a technical stand point). Once everyone agrees on if this is the first feature we need - the next step would be proposing how it would work (list of steps) and if required, interface mock-ups. Brian has a start on this already. Each feature proposal should go in a different thread.
Thanks everyone for discussing this in a level headed way,
Ian
You’re sort-of right, EIAS has an internal bind that users can’t paint, but it is not an internal ‘weight map’.
Ian
The initial bind uses the Global skin setting (max bone, fall off, etc) but does not generate any maps (strength or weighted). It needs to dump the values from the bind globals into a map (strength or weighted). Right now it’s only shows one big green map with no strength map. It needs to show one map per bone as in FBX import. Just convert the global bind settings into maps. If the setting change the maps change. If the maps are change then the other maps reflect the change because they should be normalized.
1) Initial Bind - which when visualized becomes:
2) a Weight Map. Should the user paint on this surface (for character or for reactive plug ins) it becomes:
3) a Strength Map. As far as Interchanging the Nomenclature - well:
4) No. It might help keep things straight for programming and also for manual / tutorial verbage.
Baby steps. Let’s see the Initial Bind visualized, and then work on tweaking it. Bone and Map Mirroring can come eventually.
I still fail to understand why such a (’skeleton’) map as generated in EI as (’base level’, ‘underlying’ bind. ,’initial bind’), cannot be displayed ... to be further edited in order to achieve refinements to relative bone influence as required?
This is the heart of the primary issue. Users are requesting direct access to the underlying bind as an editable weight map. (Not through an exclusionary strength map) At a core level, Animator is doing what any other application does. It provides a system to alter the weighting solution of the underlying bind. Most applications that I’m familiar with utilize a “positive” methodology when representing weights. By this I mean the area in gray within the weight map represents the actual area of influence to the bone. It visually combines both the underlying conditions of the bind with whatever the user paints to re-distribute the weighting solution. “Positive” applications, however, do not distinguish the separately painted area of exclusion/inclusion as a map unto itself. Instead, weight maps reflecting the conditions of the underlying bind are provided for every joint in the solution and the user paints on them interactively to see the solution re-distribute itself.
By comparison Animator uses a “negative” approach to representing the weighting solution. Through the creation of a separate Strength Map, the user paints a gray scale map that influences the underlying bind, but does not provide a visual cue to the combined result. The resulting Strength map that is generated only represents the area of modification, not the actual bind itself. Thus users are forced to visualize what the solution may look like as a whole across the entire hierarchy. While this might be possible for one or two maps, it begins to get impossible the more and more maps are added. Eventually, the user is left only relying on what the wireframe looks like in the work windows. Again, this may be fine for simple meshes, but when a character begins to get more and more complex, being able to see where the values are falling visually gets critical.
Tasybear - 27 August 2008 02:46 AM
Should the ‘initial bind’ map be used for editing bone influence, free of interference from other ‘influence’ settings or maps?
The underlaying bind is calculated and determined by the values found in the Skinning Editor. Those are Weight Min, Falloff, and Bone Max. Bone by bone modifications found in the “special” tab of the bone info window further modify the conditions of the underlying bind on a per bone basis. EI’s underlying bind is always active and constantly being evaluated.
Tasybear - 27 August 2008 02:46 AM
For what purpose are additional maps required, and how should they impinge on the ‘initial bind’ map, if at all?
In EI’s current workflow, one would set the initial conditions of the underlaying bind as best as possible to obtain a desired solution. If the underlaying bind is not satisfactory, the user turns to Strength Maps to further refine the weighting solution. Strength maps are elective on a per needed basis. Thus, if one bone in the solution needs refinement, only a single Strength Map is created. The idea of using 1 map to 1 bone in EI, in EI’s mindset, seems redundant. A lot of times, however, users will create 1 strength map to each bone in the hierarchy and strip out the all the values of the initial bind with a completely black strength map. They will then paint influence back into the solution because this seems more intuitive to them. Essentially what they’re doing is manually creating a “positive” workflow representation of the bind. The problem with this is its labor intensive.
Tasybear - 27 August 2008 02:46 AM
If additional maps are required, should the ‘initial bind’ map be ‘subdivided’ (or duplicated & edited), to provide additional inclusion/exclusion maps? (rather than have additional combined maps compounding the obscurity of the influence of bones on mesh)?
The underlying bind is a set of conditions established at the point of skinning. Based on those conditions, Animator generates a weighting solution. That solution is then altered by strength maps to selectively decrease or maintain the amount of influence of the underlying bind on a bone by bone basis....but the underlying bind is always there.
This brings up the question of whether or not the underlying bind should be always “on/active” or if it should be defined as a set “event” that occurs once and the global conditions can’t be altered unless directly requested to by the user. If the user does this, the underlying bind is completely recalculated and potential redistributions could potentially be entirely reset.
I agree with you in principle on several items. Consistency is important. The native solution and the fbx imported solution should look and operate the same in methodology. In reality, they are working within EI’s current system as designed....but they’re doing exactly what I pointed out in my last entry to Tasybear....many users will attempt to recreate a “positive” workflow approach/representation by creating individual strength maps for every bone in the hierarchy and then “zeroing” them out with black only then to paint back in influence positively to reflect what they perceive as actual area of influence. If you look at an FBX generated EI strength map...its typically all black except for the area where influence is required. The FBX import is basically doing what I described for us...automatically. It generates an EI strength map for every bone in the hierarchy and then alters the underlying bind appropriately.
Even when you open an FBX scene, you still have to attach the bones to a skin, thus activating EI’s underlying bind.
You’re absolutely right that we need a nicely generated, mathematically averaged solution to get nice falloff. That’s provided for us with the underlying bind. What isn’t nice and smooth are the hand painted areas we want to affect the underlying bind. This is why we need a smoothing tool to blend those values together.
AVTPro - 27 August 2008 04:06 AM
This indiscernible bind is the heart of the problem with unresponsive fall-off because all the weighting values are fully utilized during the initial bind which consequentially leaves no values to edit weighting.
I believe this sentence is incorrect. Later you follow up with:
AVTPro - 27 August 2008 04:06 AM
it’s just that the initial bind is monopolizing the normalized values.
The current EI skinning system would point out: Of course its monopolizing all the values...because the initial bind is the only thing that exists. EI Strength maps only reduce or maintain the underlying bind. The mistake being made here is thinking the Strength maps replace the initial bind entirely.. they do not. They only tell the skinning engine where re-distribute the values of the initial bind to other bones in the hierarchy.
Alot of what’s going on with EI’s system is not unlike how most applications currently work...the difference is how EI chooses to relay that information to the user. Currently its confusing and visually incomplete.
This indiscernible bind is the heart of the problem with unresponsive fall-off because all the weighting values are fully utilized during the initial bind which consequentially leaves no values to edit weighting.
I believe this sentence is incorrect. Later you follow up with:
AVTPro - 27 August 2008 04:06 AM
it’s just that the initial bind is monopolizing the normalized values.
Hey Brian,
I am very clear on the problem and the solution. I didn’t have any questions nor do I feel the statements are in conflict or incorrect. After all, the “exclusion map” I demonstrate on my Deformer Rig DVD a year ago. Also, I do believe FBX is a “more accurate” system in the way it handles initial bind because I believe it was made that way. I believe FBX had been given the priority over EI native bind. I believe the programmer found Strength Maps nonfunctional and only tried to salvage it to a functioning binding procedure. I believe FBX “shuts down” the initial bind but not necessarily with maps. I think there’s a switch in the code so when the initial bind in engage it’s never “activates for FBX.”. It’s just a hypothesis and right or wrong it’s inconsequential. FBX bind works, EI binds doesn’t from what I see. Out of the two, only FBX works as intended, EI native Bind only works...somewhat.
Visible initial bind with corresponding maps to bones is the key component to all the other feature request. I am going to be busy on a project so I will not be doing any GUI mocks. I feel this is a internal fix any little change to the interface is needed.
http://homepage.mac.com/avtpro5/.Public/reponsive Weight Map.mov.zip
I am very concerned with responsiveness and the vertex weight painting.
Which term do you prefer for the bind that is established at the point of skinning?
A. Initial Bind or initBind
What term should we use to describe the complete or total grayscale map that represents bone influence on geometry?
A. Weight Map (It’s an industry term)
What term should we use to describe the user map painted that alters the amount or level of influence of the initial/underlying/base/global bind?
B. Weight Map (strength and Exclusion are two term that EI uses to alienate itself)
Should the terms Weight Map and Strength Map be exchangable in the current EI methodology?
A. Yes (It should but it can’t because current strength maps are ineffective so when we say strength map it means “ineffective map”
“Weight Map” currently refers to “working or funtioning” properly biased vertices. )
AVT answers:
1. Initial bind
2. Weight Map
3. Strength Map (currently) but should work to mean “Weight Map”
4. Yes and No we have to keep them separately right now but should mean the same when they both act the same.
MY RESPONSE
I don’t think we should pursue a “Combined” solution of “Strength “plus” Initial Bind. It should only be one weight map map extrapolated from “initial bind”. There is no or should be any “Combined” weight map solution because it’s only “Subtractive”. I believe it is ineffective to combine “Strength map behavior (generate map/attach bone) and Initial Bind (skinning Globals based on 1bone/1map but no map) that went awry. I believe Blair had some really tough decisions that he did his best to resolve with the info he had.
1. FBX Import: Init Bind is “off” because “other skinner has no “initBind” just Weighted map skinning. EI Strength maps use proper weight map values from external skin system. Bind is smooth because each bone has a normalize map.
2. EI Bind: InitBind is “On” No weights. Use Skin Global setting. Strength maps have no additive values because all the values are used from initial Bind but no values are placed in a map.
Lastly, I think a spreadsheet would be great visual tool for editing skins but without ‘selectable verts” I believe implement “mesh” would stale CA development more than tesla. I don’t think SpreadSheet should be part of the interface
Your mock up is great but I think we should take smaller steps with CA development until the benefits of the initial bind is seen. I think it will be easier or everybody if SpreadSheet took a back seat for a little while.
You’re sort-of right, EIAS has an internal bind that users can’t paint, but it is not an internal ‘weight map’. However, it could be (from a technical stand point). Once everyone agrees on if this is the first feature we need - the next step would be proposing how it would work (list of steps) and if required, interface mock-ups. Brian has a start on this already. Each feature proposal should go in a different thread.
Thanks everyone for discussing this in a level headed way,
Ian
Ian thats a useful ‘going forward response.
I am sorry Brian but your response to my post is not helpful to this exercise, What is the point of reminding me what EI currently does when I am suggesting an alternative approach? ... as requested by you.
I suggest the ‘Initial map’ to be displayed and used, to be edited.
Additional maps if not made redundent by this change or implementation, may be needed for some anciliary purpose such as masksing bone influence (perhaps other uses?)
And once again you ‘beg the question’ by asking for definitions for things that may or may not exist in the current form.
For now, I see just the one map an editable ‘Initial bind map’.
For those readers unsure: Wikepedia ‘Begging the Question’ : In logic, begging the question has described a type of logical fallacy (also called petitio principii) in which the proposition to be proved is assumed implicitly or explicitly in one of the premises
I’m not trying to be insulting. (just in case you’re taking it that way) I’m just trying to fully define the system as it currently operates before we can make suggestions to alter it. I still want to find that “alternate” approach as you suggest, but not without fully understanding the existing system and how it works. Otherwise some of our suggestions might not make sense to the developers or to each other. We’re finding all of our common grounds.
I agree with you that the initial bind must be displayed and made accessible to the user. I’m posting another post that provides a comparative of how Maya and EI handles things. Maybe that will help shed some light.
I am very clear on the problem and the solution. I didn’t have any questions nor do I feel the statements are in conflict or incorrect.
Hi Alonzo,
I’m sorry if you felt I was challenging you when I said I thought your statement was incorrect. All I’m asking for is for all of us to be flexible with our understandings of the existing system and how we feel it needs to be changed in order for it to work better. Since this seems to be such a subjective topic, its no wonder the community is at odds with how to fix it.
I am willing to accept if my suggestions or positions are incorrect. I’m also willing to be told I’m wrong. As long as we all accept this, it won’t be a competition to prove who is right and who is wrong. However, we need the ability to say such things and not interpret them as attacks. So.. let me re-examine your answer to see if I misunderstood something.