Jump to content
Sign in to follow this  
Rahkis Andel

Blender -- The Weighting Game

Recommended Posts

Of all the subjects in 3d asset creation, I consider weight painting to be the one I know the least about. That said, I thought for fun that I'd throw together a pair of rigged mesh short pants just to see if I could.

Somehow, that has turned into an ADHD fueled obsession distracting me from more serious projects.

I have played with the weight painting for two or three days, and while I'm making some progress, I'm  hoping to find some help for blender 2.6X (2.66.1 preferrably). I haven't had much success finding good weight painting tutorials that aren't extremely outdated.

Go figure trial and error isn't getting me the fastest results.


Just for the record, this is what I'm trying to make into rigged mesh:

1.png

I'm using the new "triangulate" modifier in this to help me better visualize the final SL look without actually having to edit tris.


I didn't make this with any serious effort to look good or have accurate to anatomy, mind you; it's just to test with. I just want it to move with the armature naturally and have okay deformations. Topology is fair game to critique, though.

Many thanks.

TL;DR: If this whole thread is too long to go through, here is my updated list of advice to anyone who needs help with weight painting in Blender:

1. The order that you skin your mesh to the bones will matter (especially if you don't start with automatic weights).

My favorite method is to start at the top of the head and work my way down to the feet, ignoring the shoulders out to the fingers until the very end.

2. You can lock vertex groups by clicking on the little lock icon by them. This is the key to the triad of tools that make this workflow so enjoyable.

Only ever have 2 vertex groups unlocked at a time. When you select a bone and start weight painting for it, you are only focusing on the flow of weights between those two groups. You don't touch the vertices that will be shared by a locked bone.

Every time you press "normalize all", Blender automatically sets all weights within the unlocked vertex groups to a total of 1, favoring the bone you have selected and subtracting from the inactive bone's group. You then move down the chain, locking and unlocking groups as you go.

This means Blender is always doing half of the work for you. As you work on the skin of one bone, blender automatically determines the weights of the previous bone in the chain wherever there are shared vertices.

3. So long as you have only 2 vGroups unlocked at a time, you can -always- have Auto Normalize on. If you don't have it on, you'll have to press "normalize all" every few brush strokes to make sure that each brush stroke is actually putting the vertex into it's true position.

Note that if you don't lock your vGroups, auto normalize is not reliable. You'll find that vertices start getting weighted automatically to unrelated bones. As I said, the ability to lock vertex groups is the key to this workflow.

4. Finally, there are a lot of brushes, so it can be a little confusing to decide which ones to use and even more confusing to know how to use them. The ones I found to be the most useful are add and subtract (after a lot of fussing around with the other ones).

I found with the standard draw brush, it was hardly different than selecting vertices and setting them to a value. Just a little faster. It still felt like really slow trial and error guesswork. The common monologue was,

"Will .50 look right? No? How about .75? Okay, that looks good. Oh wait, under this deformation .75 looks like crap. Let's try .6..."

With the add and subtract brushes, it was endlessly more natural feeling. You just gradually add or subtract a degree weight that you can choose to the vertices and see what it does to your deformation progressively. If you use unified settings, it's extremely fast to switch from add to subtract without skipping a beat.

I've heard this method described as managing the flow of weights from one vertex group to another, which is very accurate. Using this workflow means that you never again need to worry about the numbers. You will never need to take the time to look at the n panel to look at what your weights are or set vertices one by one; Blender handles all that for you. All you have to do is see how well your deformation is doing and make small adjustments where necessary.

Suddenly the automatic weights -really- take you a long way!

Here are my brush settings:

Weight: 0.025 (This weight can be whatever you like, but I like this value as it is good for achieving subtle skin stretching in areas that don't move much, yet it isn't such a small value that it takes too long to build up.)

Radius: constantly varies as needed

Strength: Always 1 (never affected by tablet pressure)

Auto Normalize: On

Multi-Paint: Off

All other options are default except that I keep Unified settings all checked so that I don't have to reset my values every time I switch brushes (which I do constantly with this method.)

 

  • Like 1

Share this post


Link to post
Share on other sites

Are the pants still in posemode ? (sometimes it doesnt update until you select them again) Just to make sure.
Because if this would be the initial position of the mesh you would need to move either the bones to fit that 'split' position or the better choice: move the legs of the pants into a more relaxed position. towards them bones.

When you are weighting the thing won't just 'snap' in place rather then being weighted based on their starting position when being parented to the armature.

But not sure if thats the case or your problem.

My very best suggestion to 'learn' how you need to weight is this: 

Since you are doing it for SL and don't need to completely construct your own weighting system or even make it fit for other engines, take the advantage of having a ready weighted model accessable and learn from that one:

grab the default avatar for SL. With the skeleton. (If you dont have that already)

Make the pants fit around the default avatars lower body, then parent it to the armature with empty groups. Now select your pants and the avatars lower body (In that followup) and chose to copy the boneweights. (This addon is native in in blender from version 2.60 on - and appears when activated to be in the left tool panel, showing up whenever you select objects that have weight information)

Once that is done it gives you a nice 'starting point'. And you can edit and adjust to your pants from there.
Now you can swap between the SL avatars lower body in weightmode and 'inspect' how the weights are distributed there. Plus it ensures that you will have the needed boneweightgroups already in your mesh.

Select several bones and see what influence they have on what part.
Also a good thing to do select single vertices and check which groups they are assigned to and with how much weight .

I often tend to fix issues also rather by editing the vertices and their weights via the N-Panel instead of painting that stuff on. It might feel more technical, but i think i have better control by deciding which edgeloops, or single vertices or field of verts should have how much influence.


One tut that isnt so much outdated is here : http://vimeo.com/18335506
There are also tuts here specialised for SL clothing: 



If you could secribe more in detail what you are struggling with, would be great in order to give more direct help =)

