To Rig or Not To Rig

Creating virtual environment, particularly when involving game engine, demands certain elements that other type of visualization may not had covered. We usually see architecture and urban scale visualization with stunning static environments : buildings, landscape, atmosphere. Or animated (not with kinematic) objects such as vehicle, plane, ship and others. Very few example of project (not mention big budget or ‘pixar’-scale animation studio) present human or people with its natural movement and motion. With exception of pay-3D animated human model in internet nowadays, to incorporating human with its natural movement in virtual environment is challenging effort which involving both skill and techniques in a field so-called : rigging.
There are several techniques of making human/ character model become ‘alive’. Both on industry-motion picture/game related and academia-computer science related (not architecture related :), human motion is a delicate field to simulate. Most of the technique basically deal with rigging system. Hypothetically, we can create any motion of our 3D meshes by creating several motion with the bone/rig system. Here, the bone (or armature in Blender) must be the parent of our meshes, so any change (location, rotation, dimension) of the bone have effect on our meshes. This is the basic postulate of rigging. Of course this concept is far from practical convenience. Seriously. Unless you are happy (and still feels healthy) to spend million of hours to select – animate – coordinate every pixel of your meshes on every frame to accomplish maybe not even perfect a ‘walking cycle‘ animation. How you can mimic and reproducing human kinematic with mouse button? nearly impossible, maybe not if you are one of the Pixar guy.:-) Even a simple single step of your model require hundred hour of irritating attempts.
Here come another technique, called motion capture. Nearly most of animated motion picture used this technique in order to grasp human motion as accurate as possible. Motion capture basically is series of data of every movement on every certain point of bone hierarchy of particular recorded real model movement. As such, in this concept, we can produce near realistic human motion because we record certain points on real person’s movement. Very breakthrough, unless The Matrix would’ve not so appealing though. Some academic labs produce this system as well as industry (leader : Biovision). However, since it is a data, it is not equipped with meshes. It’s just points of series coordinates – even further, just animated bones. Realistic one. Next challenge is, how we can utilize this data to our 3D model? Important question and be careful of what you wished for. 🙂 Many of free mocap data available on the net from academias and industries. We can experiment with our own model.
As for the basic rigging technique – with some different approach, we must coordinate our rig-less or bone-less meshes with this pre-animated bones. Most of any 3D modeler have ability to import mocap data. (Yippee, Blender 2.45 has flawless .bvh import script). The different is now we deal with pre-animated bone with preconfigure keyframe according to their animation : walk, run, jump. etc.
Of course we are not going to rematching our mesh and bones or rigging on every frame. It is just not effective way. (pain in the a@#). But still, rigging technique is necessary and become more important in several keys :
1.more detail and accurate coordination of joints location between our model and bones is needed.
2.our model must have the same size with the bones. Not just overall size but every dimension of the body parts (including its clothes if available) should with the same size with the bones.
3.from above points, we must have knowledge about human anatomy. Yeah right, like I have not enough for learning to.

Once we have sculpted our model to became exactly the same pose with the mocap’s bone on its rest-position (frame=1) (dimension, location, rotation), maybe we can rig our meshes and maybe we get our expected result.
I said maybe because I am now experimenting among many other parameter that may cause our model become fubar (f*@#&p barely recognize..hihihi).
Lesson learned : IMHO rigging is easy concept to understand but very time and effort consuming.


About this entry