PDA

View Full Version : Need help on rigging character


mayauser888
07-10-2010, 05:07 PM
Hi,

I joined this forum because I thought I could get some tips on how to fix this problem.

I'm editing a character model from a game and need to rig the skin so that it works properly in-game. I know that I need to edit the weights because certain parts are deforming undesirably because they are affected by other joints nearby. I want to make it so that for example, his sleeve doesn't stretch due to the joint on his cape, and vice versa.

There are a couple of things to point out. He has a body skeleton, a point between his hand and weapon, and a weapon skeleton. I have a body mesh and a weapon mesh. I want to know how to rig this so that it will animate properly in-game.

I can only export a single smooth binded mesh into the game. I've tried binding the body mesh to body skeleton and weapon mesh to weapon skeleton, then combining all the meshes together, but it seemed to have deleted and/or disabled paint weights on the new combined mesh.

I think I need to combine all the meshes to one before binding it to all the skeletons, but in-game it links his hand to the middle of the weapon, another problem I want to avoid.

Also, just disregard the texture because I can fix that at the very end. Thanks a lot to whoever can help. :)

http://i31.tinypic.com/rgz5i1.jpghttp://i32.tinypic.com/e9u59g.jpg

WesHowe
07-11-2010, 03:17 PM
then combining all the meshes together, but it seemed to have deleted and/or disabled paint weights on the new combined mesh.

When you change the number of vertices (which happens when you combine meshes) your skin cluster gets deleted, as it is invalid.

To get back to the weight-painting step, you need to create a new skinCluster by using
Skin -> Bind Skin -> Smooth Bind.

You should be able to weight paint after that step. I'm not sure about your game engine problems, you might look and see if there isn't a way to put a slot joint on the hand and export the weapon as a separate mesh and mount it to the hand in the game engine. This is how some of them work, allowing the same character to use a gun, or a sword, or an ax.

mayauser888
07-12-2010, 10:20 PM
When you change the number of vertices (which happens when you combine meshes) your skin cluster gets deleted, as it is invalid.

To get back to the weight-painting step, you need to create a new skinCluster by using
Skin -> Bind Skin -> Smooth Bind.

You should be able to weight paint after that step. I'm not sure about your game engine problems, you might look and see if there isn't a way to put a slot joint on the hand and export the weapon as a separate mesh and mount it to the hand in the game engine. This is how some of them work, allowing the same character to use a gun, or a sword, or an ax.

Thanks. I think I figured out why the weapon sticks to one hand although I have yet to test it in-game. The single joint between his hand and weapon should be influencing his weapon absolutely, so that when he moves his weapon from one hand to the other, the weapon should go with it.

I've run into another problem though. I found that the model I'm editing has an extra set of faces. I noticed that I had to click and delete twice in order to get rid of a face. Some of these faces are actually connected at different vertices than the other "layer". When deleting a face I noticed that my skin weights got messed up. Another time I found that a vertice was not moving with a joint even though I set it to max influence.

Sometimes when painting weights, I'm painting the mesh from one joint to the other just to realize that the earlier joints I painted got reset or messed up in some way. Now I'm locking every joint except the one I'm working on.

Also, when I mirrored the weights from one side (right side I started painted on) to the other, I found that the other side didn't exactly match up with the way I painted it. It's really frustrating and I've tried several times, each time going back to an older save just to fix what I did wrong. :/

Darksuit
07-13-2010, 04:10 PM
1. This mesh is more than likely Way higher poly than it really needs to be. (visually I can spot about 200 - 300 polygons that could be removed and you would never know looking at it in game.)
2. For a game engine try to keep to 2-3 weights per vertex.
3. Delete history and freeze transforms before skinning.
4. you sometimes have two polys stacked on each other due to single sided polygons in game engines to reduce load. ie no Doublesided polys for cloth.

I would also suggest taking a look at the wieght painting thread at the sticky at the top of the forum.

