I have added a skeleton of joints to the character model. As my character is a human model its pretty easy to know where to put each joint as we know what is meant to rotate and what is not.
I have taken into consideration where joints are located in regards to the mesh, such as making sure they are in the middle of any edge loops specifically located there for deformation of that joint. In places like the knees I’ve located the joint towards the front of the knee more to ensure it properly deforms and reduce volume loss when it is skinned.
Some problems I have encountered were mainly due to how I built my spine, I never paid attention to how they were lined up (they were not all centred with the X axis) and so ran into a small problem when mirroring joints. All I had to do here was un-parent the joints, move them, then re-parent them.
I’ve also sorted the local rotation axis on each joint making sure that when all the joints in a limb rotate one way, they all rotate in the direction intended. Fortunately there were not many joints needing oriented, only the head, one arm (fixing one joint fixes the whole chain), one leg and a few rogue spine joints.
The orient joint tool proved very confusing to work with and I’m still not entirely sure how to get it working. It requires a lot of guess work knowing which way to flip things. This could be an idea for a tool to re-work for my scripting tool hand-in but if I don’t understand the tool as it is right now perhaps trying to fix it without knowing the problem would prove difficult.
As discussed in an earlier blog post, each joint has also been named appropriately which means reading the outliner becomes a simpler task. Right now some joints are simply numbered after which chain they are in (e.g. jnt_R_arm_1, jnt_arm_2, etc.) which I may change later on if it proves necessary to name it the proper name (upper arm, forearm, etc.)