Smooth weight painting

Posts: 2,017
edited December 1969

Hi all :)

I'm having a problem getting smooth deformation between face groups. I'm trying to rig this fox - the tail is just an example - same thing between all groups. The tail has three bones and the ugly distortion is between each bone. The bones are in a hierarchy - bone1 the parent, bones2 and 3 parented. This pic shows parent and children weights and all faces are accounted for in the groups and given weighting. In the pic, only the parent bone has been moved.

The two videos I've watched - the duck and the sash use very different approaches for assigning weights. In the duck one, the face group is selected and the selection expanded by two iterations. Filled 100% and smoothed 10%. In the sash one, the selection is expanded a lot more, filled 100% and smoothed 100%. This is obviously because a different type of deformation is needed.

I have tried both and all sorts of combinations between, but can't get a smooth deformation.

Another problem is that in expanding the selection, the expansion goes both ways - bone 1 expands too far into the hip - I obviously don't want the backside deformed when the tail wags!

What puzzles me is that, with all the faces accounted for and weighting allocated, the whole tail should move smoothly when only the parent is moved, regardless of what the smoothing between face groups is.

I would really appreciate any advice in solving this issue - even some sort of "rule of thumb" to get me on track would be great.

• Posts: 168
edited September 2012

I am no expert at weight painting. I just did my first figure a few days ago.

I posted to this thread - http://www.daz3d.com/forums/discussion/7158/P90/#101885

Basically-

while having the weight map brush tool selected, right click in the screen and select “Fill weight by selection sets”. This fills all the maps for all the group faces with red.

Then I just move one group smoothed the maps with the smoothing brush with a .8 sensitivity. I did each map painting as little as possible just to smooth out what was needed. You of course can adjust the sensitivity. I just hit ctl z if I did too much.

Just ran the brush over them until they looked good. A few places I had to work on some other parts of the figure, but mostly I just painted on the maps where I selected. It was incredibly quick and painless.

Then I did several different “poses” (just dragging parts) and smoothed until they looked good from every angle.

Post edited by namrettek on
• Posts: 6,297
edited December 1969

The best rule of thumb, added to the good advice above, is that if you're seeing these inappropriate pointy things on movement the polys are not painted "hard" enough to the main bone to which they're attached. When that happens, usually you're looking at something that needs to be at 100% (full red) but isn't, and the above solution is the best.

• Posts: 2,017
edited December 1969

Thanks for the advice, guys. I've taken a look at namrettek's post and figured out what to do. I'm assuming that using the "Fill weight by selected sets" applies to a figure that has not had any weighting applied? Because when I do that, only the faces allocated to the selected bone light up.

I'll try emptying a copy of my model, see if that works.

In the meantime, I used the ease-out setting between parent-child bones and the forward movement - parent to child - is now smooth as silk. The ease-in didn't work too well between child and parent, but I then used it in posed positions and that worked OK - actually a bit too strongly, so I'll play around with the sensitivity settings.

Is there a quick way of reducing the weighting, or even totally deleting? All I can think of that may work is to set it to fill 0.

Really good dino there, namrettek

• Posts: 168
edited December 1969

Right click on the "bad" map. choose remove selected. Then go up to unused maps - left click and the deleted map will appear in the list. Select that. Hit add map and then a new empty version will be there.

• Posts: 168
edited December 1969

It does go quicker after a few tries. I just resculpted the dino, brought it into DS4 grouped, rigged, and am weight painting now. In less time than it took me to group the first version!

I also painted it and added displacement maps.

However, I have run into a snag.

Here I added a pic with the area under his shoulder - the displacement map is a bit stretched. I'm not sure how to fix this. Maybe a lot of smoothing is not the best way to do weight mapping...

Any ideas?

• Posts: 2,756
edited December 1969

What does the underlying mesh look like in that area? It is very possible that the topo of the mesh could use some tweeking or that the mesh needs more polys in that area to deform well. The direction of the polygons are a big part of topography and have a big influence on how a mesh deforms in a given area. If the direction of the polys goes against the deformation it will give bad results. If the poly count is too low displacement maps won't have enough to work with to produce a good displacement. Displacement maps (unlike bump and normal maps) are poly dependent.

• Posts: 168
edited December 1969

Gedd said:
What does the underlying mesh look like in that area? It is very possible that the topo of the mesh could use some tweeking or that the mesh needs more polys in that area to deform well. The direction of the polygons are a big part of topography and have a big influence on how a mesh deforms in a given area. If the direction of the polys goes against the deformation it will give bad results. If the poly count is too low displacement maps won't have enough to work with to produce a good displacement. Displacement maps (unlike bump and normal maps) are poly dependent.

It seems one has to know exactly how to do the whole thing before you start. Makes it a little tough to figure it out.

I have included a pic with a wire of the polys over the texture.

