Bones... not the Star Trek Doctor.
I am having difficulty getting my model, my bones, and my brain to synch up! I am creating bones for a poly model with very simple, beginner aspirations of creating a reasonable series of movements. I am running into trouble when I try to parent ,say, a leg bone group to the spine. It won't permit that because it says that this only works with roots.
Does that mean that I should be parenting a leg (!!) to the head or rear end joint?? That just seems weird!
I'm still plugging away at the book and the "hands on" thing but this is just frustrating me. Seems very straight-forward in the book (and when I'm doing it). When I try to just do motion without the parenting, it works somewhat. I can move the head around, lift a paw, etc. However, when moved too far the poly and texture stretch beyond recognition (i.e., non-normal movement). I hope I explained this well enough.
As I said, I'm still working on it but if anyone has a clue for me, please pass it on. Thanks
I'm not sure I understand the problem you're having. I tried to get the error message you describe, but with no luck. (Hmmm, should I say I had 'no luck' when I failed to cause an error? Or 'too much luck' instead?)
Here are some procedures that work properly:
Create a four-joint chain: spine1 -> spine2 -> spine3 -> spine4.
Create a separate three-joint chain: leg1 -> leg2 -> leg3.
Parent leg1 under spine2... works fine.
Parent spine2 under leg1... works fine (disconnects it from joint1... probably not what you want to do).
Group leg1, then parent group node under spine2... works fine.
What exactly are you trying to accomplish? What does your skeleton hierarchy look like?
As for the deformation problems you're experiencing, it might be easiest to troubleshoot those if you can post some screenshots of the problem. Skinning can be a tricky thing. Are you having any very unexpected results, like certain vertices shooting off to infinity when joints are rotated?
Yes. You were very unfortunate not to have received an error. I should be so unlucky.
I think the issue might occur when I use polys that are one piece instead of another set that I have that are seperable. Would that make a difference? Would I create the bones for the individual parts of the body, combine the poly, and then skin it all?
This is what I'm doing, Steve.
1. I am basically creating my first joints along the spine of the animal (approx. 4-5 joints) from tail to head (since the last joints are selectable one by one for rotation). Just something I noticed.
2. I, then, try the first front leg starting at the shoulder to paw (about 3-4 joints).
At this point, I try to join the joint of the leg (shoulder) to the spine joint (I assume just above the shoulder???). That's when I get the error.
I may be overthinking the steps for processes in Maya (as I tend to do). I must be a lot smater than the average bear :-)
I can send you a model in OBJ or 3DS if you want to see what I'm working with.
I appreciate any assistance you can provide. This is driving me mildly insane over an extended period of time.
Hmm, I'm still not having any 'luck'. I've experimented with smooth and rigid binding, with separate polygon shells and with one combined shell.
I have the sneaking suspicion that this is some known issue that I haven't heard about, or I'm just forgetting. Hopefully someone more knowledgeable will be able to shed some light on it.
In the meantime, feel free to send me a file (firstname.lastname@example.org). Also, you could cut and paste the contents of your Script Editor window; that might help shed some light on what's going on, since it will display the commands you entered as well as the error message Maya is returning.
Sorry I don't have anything more helpful at the moment!
will do. Thanks
screenshots and script editor info .
Hi, Glenn. That helped a bunch!
I see what the discrepancy between our attempts was. You were using the 'Connect Joint' command, while I was simply using the parent command. I think you'll find that if you select your joints and press 'p' (or MMB-drag one joint atop the other in the Outliner, etc.), you'll be able to connect the joints without producing an error.
However... there's another issue here. From looking at your Script Editor commands, it seems to me that you are creating the leg at tail chains starting with the joint furthest from the body (paw and tail tip, respectively), then moving closer to the body. But in your screenshot, it looks like you've done it the other way around. If I paste your commands into my script editor, I end up with joint chains in the same position, but with the 'flow' of bones facing the opposite direction.
I'm not sure what causes this discrepancy.
In any case, it's important to remember that the order in which joints are created is very important, because it determines their relationship to one another; it makes a skeleton a hierarchy instead of a disorganized group. Make sure you start creating your joint chains close to the body, and moving progressively further away. Tail tip and paw joints should be the last ones created in their respective chains. Once you have done that, you should be able to use the Connect Joint command without any problems (it is more finicky than the parent command, which I was using).
Let me know if that's any help.
That makes a lot of sense. I'm glad you could tell what the issue was from the info I sent.
So head to tail and shoulder to paw? Forget about "connecting" and use the 'p' (for Parent) after the joints are selected? I tried Parenting in the Connect Joint options. I guess that's not the same. I'll let you know. Thanks a lot Steve.
[Glenn Moore] "So head to tail and shoulder to paw?"
Shoulder to paw, definitely yes. Head to tail is a bit more complicated. It depends how you're going to animate your character, and where you think the 'root' of the overall skeleton should be. In a human model, the root is usually in the pelvis, since most motions a human makes are in relation to that chunk of anatomy. With a quadruped like a cat, I'm not sure if you'd still want the root to be in the pelvis, or if it would make more sense to locate it in the shoulders, which is probably the massiest part of the animal.
In general, joint chains in character skeletons are designed to 'flow' from the trunk outwards. Other tools, such as IK solvers, are designed to work with this convention in mind. So always create the joint chains for extremities--limbs, heads, tails, tentacles--starting near the body and flowing outwards. As you experment more with posing and animating using skeletons, you'll come to appreciate the logic of it.
[Glenn Moore] "Forget about "connecting" and use the 'p' (for Parent) after the joints are selected?"
No, you can use the 'Connect Joints' tool, so long as you have created your joint chains flowing in the right directions. As I mentioned before, this tool is 'pickier' than the parent command. The parent command is generic, and can be used on any two nodes. It will let you parent joints willy-nilly if you want, disconnecting and reconnecting them as you go. But this could get you into trouble, so the 'Connect Joints' tool was created as a more limited, more skeleton-specific way of parenting joints. Rather than automatically making the connection you tell it to, this tool will first check the properties of the joints in question to make sure they are arranged properly.
In your case, they weren't, which is why the tool failed. That doesn't mean it's a bad tool: on the contrary, it was doing its job by letting you know that the operation you were attempting to perform wouldn't produce a correct, animatable skeleton.