I originally was going to name the topic more speficaly, but I made it like this so I can address more issues as they come up.
Tos start with, in manual vertex mode of the skin modifier, if I open up the weight tool menu and attempt to select vertices or do anything, the vertices are deselected/cease to be displayed, and cannot be reselected. The menu for weight tools becomes greyed out.
The only way to correct it is to close weight tools, and de-check/recheck the vertex checkbox.
----
----
Now, I can also use some general advice. I'm using the biped system. How can I make areas near joints squish less, make bends look harder and sharper, etc.
The model in question is from a game, and has sections of hard armor, so that complicates it, as those faces need to move as a group, and can't "bend". Furthermore, the arms are a separate mesh from the body. For whatever reason, part of the torso is part of arms mesh on one side. Can I just move those faces over to the body mesh and wield it in, or would that mess up how the textures are applied?
Replies
The only other question other than what's in the OP is if there is way to adjust the bones after I apply the skin modifier.
If I missed it, I apologize.
Uncheck "always deform" in the skin modifier while model is in reference pose, make adjustments to bones, then re-enable "always deform".
Thanks.
Also, I notice with the fingers, for example, I want to set the weight for the base bone to 1 for the entire finger, so the whole finger rotates for that bone.
But when I do that, it resets the weights for the middle and tip bone of that finger. Like if the weight is one for X vertex, than it can't recvie weight from other bones.
I already checked the bone affect limit, which is 20.
You don't need to do that, the tip of the finger only needs to be weighted to the fingertip bone (or blended with the mid-finger bone). It will AUTOMATICALLY inherit the rotation of the parent finger bone even if it's not explicitly weighted to that bone, and all bones further up the heirarchy for that matter. Also, the sum weighting of all bones affecting a vertex adds up to 1 - so yes assigning a weighting of 1 to a vertex will wipe out any other bones affecting it.
If it's for a game, it's recommended to set the bone affect limit to 3 or 4.
I'm aware it's not needed, but i'm having some issues that require it.
This is happening on all the fingers minus the index and the thumb, in varying severities.
I can "fix" it by setting all of the weights near the ends of each bone super high, but then the joints stretch unnaturally because there's no graduality to the bend.
So there's no way to get around it needing to add up to 1? Looks like i'll have to figure out why this is happening to the fingers, then.
A related note. Now that the weights got wiped out by me trying to get around the issue, I can't get the envelopes to to anything. Scaling them doesn't cause them to weight anything. Resetting the bone via the reset bone button doesn't seem to help.
It's also noteworthy that the thing with the fingers is only really an issue when you rotate the base finger bone. It's really not present if you rotate the middle or tip.
This just means that the modifier will try to make all of the existing weights add up to 1.0 in total, so if you already have 2 bones with weights of 0.5 assigned to a vertex, and then you add another at 0.5, it will automatically scale the existing values down so that the result still equals 1.0 (in this example case, the existing weights will become 0.25 and 0.25 since the new one now takes up half of the normalized result).
There is a checkbox to turn this off in the Skin Modifier ("Normalize") which defaults to on, but TBH I would recommend leaving it on. It doesn't make much sense to turn it off, as this can lead to undesirable deformation results.
Instead what you can do to fix the fingers is select the vertices that are stretching, and find out what other bones are influencing them that you don't want, then you can set these values to zero. Often an initial skin bind will pull weights from further away than you really want, especially for fingers. If you just select the joints with low weight values in the Skin Weight Tool window, you can just hit 0 in the tool to remove any influence from these - the remaining weights will get normalized to 1.0 and the stretching should reduce.
You also seem to be talking about two conflicting methods of skin weighting - directly weighting vertices using the Skin Weight Tool overrides any values applied from using the Envelopes.
So it's not possible to have both manual vertex weighting, and have the envelopes weight vertices?
Also, a question: Right now, the following bones are attached to the skin:
- Head
- Neck
- Upper spine (breasts up)
- Mid spine (stomach to top of breasts/chest)
- Lower spine (curve of back)
- Pelvis
- Arms/hands/fingers
- Legs/feet/toes
The character doesn't need to be super detailed in flexibility, but reasonably demonstrate roughly human range of motion.
The character has an armored belt around their waist. The issue is, as of now, I basically have to move/rotate the lower spine/pelvis as a group, as the armored belt can't bend, so it has to wholly be weighted only by one bone, since all of those vertices must be 1.
Should I just combine the pelvis/lower spine vertices to belong to just one of those bones?
You can see that by making the middle bone have an weight of 1 for near the ends of that bone, I can prevent the stretching from really being noticable, but it "pushes" the bend point out, from where I want it to be (lime green lines).
Even then, there's some stretching going on, as seen in the second (first, I messed up the order) picture, and when I bend the tip, it does so abruptly.
Now I'm having an issue with keyframing the biped.
I've already set quite a bunch, but now whenever I try to set more, it just reverts back to the previous position and it doesn't set. The planted/sliding other keyframe buttons work.
I've had this happen before, and I don't recall if I ever fixed it. Is there a maxxium amount of normal biped keyframes you can have?