Share this post


Link to post
Share on other sites

Thanks for the response.


No, I wasn't in pose mode when I took that screenshot, but I didn't just parent the pants to the skeleton and give up -- I played with it for days before writing the OP; It's definitely not a matter of them needing to update. Indeed, I modeled them in that position assuming that it wouldn't matter.

I was wrong! I really should have modeled them to fit the skeleton. I guess, as you said, I was expecting the mesh to just snap to the armature somehow (an admittedly silly assumption). I even tried moving the armature to fit the pose I had for the pants before parenting them together with automatic weights. Upon uploading on a mesh sandbox in Aditi it did very strange things, indeed! I wish I had taken a video of it.


Moving on, I actually did attempt what you suggested, but the file I downloaded came with a robot avatar rather than the default one, so copying the weights may not have had the results I was expecting. I've been too lazy to look for a download of the default avatar shape with the armature. I really like this idea, though, so I'll get unlazy and try it. I'll also check out those tutorials when I get home. Thanks for those.

To describe more properly my issue: I was having a hard time getting good deformations when three bones were competing with each other for the same vertices. In particular, keeping a good volume in the buttocks and not having the crotch of the pants stretch too unnaturally is really hard when the pelvis bone and both hip bones are competing for those areas. How do I know which to paint? How do I maintain symmetry? I've since sort of half way figured out the answers to those questions, but it was a pretty painful process.

I tried to fix one thing and it broke another, leaving it faster to just start over and try again. I tried using the Levels and Clean tools to help eliminate the human error of manual painting, but that didn't work too well either. I wasn't aware that there were any weight properties in the "N" panel (perhaps you could explain your workflow using that); I was primarily using the brush, not really even sure which brush to use. I have determined that rather than using the add and subtract brushes and having a confusing weight setting as well as a strength setting conflict with one another, I've had far better results using just the regular brush and adjusting the weight property alone.

All the while, I was working with "preserve volume" off, which was making things look much worse than they really were.

Really, it seems to be a matter of inexperience -- I had these same growing pains learning anything else in Blender. I'm sure if I play around with this enough, I'll get better at it. I was just hoping for some advice to speed up the process, and I'm greatful such advice was delivered.


Thanks again.

Share this post


Link to post
Share on other sites

okay first of - Here is the download to the avatar workbench file: http://blog.machinimatrix.org/wp-content/uploads/2013/01/avatar-workbench-265.blend (edit, was wrong link before)

it includes the default avatar female / male and one from makehuman. It also includes the bonset you need.

(SL is restricted to an exact naming of the bones, the order of the bones and their relation etc) So it would be a big hussle when you - being new to the whole subject - would try to work out a skeleton alone or use a wrong one.

One thing you have to know is that for SL there sould be maximum 4 influences on one vertice. (so don't have them accidentally be influenced by more bones)

Regarding your question what should influence what:
- Pelvis regularly the middle between the legs (the crotchline and over to the backside of the behind)
- generally something should have allways a decreasing influence. means i.e. what the upper leg bone influences will of course become less the further it gets away from it. try to work with logic values : like - full = 1.000, less = 0.75 medium = 0.50 and so on
-generally i see the joints as kind of 'breakpoint' from where on the influence becomes less.
- Every mesh has its own structure therefore u will allways need to tweak to make it work with yours.

But stick to my suggestion, watch the videos, grab the propper file, copy the boneweights to your pants (as described). And inspect on the original avatar how the weights are distributed there and it will become already visually much more clear to you =)