The whole model is almost 70,000 polys. Daz seems to slow down every now and then while I weight paint it. Don't know that I can bring in a larger model.

I also included a pic with the polygons in that area unstretched.

Roygee, not trying to hijack your thread. This has to do with wieght painting. Hopefully we can all learn a little something. and by we I mean ME. heheh

• Posts: 2,756
edited September 2012

Poly count looks high enough. As for the topo, it looks like it could use tweaking but I mostly understand the basic concept without having the hours under my belt to speak authoritatively. Basically my understanding on topo is that the polygons need to follow the main axis of morphing (bend/twist etc..) But ofc this needs to be modified by how much the mesh needs to move in other directions. Topology is an art in itself from what I've gathered in various tutorials, and there are going to be compromises at times.

The main thing is that from all of what I've seen, weight painting for rigging and topology are intimately connected. Displacement and poly count are also. Topo also effects uv and therefore texture stretching also. widely varying poly sizes will cause much distortion in texturmaps when the mesh is morphed/distorted.

Post edited by Gedd on
• Posts: 2,017
edited December 1969

No problem about jacking - let's share what we can glean and all learn something.

Looking at the topology around the shoulder and comparing it with one of the best deforming meshes - Genesis - it looks good to me. So I'd say it was a matter of getting the fall-off right so that the movement of the shoulder doesn't affect the chest or collar (whatever is the adjoining mesh) too much.

Thank you for your help so far - I have the tail deforming just great and will continue with the rest tomorrow. What I did was empty the weighting that was there using your method. Then selected each group in turn and gave them 100% weight each, no smoothing. Then used the smoothing brush at 20% sensitivity - ease-out between parent and child and ease-in between child and parent.

Works like a charm on the tail, but I suspect it will have to be different on the legs - there I'd want a sharper deformation, so I'll see what sort of settings I'll need for that and let you know tomorrow.

Cheers

• Posts: 2,017
edited December 1969

OK, with your help and some experimentation, I have found a reasonably efficient way of smoothing the fall-offs between bones.

Gave each bone 100% weight in the X-axis, copy and paste to the other axes as per the duck tutorial, but no expansion of selection or smoothing, .

Set the weight brush to "smooth", .5 and select "Ease-in-out". Then I rotate the bone to the maximum it will be rotated to in one axis, select that axis in the weight-paint mode and give it a light brush till the deformation is clean. Rotate in the opposite direction and normally it is OK, may need a bit of smoothing. Set that axis rotation to zero and go on to the next.

Of course, what strength you set the brush at and how much smoothing you want depends on what sort of bend you want. My character is a cartoon figure, so doesn't need sharp bends.

This method gets to use the Tri-Ax method as I think it is intended - different weights per axis.

The next step is my least favourite one - setting parameters. Does anyone know whether there is a method of mirroring parameters? Please let there be!

• Posts: 168
edited December 1969

Roygee said:
OK, with your help and some experimentation, I have found a reasonably efficient way of smoothing the fall-offs between bones.

Gave each bone 100% weight in the X-axis, copy and paste to the other axes as per the duck tutorial, but no expansion of selection or smoothing, .

Set the weight brush to "smooth", .5 and select "Ease-in-out". Then I rotate the bone to the maximum it will be rotated to in one axis, select that axis in the weight-paint mode and give it a light brush till the deformation is clean. Rotate in the opposite direction and normally it is OK, may need a bit of smoothing. Set that axis rotation to zero and go on to the next.

Of course, what strength you set the brush at and how much smoothing you want depends on what sort of bend you want. My character is a cartoon figure, so doesn't need sharp bends.

This method gets to use the Tri-Ax method as I think it is intended - different weights per axis.

The next step is my least favourite one - setting parameters. Does anyone know whether there is a method of mirroring parameters? Please let there be!

Awesome. I'll try that smoothing method.

I have not started trying to set joint parameters yet.

If you select the "fill weights by selection sets" you don't have to copy and paste. It fills up every map with 100 percent red.

• Posts: 0
edited December 1969

Roygee said:
The next step is my least favourite one - setting parameters. Does anyone know whether there is a method of mirroring parameters? Please let there be!

Do you mean like setting the rotation limits on the left limb and then transferring them to the right limb?

If so, yes it's easy...

Using the Joint Editor tool select the bone, then in the parameters tab click the gear cog for the rotation parameter and select Parameter Settings

Set your limits and click ok... do the same for the other rotation parameters. Then do the same for each bone down the limb.

Then in the viewport Right-Click on the top bone in the limb and select Edit>Mirror Joints, change node to Selected Recursive, just ignore the Mirror Axis, then click Accept.

That's it... it will mirror all three axis' for each bone in the limb...

Hope this helps... :)

• Posts: 2,017
edited December 1969

Thanks so much. both of you - real time-savers. :)