- تم التحرير
Weight smoothing not working properly
Hey,
First of all, congratulations for the last update!
Second, I'm having a problem with the Weights. The Smooth button is only smoothing places with the orange dots, all the other ones remain unchanged.
In the previous version with would smooth everything.
Am I doing something wrong?
Best regards
Cheers! :beer:
Smooth
blends the weights of the selected vertices. Only if none are selected will it smooth all vertices. This gives you a lot of control, but you have to remember to deselect vertices (click anywhere in blank space) if you want all.
Nate wroteCheers! :beer:
Smooth
blends the weights of the selected vertices. Only if none are selected will it smooth all vertices. This gives you a lot of control, but you have to remember to deselect vertices (click anywhere in blank space) if you want all.
But right now is not smoothing selected vertices. It's only smoothing the orange ones, even when those are not selected.
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.
Not sure what you mean by orange vertices? Can you show a screenshot?
Erikari wroteAre 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 wroteNot 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: Image removed due to the lack of support for HTTPS. | Show Anyway
Smoothing these weights won't do anything, since only one bone has weight.
Nate wroteWhen 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. Image removed due to the lack of support for HTTPS. | Show Anyway
Nate wroteJust trying to understand the problem.
I can bind
head
, exit binding, then bindhair3
andhair4
, apply some weights to those 2, thenSmooth
with no vertices selected
works as expected.
Image removed due to the lack of support for HTTPS. | Show Anyway
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 Image removed due to the lack of support for HTTPS. | Show AnywayMode: Add
and paint an area with Feather: 100
, eg:
Erikari wroteYou 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: Image removed due to the lack of support for HTTPS. | Show Anyway Image removed due to the lack of support for HTTPS. | Show Anyway
After smooth:
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!