PS: to see the influence of a certain bone put the armature into posemode, switch to your mesh, put this one into weightpaint mode. Now you can still select the certain bones and see their influence.

And yes the potioning (shaping) of the pants counts. See it like when you would make an avatar, then you would have to move the bones also there. But in case of making a full character this is okay - but when you would move the bones to your pants, you would need to export the skeleton along with the pants so SL knows where the bones have to be now. Wich of course would give fancy results since it would put your avatar in a split-leg pose and he would keep walking like this lol.
(and for clothes you generally never should need the skeleton, they are clothings and no character =) )
So this means: shape them to fit the skeleton and the default avatar coming with that file and you are good to go.

Regarding your question about how keeping symmetry:
- there are several ways.
- One is to turn on the x-mirror in the weightpaint mode. But since the SL skeleton is orientated differently that doesn't work. (and i wouldn't fiddle with rotating it just for editing)
- Second way: delete the left half of your pants, apply a mirror modifier to it and make sure that 'mirror vertex groups' is on. If you parent this to your armature and do weightings etc it wil do a perfect mirroring. And blender is very forgiving. Even with applying the modifier in the end when the weighting is done it barely gets into trouble. And this method saves you a loooot of time.
- Third way to ensure accuracy: select vertices in editmode and set their value manually in the N-Panel / right side. Select full rows or single ones. And there is a lil 'copy weights to all selected vertices' button next to the value. Which you can use to apply it to all selected (if not pressed it will - no matter how many selected - only apply it to the last selected vertice)



Hope this helped too :)
Feel free to ask again. Cheers, Code.

Share this post


Link to post
Share on other sites


Codewarrior Congrejo wrote:

okay first of - Here is the download to the avatar workbench file: 

 

it includes the default avatar female / male and one from makehuman.

That blend file is an outdated version. PLease use the
instead. That is an updated version of the original blend file, but optimized for working with Blender 2.6 . And it has the feet bones already in it... However you can take the "oldtimer" from Domino Design for "historical reasons"  of course. But be prepared to add a bit of work to it before you can use it in Blender 2.6 and for making meshes for SL.

BTW: Codewarrior, you have made an awesome introduction into mesh in your other thread. Thanks for that :)

Share this post


Link to post
Share on other sites

If you get lost in what files are which and what people are doing with them, check out: Second Life Mesh Clothes Blender 2.6 Setup 2012 Tutorial. It is aging a bit, but mostly correct.

 

Rotating

I have no problem rotating the avatar and skeleton to get x-mirror working. The trick is to be sure you have the avatar at 0,0,0 and rotate on that point. Then you can rotate back before exporting. Learn how the rotate, apply transforms, and clear transforms work. I can generally type: r, z, -90, Enter to rotate the avatar so I can work on it.

To undo the rotation for export type: Alt-r.

You'll figure out how to orient the clothes to work with the rotations. I tend to create my starting mesh with the avatar facing the X-Axis direction and then rotate both to face the Y-Axis direction. I am VERY careful to be sure the origins of the clothes and avatar are on the 'up axis' zero value... meaning my origin's X & Y = 0 when I rotate on Z (up). Once you figure out the Blender controls and how Blender exports orient to SL, it is easy.

If you work with animations, like the SL default animations, you'll find they often have X-axis as the up axis. So, you'll need to do rotations to make things work.

Share this post


Link to post
Share on other sites

...That blend file is an outdated version. PLease use the...

harrr.. grabbed the first link on the page. instead of the lower one. I was too fast again >.< (updated the post above)

BTW: Codewarrior, you have made an awesome introduction into mesh in your other thread. Thanks for that

Thanks Gaia, much appreciated =)

Just thought i'd show the sub-work (so to say), which mostly comes way to short when people learn it or don't even know where to look. I am trying to do it from my pespective as artist but still to keep it 'general'. Hope that works : )

And I keep updating it a lot at the moment with new content. Feel free to have a peak =) 
Cheers, Code

Share this post


Link to post
Share on other sites

I downloaded the workshop avatar and I'll be working with it tonight. I'll show my results in the morning.

Also, no confusion here -- I understand what both of you are saying. :)


