Hello,
I’ve already submitted a bug report for this (around a month ago), but I wanted to provide some additional information and my current thoughts on the issue.
I understand that the code behind automatic weights was changed in Unity 2021. I understand why this was done, however, the current functionality of automatic weights in 2021 is what’s stopping me from making the upgrade. This is a real shame, as there are a ton of new features and quality of life improvements in 2021 I’d love to be taking advantage of.
The automatic weights almost always need manual adjustment now. Here is an example of what I mean:
This is a very simple mesh and bone layout, yet the red bone is affecting one of the lowest vertices by 33% even though it’s nowhere near it. This makes the deformation look really ugly and imbalanced. This doesn’t happen in 2020.
I thought that perhaps increasing the mesh density would yield better results, but that wasn’t the case:
The weight distribution doesn’t look smooth and doesn’t deform well.
In some cases, you get completely unusable weights like this:
Yes, playing around with the settings can “fix” this, but the fact that this can happen at all is very exasperating when I’ve never seen anything close to this in 2020.
Using automatic mesh and weights in Unity 2020, I can fully rig a character in around 10 minutes. Getting the same quality deformation in 2021 takes over an hour. The automatic features are the biggest reason I love using Unity’s 2D skeletal animation system, and they’re also why, despite all the other improvements, I can’t make the switch to 2021 LTS.
If the new auto weights system is going to take a while to catch up to what you had before, maybe just keep it on the back burner for now, and switch back in the old system. I realize that you may not be able to do this, but as a user, it’s really what I’d like to see happen.
Thank you.