Jump to content

Weight paint and stubborn vertex


Cenobyte69

Recommended Posts

I am trying to import an armor from another game and make it work with Skyrim. I'm almost done, but there is one annoying problem. One vertex will only allow me to paint it blue (0) or red (1), but anything else in between won't stick. For example if I paint it green, it shows up green in weight paint mode, but acts as if it is painted red (100% deflection per bone movement). If I export the mesh as a NIF, and then import again, the vertex shows up red again in weight paint mode (even though it was green when I exported it). Also, I found the vertex in nifscope and manually changed its weight to 0.322, imported the mesh in blender and verified in weight paint mode that the weight is correct (light green), but it still acts as if it is a full red in pose mode (and in the game). The only time the vertex won't completely deflect with bone movement is if I paint it blue (0), but then it doesn't deflect at all. It's extremely frustrating to be almost complete (after learning a LOT of stuff), but be hung up with one damn vertex!

 

Things i've tried (all unsuccessful):

 

Removing from vertex group and then adding it back

Importing the NIF, saving as a .blend, opening in blender 2.62 and weight painting it there.

Adjusting the vertex weight manually in nifscope (this allowed me to import it with the proper weight painted, but it still behaves as if it is painted red in Blender and in Skyrim).

Verified that the bone and the vertex group name are spelled exactly the same

Verified that there were no hidden vertices behind the offending vertex

 

The other vertices around it function properly, it's just that one vertex where the weight won't stick. Even if it's painted super light blue (like 0.01), it still deflects completely with the bone in pose mode.

Link to comment
Share on other sites

What you described there is a correct behavior. The point is that each vertex must have always total weight value that equals 1.0. If you set it's weight higher than 0 and lower than 1 for one bone, you also need to distibute remaining weight to other bones.

Here are some scenarios:

 

weight

0 - no attached to any bone

1.0 - attached fully to one bone

0.5 / 0.5 - equally atached to two bones

0.3 / 0.7 - attached to two bones

0.2 / 0.5 / 0.3 - attached to three bones

etc.

sum of particular weights for one vertex is always equal to 1.0, so if you paint it green for one bone, and not for others, then Blender thinks that vertex is influenced by only one bone but have incorrect total weight value, and sets it to 100% for that bone which is 1.0

Edited by Artisanix
Link to comment
Share on other sites

What you described there is a correct behavior. The point is that each vertex must have always total weight value that equals 1.0. If you set it's weight higher than 0 and lower than 1 for one bone, you also need to distibute remaining weight to other bones.

Here are some scenarios:

 

weight

0 - no attached to any bone

1.0 - attached fully to one bone

0.5 / 0.5 - equally atached to two bones

0.3 / 0.7 - attached to two bones

0.2 / 0.5 / 0.3 - attached to three bones

etc.

sum of particular weights for one vertex is always equal to 1.0, so if you paint it green for one bone, and not for others, then Blender thinks that vertex is influenced by only one bone but have incorrect total weight value, and sets it to 100% for that bone which is 1.0

 

Holy crap, thanks, it took me literally 15 seconds to fix the whole thing after reading that!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...