Hopefully this is a benefit to those coming after me. There really isn't a large volume of skinning workflows for Blender out there. I think that first video Codewarrior posted was excellent. I was really confused about what "normalize" was doing, but now I feel like I really get it (so far).

Thanks again(again).

Share this post


Link to post
Share on other sites

I thought the deformations in my mesh were bad; Looking at what any kind of movement does to the default avatar's mesh is...well seriously? I must be doing something wrong:

1.png

That's just using automatic weights from the armature! Perhaps I don't want to emulate LL's weights...

Share this post


Link to post
Share on other sites

if you refer to the ugly distortion on the right: thats due to the fact that the hips do not bend so much backwards without moving the pelvis. So yes it looks broken, but it is how the SL skeleton operates.

Here is an image which shows you the expected range of movement:

hip-movements.png

If you refer to the ugly shift of the seams on the left, then yes this sort of things happen with automatic weights. You have to ensure that the weights on the seams between the meshes are exactly the same, otherwise these distortions happen. Here is what you can do on the avatar meshes:

 

  1. select all 3 parts of the mesh
  2. Object ->Join
  3. remvoe doubles

Now you can do the automatic weighting again and all is well.

hip-movements2.png

 

But ... your pants might not move along with the Second Life Avatar as you might expect. So you better keep the weights on the Avatar as they are (this are exactly the SAME weights as used for the avatar in Second LIfe!) and then adjust your attachments to the movements of the avatar meshes.

One method that could work for you is to only copy the weights from the selected vertices f the avatar figure to you r pants. Thus you tag the upper border of the pants to the avatar mesh and that is probably what you want to achieve anyways ;)

Share this post


Link to post
Share on other sites

Sorry, I guess I was being more silly than clear.

Yes, I was talking about the distortion on the right. The complete loss of volume in the thighs was not the result I was expecting whether it was a natural range of motion or not, particularly when my pants looked fine given the same pose. In my opinion, any mesh you make should accomodate the highest amount of possible flexibility in a person due to there being no limit in how the avatars can be animated.


Also, the pants were created on the fly with no reference made to the default avatar whatsoever, so I never had the expectation that they fit. That said, I'm actually kind of amazed by how well they -do- fit . It's a bit of a stroke of luck, really.

I think once I get these pants uploaded successfully and looking okay my next test will be a real world set of clothes.


Thanks aga(ga(gain)in)in.

Share this post


Link to post
Share on other sites

Heya, yes it's me chiming in again.

Gaia is right the SL Avatar is limited. Thus you can't expect it to behave perfectly like a human.
And as Gaia said your positioning was not natural thus you have these ugly results (i will come to that later)

Just as in most games /platforms the skeleton is taken down to what is minimal needed.

(and it's a subject i allways wanted to go into to make a point, so here we go.. =) )

Most platforms i have come across in my life simply don't have more then this: http://wiki.blender.org/index.php/Doc:2.4/Books/GameKit_2/10.Character_Animation. Some may have fingers or more facial bones, but most don't go further then sticking to those mainbones. It's of course advancing and becoming more complex with newer engines, but in SL we have the regular set of a skeleton to deal with.



Its limitation is due to 2 apperent facts:

Posing00.png

1. The SL avatar obviously does not have the same amount of bones a human has. Thus can not make smooth bend like a human spine would do in most positions.
2. The SL avatar has ca. 7000 tris. Which means of course we can not await its skin to behave like a human skin when bended, contracted, squished etc. There will allways be 'harsh breaks' (unless you add helper bones, which aren't exportet along)

But here comes my 'but' .. eventho the SL Skeleton is very limited and taken down to the very few main bones, you can still avoid problems when taking anatomically correct positioning into account..
...yes (you are allowed to sigh now ^^)..it's our friend: 'anatomy' once again !

And here also comes my 'but' in regard of the automatic weights:
They can give you (just as copy pasting weights) a nice point to start from. But even if your pants 'seem' to keep volume in this un-natural position you put your Model into. That wouldn't be how it would look on a human. And also means they 'fluff' up way too much. (plus with automatic weights you are often  missing needed weightgroups or their correct naming and SL won't allow an upload until you manually added these. Keep this in mind when having auto weights in your worklfow)

There are several things many people forget when posing or animating:

- The Pelvis movement and roll
- The shoulder roll and positioning
- The fact that also the spine  and the chest have to make a roll in many positions. (same with neck etc)

Let's see what already a bit of Pelvis and spine movement can do to enhance things:

Posing01.png

You can see, with the help of our human comparison (left side), that the spine makes a bend / curve and the pelvis gets rotated quite a bit when a human does even just such a small backwards lift of the leg.

Now what many people do is just rotate the leg backwards, not taking the pelvis / spine into account at all.

Which leads to results like in the middle image, because of course in this case we reach the limitation of not enough edgeloops being available to cover up for the resulting extreme squishing of the behind in this un-natural positioning.
Our own behinds would also look pretty 'squished' if we'd do such an un-natural position..lol
But the SL avatar doesn't have our soft skin (or enough polys in this case) to make up for it.

If we do it right (right side) we get way less distortions.
And it also looks more natural due to the belly being bend forwards just as it would be in nature.

We can take this even further:

Posing02.png

As you can see i have barely any distortions even with this extreme kind of pose.

Here are a lot rolls going on from pelvis up to the neck. And also in the shoulders.
But that is how the human body functions. We cant just move our legs into 90° back and upwards =) (and as already said our own skin would look rather squished if we could force ourselves into such an un-natural position)

