Jump to content

Fix a small glitch on rigging


LisaMarie McWinnie
 Share

You are about to reply to a thread that has been inactive for 4026 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Assuming you mirrored the weight painting, I don't see why it would have any affect. It's the UV maps you need to worry about.

As for what you can do, I don't know why it is distorted like that. You might need to warp the texture a bit in  Photoshop to make it play nice. Perhaps you could give more images of the issue and of the texture/UVs.

Link to comment
Share on other sites

It could be a UV problem, as Rahkis suggseted, but it could also be a number of other things.  If the problem only started after weighting, than weighting is definitely the issue.  One or more vertices is being pulled on by the wrong joint.  If it started before the model was rigged, then it could be in the geometry, the UV'ing, or the texturing.  Without seeing the wireframe, the UV map, and the texture, it's not possible to say for certain what's going on.

Link to comment
Share on other sites

It sounds like you have one or more vertices with the wrong influence.

Select a vertex in the troubled area. Press the "N" key (This opens a 3d veiwport property panel) and look for the vertex weights tab to check the assigned weights for that vertex.

If you see a bone that shouldn't be influencing the vertex, you can remove the influence there by setting the weight to 0 for that bone.

Link to comment
Share on other sites

Looks like the weighting isn't right on that spot as Rahkis said.

I think in one of my mails to you i send you a description on how to use the vertice weights from the N 3D Viewport panel to correct it.

If you rotate your model and skeleton you can also use the X-Miror 'paint' tool from the Weighting options when in the Weightpaint View to paint both sides equally. (its in the tool panel on the left side) Or the mirror tool and just copy the weights from the correct acting side to the other to have them be the same.

But don't forget to rotate your model  / inclusive the skeleton back at the end, and apply (CTRL+A) rotation, location and scale again. Just to make sure. =)

Link to comment
Share on other sites

Hi, codewarrior.

I tried to make the x-axis copy tool work on a default SL Avatar. But i must overlook something. It does mirror the weights to the opposite side of the mesh, but it does not move them to the opposite weight group.

I am not sure what i am  doing wrong here. Can it be due to the rig i use does not use the standard naming conventions on bone names ?

Would you mind to give a short hint ?

Link to comment
Share on other sites

I was wondering how bone weight mirroring could work with Blender and i experimented a bit with the weight Mirror function that you find in the toolshelf when you are in weight Paint mode (i mean pure Blender, no addons involved here)

So after some time I found following approach does work. And if anybody can tell how it could be done easier (without using a mirror modifier), then i would like to know about that as well:

Mini tutorial:  "How to mirror the bone weights for one bone to the opposite side"

I describe how you can copy the weights from the right hip to the left hip on the workbench avatar (or avatar.blend):

 

  1. select the rig in Object mode and ensure that it is rotated such that the character looks into the positive y direction: Keyboard shortcut is: r z -90
  2. apply rotation
  3. go to pose mode (not necessary but practical)
  4. select the mesh on which you want to do the copy operation
  5. apply rotation as well

    By now we have prepared the Workbench avatar to work nicely with Blender's copy tools. If we do not rotate the character as described, then the mirroring does not work (it needs the character to be in the correct orientation). Now we proceed by doint the mirror copy itself:

  6. go to weight paint mode (not necessary needed but practical)
  7. delete the mHipLeft vertex group (in the object properties)
  8. select the mHipRight vertex group
  9. copy the vertex group
  10. rename the vertex group to mHipLeft
  11. select the mHipRight again
  12. Mirror Copy

    By now the mHipLeft contains a mirrored copy of the weights from the opposite side. Note: This works reliably only if the mesh is perfectly mirrored as well. If your character has asymetries, then the copy gets unprecise. So we are done by now but we still need to rotate the armature back into the Second Life orientation:

  13. go to object mode
  14. select the armature
  15. rotate it back with:  r z 90
  16. apply rotation
  17. select the mesh
  18. apply rotation as well

 

After step 18 the workbench avatar has the copied weights on the left hip. and it can aain be exported to Second life without problems.

 

Actually i doubt that mirroring the weights of one bone is so complicated. However i just do not see how to do it differently. So if anybody has a better idea, please tell me how this can be done easier and faster. And yes, it can be done easily with a mirror modifier, but how is it done when i only want to mirror one specific bone ...

Link to comment
Share on other sites

Heya Gaia,

sorry it took me a while to see your question:

Yes the X-Axis / X- mirror tool need correct naming ( sticking to the conventions: .L, .Left, _Left, and so on ) to work oderly and being able to determine how to 'flip' the weights to the opposite bones.  (but X-Mirror tool is a 'painting' tool no copy-tool like 'Mirror' - edited former post to make that more clear. Whilst X-Axis is a Copy Tool for bones.)

X-mirrorUse the X-mirror option for mirrored painting on groups that have symmetrical names, like with extension .R/.L, or _R/_L. If a group has no mirrored counterpart, it will paint symmetrical on the active group itself. You can read more about the naming convention in Editing Armatures: Naming conventions. The convention for armatures/bones apply here as well.

http://wiki.blender.org/index.php/Doc:2.6/Manual/Modeling/Meshes/Weight_Paint

But the 'Mirror' tool (which is equals to the mirror-vertex-group function, doesn't need the conventions)
Bit annoying since they are named so much alike. Would be nice if the Mirror Button was Named: Mirror Vertex G. (or something like that)

PS: when enabling X-Mirror 'and' Topology-Mirror for the workbench avi you can nicely paint on both sides in the exact same way (even with the missing naming conventions, and without rotating the armature and mesh at first)

Link to comment
Share on other sites

And again second time for today,  and in addition to the answer right before this one - so, hello there again : )

I tried the mirror vertex group functionality to see if there is a faster way.

But I am kind of getting to the same workflow, eventho i'd break it down in a few steps less when writing it (but if you count each selection step then it's almost the same amount of steps)

while in Object mode: 

1 - Select Armature > R> Z > -90 (to rotate)
2 - Select Armature > Ctrl+A > Rotation
3 - Select Lower body > Ctrl+A  > Rotation

(4) while in Weightmode (for better visablity if it works):

5 - delete group: mHipLeft
6 - copy vertex group:  mHipRight
7 - rename mHipRight_copy to mHipLeft
8 - mirror vertex group mHipRight

(9) Back in Objectmode:

10 - Select Armature > R> Z > 90 (to rotate back)
11 - Select Armature > Ctrl+A > Rotation
12 - Select Lower body > Ctrl+A  > Rotation


Can't really find any faster way then this-  at least not with the mirror-vertex-group function.


 

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 4026 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...