mayauser888
07-14-2010, 05:14 PM
1. This mesh is more than likely Way higher poly than it really needs to be. (visually I can spot about 200 - 300 polygons that could be removed and you would never know looking at it in game.)
2. For a game engine try to keep to 2-3 weights per vertex.
3. Delete history and freeze transforms before skinning.
4. you sometimes have two polys stacked on each other due to single sided polygons in game engines to reduce load. ie no Doublesided polys for cloth.

I would also suggest taking a look at the wieght painting thread at the sticky at the top of the forum.

I'm already keeping the max influences per vertex at 3 and I delete history of the mesh before binding. However, when I freeze transformations and try to paint weights while moving the joints around (to see how the mesh deforms), it simply stays at its bind pose. I need to be able to preview how the deformations work in maya or else it will take me ages to reiterate the weighting. I've already spent a week and still havent fixed it entirely.

I found that the game does not recognize double-sided polys so that's why the cape (I made a new one to replace the old one) was not showing up when viewed from behind. I was also getting random holes over his shoulders, back and corners of cape, so I'm working around leaving the the double faces (starting over from default model) and turning double-sided off in the attributes tab.

But I'm having trouble painting weights when there are two faces because I paint one face, it deforms using the new weighting, but sometimes I miss the other face or the values don't match, so I'm getting lots of tearing and holes because verteces are being influenced from multiple joints.

The shoulder area is the most difficult to work with right now. It was pulling some of the cape with it, so when I painted on the cape joint to give more control over the cape, I run into the problem about some vertices painted while others aren't because of the double faces. The good thing about when Maya automatically set weights was that at least it was smoother, the bad thing is that the joints don't control only what they should (i.e. arm joint pulls cape, weapon joint pulling fingers).

I read some of the stickied thread but most of the information is out of date and I don't know which techniques are best for this case.

Darksuit
07-14-2010, 05:44 PM
What you may wnat to do is block in weights first.

Set you entire model to be wieghted to the root joint, then block in wieghts select large areas of verts and set their wieght to 1 for the given joint. Then you can use the paint weights to smooth out the areas with joint influnces from 1 or 2 other joints.

mayauser888
07-14-2010, 09:33 PM
What you may wnat to do is block in weights first.

Set you entire model to be wieghted to the root joint, then block in wieghts select large areas of verts and set their wieght to 1 for the given joint. Then you can use the paint weights to smooth out the areas with joint influnces from 1 or 2 other joints.

Okay, so I clicked my root joint (the skeleton is already originated from there) and flooded the entire mesh white. Then I worked from the fingers through the arm, and onto the shoulder area. I find that it's much easier if I leave the shoulder joint as is (automatically smooth binded weight setting) as I don't want too much distortion there (i.e. sometimes when I try to smooth an area, it ends up assigning hard weights and when I try posing his arms, it tears open the verteces on his shoulder).

But I'm noticing that I can't rotate parts of a mesh after clicking on the joint right after I just smooth binded. I have to paint over those parts anyways before I can move about. This makes painting his legs tricky because he's wearing 2 layers of pants with double faces as well, and I rather leave them alone but still have weights on them. When I tried moving his legs a bit, his legs dont deform as much as the skeleton (it lags behind).

Also, I finished painting the left side (arms) and mirrored weights. However, the weights on my root joint are weird, as the left side still shows all white whereas the right is mostly green.

When I clicked update weights it screws over a lot of the weights I thought were okay. Sigh... why does this have to be so frustrating...

mayauser888
07-20-2010, 12:27 AM
I figured out that if I merged the vertices before binding, it will help with painting weights because I can click one vertex and the other will be painted as well, thus getting rid of stray/torn vertices.

However, when I try to paint an area of a joint, it doesn't actually change the influence of nearby joints. For example, I paint the thumb 100% white but the hand still has blue over it. When I try moving the joints around to see how it deforms, part of the same vertices are being affected undesirably. Also, I'm trying to use the Component Editor like I read from another topic/site but I'm not seeing how it affects my joints' weights.

CGTalk Moderation
07-20-2010, 12:27 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.