And i am sure a someone who is specialised into animations could still get more out of it, than i can,  even with all its limitations : )


But don't worry. Stick with what Gaia and I suggested and copy the weights from the Avatar's lower body and work your way from there.
And you don't need to test 'any' kind of extreme pose.. stick to regular / generic ones. Most animations (in form of AO overriders) for SL are not that extreme, so you don't need to cover up for every possibly existing pose someone made.

Cheers, Code.

Share this post


Link to post
Share on other sites

Thanks for the highly detailed and screenshot supported explaination; I wasn't meaning to imply that the current avatar is"broken" per-se -- I'd be blatantly lying as there are obviously many AOs and textures in which the default avatar looks quite good! I was originally poking fun at it without any context, but my real position is that it could be much better (Which I'm sure very few are arguing against).


It's a common practice to judge how well your model deforms based on extreme ranges so that you can understand where your mesh may have weaknesses. It doesn't have to look perfect all twisted up, but if it doesn't look right out terrible, chances are it'll look quite good under reasonable deformations.


I hope to hand animate and script a few AOs myself in time, so this is a process that I want to really understand well; With that context, you can understand why I'm being thorough and critical. :)

At any rate, I have not ignored anyone's advice here -- I will copy the weights from the avatar's waist and work out the rest loop-by-loop with my newfound knowledge and see how it turns out.


Until next time!

Share this post


Link to post
Share on other sites

Heya Rahkis. (i was still editing the post while you already read it hehe)
Re-read the added part with my 'but' about the automatic weights.

And i changed some stuff on top of the post, while you were - obviously - already typing your answer =)

..It's a common practice to judge how well your model deforms based on extreme ranges so that you can understand where your mesh may have weaknesses. It doesn't have to look perfect all twisted up, but if it doesn't look right out terrible, chances are it'll look quite good under reasonable deformations...

Yes it is, but it always only works towards your given limitations. And that was one of the things i wanted to make clear in the above post. The avatar has a strd. amount of polygons. 6-7 K was long default for platforms of that type. And since we are not dealing with a movie animation or highend game engine, it defeats the purpose to just pump up our polycount into the nimbus for smooth results when animating. 

And when you watch closely there is a reason why most games avoid extreme posings or only use them in predefined sequences where shapekeys etc would play in as well. You can see a lot distortion when it happens ingame, due to a ragdoll effect or similar. There is so much faking and hiding going on, because they have to constrain their models to limitations given by the target environment.

Some even use different models for different animations with a changed topology (pretty common practice in certain games or movies)

but yes, sure there is allways room for imrpovement ; )

... I hope to hand animate and script a few AOs myself in time, so this is a process that I want to really understand well; With that context, you can understand why I'm being thorough and critical ...

I 'do' see your interest and wanting to understand things, that's why i bother giving you these extended answers =)
Keep that mindset!  i'm a great believer in analysing and learning, myself.




Share this post


Link to post
Share on other sites

In principle you can add "rules" into the rig which would allow only for certain movements, or even "chained" movements of bones, so that posing becomes much easier. You also can consider to add "helper bones" to your rig which are not exported as extra bones, but only are used for posing and animation.

Blender has a very versatile animation system and we have been experimenting a lot with that. Here is a snapshot of a more advanced Avatar Rig which is based on the default SL rig, but has been fully adapted to the Blender animation system:


statue.png

BTW The displayed character is 100% the default SL character without any improvements on the mesh itself. You can find the basics for setting constraints in the armature properties:

