Tuesday, August 21, 2007

AnatomicRig 0

The user is now required to supply both the mesh and the (bound) skeleton (automatic skinning is still an option to be discussed later). Detailed studies of existing character types (such as primates, canines, felines, deers, cows etc) are to be made with results to be entered in a database. The purpose is to find correlations between known character types (eg. how manys ways cows are similar to horses), and to derive common parameters for these categories of characters (within or across different categories). With this knowledge, the input supplied will be analysed and matched against the database to determine which category of characters it belonged to (or categories, given a centaur or mermaid). Thereafter, the input would then be updated (adding more bones or mesh, altering positions, etc) with regards to the common parameters identified earlier to add realism and improve anatomical correctness of the model. Users can also specify within their character values for other attibutes that is identified with the particular category (eg weight, mass, agility etc), which would alter the model based again on the database created.

Tuesday, August 14, 2007

AutoRig 1.5

How do i generate a skeleton and embed it into a given mesh? Procedural adding of joints and orienting them is really a matter of scripting but the problem here is to analyse the mesh itself. For decent deformation the skeleton must be placed appropriately and well away from the mesh boundary. Suppose i went through all vertices of the mesh to find extreme points, i would still be unable to find positions for elbows hips n knees because these are not extreme points in the anatomy, and the method would probably take too long should a smoothed mesh be given. Default poses of the given meshes would also likely compromise accuracy. The simplest (and by no means easy) method i can think of now is to decompose the mesh into parts and analysing their volumes, then connecting the joints for every part. There are 2 papers on skeleton extraction from National Taiwan university that rather interest me, but currently im trying to figure out the paper from Grégoire Aujay1 Franck Hétroy1 Francis Lazarus2 Christine Depraz1 on Harmonic skeleton for realistic animation, which shows a fast, automatic skeleton generation that can adhere to anatomic characteristics.

Sunday, August 5, 2007

AutoRig 1


Primitive rig -- no colours were used to differentiate between right and left


Polygons are used as iconic controls (instead of nurbs curves as most commonly seen).


Details were left out: footrolls and toes, fingers, jaws, etc.


IK/FK switching options was not implemented. The arms was rigged with only FK controls (experts online says arms are better left FK for precision).

Been slow in implementing the primitive rig. There are many ways to go about doing it and i pretty much ended up trying out everyone of them. Had tried using constraints first, and then moved on to setting driven keys (and adding extra attributes then controlling them with slider bars) and then resorting to the connection editor and finally the expression editor. I have to say the expression editor should be the best way to go about it because the executed steps are clearly shown (hypergraphs can get rather confusing because of the way the nodes are being displayed). Still, there were bugs everywhere. In the end the primitive rig is a combination of all the methods stated above. I had also written a mel script for a simple user interface to select the controls but it seems my copy of maya could not source the script no matter which directory i placed it in. Next up would be procedural bone placement (to be done within the next week or 2) and then procedural skinning (notice my model did not go through proper skin weights painting and areas under the armpits and shoulders deformed unnaturally). So far the main area of concern is still the skin weights and my new concern is the rigging of the high-range-of-motions areas (shoulders and thighs). Forums and websites i have gone to have done things ranging from adding influence objects (muscles?) to actually constructing the entire shoulder girdle (5-bone structure http://www.animationartist.com/2003/08_aug/tutorials/rigging_anatomy.htm#, whereas im using a 2-bone girdle representing only the clavicle and the shoulder) to allow for more realistic influences over the shoulder area. Apparently, Maya does not have event handlers (such as onMouseDown commands in Actionscript).

To be done: procedural bone placement and skin weights painting, shoulder and thigh rigging research(1 week).
Edit: found out why i couldnt source my script.