I’d like to show you some software. It’s all free, open source, and mostly cross-platform. And I’d like to show you how I put them together to create an animated human.
First is Makehuman. With this you can create your own high-polygon human model. Yes, it’s naked. And you can export it to various common formats, I used Collada (.dae).
Second is Blender. You can import various common formats, including Collada. Blender is where you can edit your model. You can pose the model, reduce the polygon count (manually, and with a function called decimation), cut the model up into different pieces, and so on. Blender’s documentation is good. If you want to do something, chances are it’s an internet search away. Sometimes you have to figure out the specific name for what you want and then search that.
I exported to Wavefront .obj files because they are dead simple to parse. In fact, here’s a Python script I wrote that converts them to C++ header and code files.
The final step is to draw and animate the human. Drawing is easy. The vertices and which vertices make up triangles are listed in the generated files, so you can just draw all those. Animating is a bit more involved. With the model in multiple pieces, you have to decide how the pieces are going to move. I measured where various joints were in Blender and then did some sines and cosines to figure out where everything was given a certain pose, a pose being composed of one angle for each joint. And I interpolated between poses and I made a state machine that determined which pose should come next given a current pose and some input. I don’t have good source for this part, but if you’re interested I can distill something.
Anyway, there you go. No need for artists or anything. Free humans.