constraints.png

Share this post


Link to post
Share on other sites

Good input, Gaia!
Forgot to mention the potential of helper bones, and editing of constraints - added it to the above post.

And just another proof that there is generally nothing 'wrong' with the SL avatar or the skeleton itself. It's exactly the point i was trying to make with my former post. It mostly just 'looks' wrong when you are doing something wrong in terms of posing etc.


(Not directed at you Rahkis) Just keep hearing over all the years that it's all broken and wrong. And mostly just because people don't understand how it works. Of course it has limits, but it's pretty much standard compared to other platforms of this type, means there is nothing wrong with it : )

Share this post


Link to post
Share on other sites

1.png

HAI-YA!

Can you replicate this pose and not get those distortions in the buttocks? If so, I'll believe I'm doing something wrong in posing. :P

Challenge me and you'll get a Karate-style challenge!


@Gaia Clary:

I really want to try to make an advanced rig for the second life armature. Right now it's so simple that it's rather easy to work with regardless, but a proper rig would be icing on the cake. You can see how frequently I jump from thing to thing, though so we'll see if that ever happens.


PS: Could someone explain this to me?

I'm using the Workbench avatars and armatures and I created that test pose on the male avatar. Mind you, the test poses provided with the blend file work fine on him and the female armature interchangably. They are both using identical armatures (I think), so this makes sense. I expected, then, that when I applied my test pose to the female's armature, I'd get the same result (That is, the pose should more or less just work). Instead, hilarity ensues:

2.png

How I shot kick?


Can someone please tell me why this is so funny (also why it is happening)?

Edit: Hopefully, it's obvious in the above that I'm being facetious. The problem at the bottom is serious, though. :)


Edit: Edit: Also, here is a link to the kick if you want to play with it directly: https://dl.dropbox.com/u/39234437/Blend%20Share/avatar-workbench-265.blend

Share this post


Link to post
Share on other sites

Heya Rahkis;

regarding the crotch area on the default avi: that's one of the things I definitely would change. (I think I stated that already in my tut with the pants example, too steep angles in the edgeloops.
That's also why my crotch area is always of a bit different topology than the one of the sl avatar's.

So yeah this not so nice stretch between the legs will always be there. You can weight a bit different here to make up for it. (if you would use their default model as rigged upload, that is)

But well they had to 'spare' somewhere and regarding the fact that if someone lifts a leg its mostly just a short period of time like in a jump or kick, and when in split-pose mostly is on the ground and thus covered etc... (would be un-comfy to stand like this the whole day anyways xD) I guess that's why they choose that.

My personal assumption and it would make sense from a creators perspective.

You have no idea what you will be asked to take out in your models for games in order to reach a certain amount of polys. All of a sudden this and that becomes irrelevant and is covered with sentences like: that won't be shown anyways... Or : we will just cover that area!

It's an old tragedy and gets worse when lots models would appear in a scene. Opposed to a fighting game where you have like 2 opponents being the only thing shown in a scene, here they can  of course go all overkill on polys and animations.


Regarding the messed up posing when being applied to the female avi: 
- no the female and the male armature differ from each other. That's why the workbench has 2 Skeletons in it. One for the female and one for the male.
- If you assign a pose from a pose-library to another armature that is different you will get weird results like the 45° bone-rolls that are going on on the female apparently.

Regarding the kick off pose and distortions on the buttox:
(I took a pose where I could find an actual reference to)
Posing03.png

The 'buttox' is fine within it's limits of course and, without too big of a distortion. By using the default male skeleton.
If you want more precision then this you will have to add helper bones or fiddle with the constraints.

Or edit the default weightings there is still a tick more to get out of them (especially the lower behind weights cut off to sharp when in sitting poses)

But yeah that crotch... *pointing to my notes about it above, again* lol

but always keep in mind as mentioned above - the skin and the models topology have limits.
So if you want for example a tick more of bend or control you might also consider (when making own avatars) to add a certain loop somewhere in order to support certain extreme posings. 
(but when you create content you really just do that when you know there will be such poses going on all the time, otherwise you will most likely come to the same conclusion as most others and kill all loops and faces that are not really needed, and try to keep it on a minimum that will fulfill 'most tasks')

To show you the 'limitations even better:
Posing04.png

Left : medium quality model / considerable solution for use in SL. (has clearly more loops / verts available to weight orderly, but still within reasonable boundaries)
Middle: SL avatar
Right: a model made for high qualy animation and posings- way too many polys and verts for a model to consider for usage in SL. But shows very good where the limits of available weight-able vertices are in terms of the sl avatar.

