• Bugs
  • Weight smoothing not working properly

Not sure what you mean by orange vertices? Can you show a screenshot?

Related Discussions
...
Erikari :

Are you sure they are deselected? try to press the spacebar to be sure. If they are selected they'll look slightly bigger than the others.

I'm sure.

I've been trying other approaches, and I've found that if I bind only one bone to the mesh, exit the bind, and after Spine has calculated the weights, I bind other bones to the mesh, the smooth will not work.

But if I bind all at the same time, the smooth will work. But if I bind another bone to the mesh, the smooth will not work on that bone.

Nate :

Not sure what you mean by orange vertices? Can you show a screenshot?

When you bind only one bone, that bone gets 100% weight on all vertices. If you then add more bones, they get 0% weight. If you then smooth, the first bone has 100% weight, so nothing changes. You can use Auto or manually set weights, once other bones have weight, then smooth will work as expected.

If you still have trouble, a screenshot showing your weights would help, eg:

图像因不支持 HTTPS 被隐藏。 | 仍然显示


Smoothing these weights won't do anything, since only one bone has weight.

Nate :

When you bind only one bone, that bone gets 100% weight on all vertices. If you then add more bones, they get 0% weight. If you then smooth, the first bone has 100% weight, so nothing changes. You can use Auto or manually set weights, once other bones have weight, then smooth will work as expected.

I know that, I've been using Spine for 11 months. 🙂

In the cases I mentioned, I binded the bone to the mesh and assigned some vertices to that bone.

Just trying to understand the problem. 🙂 I can bind head, exit binding, then bind hair3 and hair4, apply some weights to those 2, then Smooth with no vertices selected


works as expected.

图像因不支持 HTTPS 被隐藏。 | 仍然显示

Nate :

Just trying to understand the problem. 🙂 I can bind head, exit binding, then bind hair3 and hair4, apply some weights to those 2, then Smooth with no vertices selected


works as expected.

图像因不支持 HTTPS 被隐藏。 | 仍然显示

Yes, exactly that. And in your case, it only smoothed the orange ones and vertices.

I tried now in a new project, and it's only doing the edges.

You have the pink bone influenced vertices selected in your screenshot. You can tell they are selected because the pink vertices are visibly bigger than the other vertices. It is even more evident on the mixed pies on the edges, where the pink vertices go outside of the rest of the pie.

To solve this, press the spacebar to deselect. Then perform auto again.

Ah, you were saying "orange dots" and then never explained what those were. You mean that smooth is only applied to vertices connected by an edge? Edges are the cyan or orange lines. That is correct and how it is designed to work, see the documentation here:
Weights - Spine User Guide: Smooth

What behavior were you expecting? You'd like smooth to affect all vertices within some distance of each vertex? I'm afraid we currently don't have that functionality. I know it's not the same, but FWIW you can use Mode: Add and paint an area with Feather: 100, eg:

图像因不支持 HTTPS 被隐藏。 | 仍然显示

Erikari :

You have the pink bone influenced vertices selected in your screenshot. You can tell they are selected because the pink vertices are visibly bigger than the other vertices. It is even more evident on the mixed pies on the edges, where the pink vertices go outside of the rest of the pie.

To solve this, press the spacebar to deselect. Then perform auto again.

I think that's a visual bug, because they are not selected. When they are selected, the other ones just grey out. This is selected:

By orange dots I meant orange edges, I'm sorry.

In this one. I selected all the points and then pressed Smooth. It only smoothed the edges.

I'm pretty sure in the previous version this would smooth all the selected.

Smooth has always used edges. If it had ever used distance, it'd need some way to define how far. Here's 3.6.53, before:

图像因不支持 HTTPS 被隐藏。 | 仍然显示


After smooth:

图像因不支持 HTTPS 被隐藏。 | 仍然显示


The vertices not connected with an edge don't get smoothed.

Smooth uses the mesh topology (the edges). If it used distance, it would be easy to grab weight from unrelated vertices. Eg, think of a bent arm, or a single image that is a torso and arms


you wouldn't want the arms to get weight from the torso just because they are nearby. Auto is also very smart about assigning weights, it doesn't get fooled with a torso/arms image.

You are correct. I'm sorry for the false-problem, for some reason I really thought it could smooth that way.

Two weeks on vacation and I forget these things. :drunk:

No worries! 🙂