PS: i was trying to find an image where it shows the backside while doing such a kick. Apparently no martial arts person wants to show their rear-parts even after 20 minutes of searching all i could find was this sad guy ..lawl:

hqdefault.jpg

Share this post


Link to post
Share on other sites

If you have taken the male Avatar from the Workbench, then this armature is slightly different from the female version. Actually it uses the exact same armature as the default male Avatar in Second Life which IS different from the default female armature. Thus you may easily run into deformation issues as you show in your picture when you try to apply a default female mesh to a default male mesh.

Maybe you can find some detail information about the Second Life rig here:

    http://blog.machinimatrix.org/avastar/the-second-life-skeleton/

That may be of some help when you try to do your own rig.

Regarding the extreme male pose, i tried a bit and i believe that the Avatar mesh gets to its limits in this case. btw i also have played with alternative weights for the SL Avatar and i could make it behave much nicer and smoother. IMHO the transitions of the weightings are all too sharp. You can get much nicer movement when you soften the transitions a bit.

However.. So if your character has pants on, you can hide the distortions and work with a better weighting on your clothing.

 

Share this post


Link to post
Share on other sites

If they have different rotations, it makes sense that the female couldn't figure out how to kick right. I assumed they were the same. Whoops. :)

Thanks for playing along with my karate chalange. I'm having too much fun with this, and I agree with all of the points made. After studying the weights a bit, I can see that the choke point is in the weights rather than the mesh. It could be better, but it's not as bad as I originally thought. Furthermore, as Gaia pointed out, there are some additional life in the mesh by fine tuning the weights (though, I would just assume make my own mesh avatar than use the default)


To celebrate new knowledge, I've ditched the pointless shorts I was working on and am designing a test outfit so that I'll actually be rewarded in the end with an avatar who owns more than system clothing.

Lastly, @Gaia Clary:

I've read that article several times -- Full mesh avatars are my primary interest for coming to Second Life and the idea that there could be any additional bones to animate against is exciting to me.

Share this post


Link to post
Share on other sites

I just wish we could actually add more bones to the upload'able version of the skeleton. And of course 'insert deep wishing here' : that we could add own shape keys. (That we can not use the existing ones -  aside from those which are influencing the bone-sizes -  is clear. How on earthy should the system figure which vertice numbers in a custom mesh would contain the breasts or thighs etc lol... yes yes it's vertex number uhm... 7.987 and up to - insert randomly guessed number here, and not to mention that the deformation wouldn't even fit xD)

And yes as Gaia and i mentioned you can still 'enhance' things, especially the rather harsh weights.

As far as it goes for the existing skeleton you can still 'torture' it quite a bit too ; ) ...

Topology28.png

... the beast from my topology tutorial (extension: retopology) rigged to a SL default 'female' skeleton.
(if that poor SL female knew what people are abusing her bones for... lol... )

Share this post


Link to post
Share on other sites

It's been a few weeks since I've been back to this thread because I've abandoned these short pants in favor of something closer to what I ultimately want to make.

I'm making a mesh body without a head, hands or feet with the goal of making it as generic as possible and allowing the textures to be as easily editable as possible. My goal for this test project is to have a male body base with interchangeable parts.

It is the same object that can be found in my thread on UVs.

I am happy to say that I have successfully (pending testing in SL) weighted the entire object. In the process I learned that everything I thought about weight painting was wrong. In fact a lot of misconceptions are taught by the very few tutorials that do exist:

 - Weight paint mode isn't as imprecise as it seems when you first start using it.

 - Updated (4/9/13): Based on my tests, Preserve volume is absolutely useless for our purposes. It won't make it into Second Life, so all it really does is give you a very inaccurate idea of how your mesh is deforming.

 - It's a bad idea to use automatic weights when you are learning how to weight paint. They aren't perfect to begin with, and If you don't know what you're doing, you're only going to make them worse. You're better off with empty vertex groups and doing it all by hand. At least that way you are under control and can learn something.

Updated (4/9/13): I still believe it would be a good practice to weight paint from scratch at least once, but with the workflow I've discovered at the bottom, I have a much higher opinion of the automatic weights.

 - The order in which you weight your skin is important.

 - The ability to lock vertex groups is even more important than the previous point.

 - The gradient tool speeds things up quite a bit. It's like a paint bucket for weight painting, except more useful.

I'm sure I'm forgetting quite a few points. I'm sure I'll make a video of it, but for now, I just want to move on to the textures.

Old Update: Through testing and advice I gained from other users, I found out that I needed to keep changes to the SL armature from to an absolute minimum so that I wouldn't have to create a custom AO for it. I've successfully adjusted the bones so that they work well enough, but I am noticing the mesh doesn't deform...quite as well as it used to with my custom bone positions. Enough so that it really bothers me.

At this point, it feels worth it to me to totally redo the weights (though it's always frustrating to redo hard work). Since I have to redo this anyway, I might as well do a video demo of my workflow since I'm actually very happy with this method.

There aren't a great deal of free videos where all of the available tools in Blender are used for weight painting, so I think it will be useful to a lot of people.

Another Update (4/9/13): After I started working for a few minutes, I decided against doing the video right away because I found a few new techniques to try out first. I'm starting to become amazed by how fun weight painting is with Blender's tools when you use them correctly. I'd say "easy", but I'm not sure that playing with weights is ever "hard", just usually miserable and time consuming.

The fact that I'm actually finding it to be enjoyable should be a telling statement indeed. Here is my updated list of advice to anyone who actually takes the time to read this (Hi, Jared):

1. The order that you skin your mesh to the bones will matter (especially if you don't start with automatic weights).

My favorite method is to start at the top of the head and work my way down to the feet, ignoring the shoulders out to the fingers until the very end.

2. You can lock vertex groups by clicking on the little lock icon by them. This is the key to the triad of tools that make this workflow so enjoyable.

Only ever have 2 vertex groups unlocked at a time. When you select a bone and start weight painting for it, you are only focusing on the flow of weights between those two groups. You don't touch the vertices that will be shared by a locked bone.

Every time you press "normalize all", Blender automatically sets all weights within the unlocked vertex groups to a total of 1, favoring the bone you have selected and subtracting from the inactive bone's group. You then move down the chain, locking and unlocking groups as you go.

This means Blender is always doing half of the work for you. As you work on the skin of one bone, blender automatically determines the weights of the previous bone in the chain wherever there are shared vertices.

3. So long as you have only 2 vGroups unlocked at a time, you can -always- have Auto Normalize on. If you don't have it on, you'll have to press "normalize all" every few brush strokes to make sure that each brush stroke is actually putting the vertex into it's true position.

Note that if you don't lock your vGroups, auto normalize is not reliable. You'll find that vertices start getting weighted automatically to unrelated bones. As I said, the ability to lock vertex groups is the key to this workflow.

4. Finally, there are a lot of brushes, so it can be a little confusing to decide which ones to use and even more confusing to know how to use them. The ones I found to be the most useful are add and subtract (after a lot of fussing around with the other ones).

I found with the standard draw brush, it was hardly different than selecting vertices and setting them to a value. Just a little faster. It still felt like really slow trial and error guesswork. The common monologue was,

"Will .50 look right? No? How about .75? Okay, that looks good. Oh wait, under this deformation .75 looks like crap. Let's try .6..."

With the add and subtract brushes, it was endlessly more natural feeling. You just gradually add or subtract a degree weight that you can choose to the vertices and see what it does to your deformation progressively. If you use unified settings, it's extremely fast to switch from add to subtract without skipping a beat.

I've heard this method described as managing the flow of weights from one vertex group to another, which is very accurate. Using this workflow means that you never again need to worry about the numbers. You will never need to take the time to look at the n panel to look at what your weights are or set vertices one by one; Blender handles all that for you. All you have to do is see how well your deformation is doing and make small adjustments where necessary.

Suddenly the automatic weights -really- take you a long way!

Here are my brush settings:

Weight: 0.025 (This weight can be whatever you like, but I like this value as it is good for achieving subtle skin stretching in areas that don't move much, yet it isn't such a small value that it takes too long to build up.)

Radius: constantly varies as needed

Strength: Always 1 (never affected by tablet pressure)

Auto Normalize: On

Multi-Paint: Off

All other options are default except that I keep Unified settings all checked so that I don't have to reset my values every time I switch brushes (which I do constantly with this method.)

Hopefully this has been helpful in the unlikely event that someone actually finds this thread and read this far.

Share this post


Link to post
Share on other sites

I am just getting into weight painting, I find that there are vid tuts, but they are not so clear and don't have a precise workflow as you suggest above. In fact I am surprised by the lack of good video tuts on weight painting! What you are saying makes sense to me (mostly, still getting my head around it) I think a vid tut would be invaluable to anyone following this path in the future. Thanks for sharing :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...