Sunday, 10 April 2011

Customizing Toolbars and Controls

Customization of one’s scenes when working in XSI becomes a very practical and useful element when using the program and allows the user to “take control of the user interface” (Ambrosius, L. 2007, pg.56). This essay will discuss the setting up of various custom toolbars and explore the advantages they offer the user. I will also look at controls which I have setup in my project and how they will benefit future productions.

Firstly, let us explore and define what a custom toolbar is. Essentially, a toolbar is a place wherein controls or functions can be placed. These controls or functions are set up manually by the user according to a particular technical need he/she may require in a certain scene. Kxcad.net notes that such controls may be used “to hold commonly used tools and presets” which are not specifically laid out in the program controls. (2011, pg.1). In XSI a method of creating a relatively simple command toolbar consists of using the script controls within the program to define the specific parameters of the control’s function. As these are additions to the program, they are referred to as “Non–self-installing Script-based Custom Commands” and become embedded in a custom toolbar which can be selected in XSI’s view options. (Softimage Wiki, 2011, pg.1).

I will now explore some options one may use when setting up a custom toolbar. Firstly, in terms of character setups, there is the option to quickly move between the translate, scale and rotation tools. While one of these three functions may be automatically assigned when clicking on a certain feature (this is done in the Transform Setup button from Property in XSI) it is generally useful to have the others also readily at hand to increase the efficiency of one’s workflow. To achieve this, one simply needs to have the specific function selected, enter the script function and copy the specific function into a custom toolbar setup. This will now create a button which can easily be used to swap between the functions. Having such toolbars is useful, but one must maintain an organization of the various buttons by labeling them (either by text or a thumbnail picture) as well as splitting toolbars up into certain categories; failing to do this will not only clutter the workspace but will confuse the user and defeat the initial purpose of using such toolbars.

Many other functions are readily available to be customised (due to the practically endless possibilities that using scripts offer the user). One other I shall discuss is the use of global controls. Global controls can be created customarily to control many functions within a particular area of the project. For example, the various finger curls which are setup for each finger can all be controlled together as a hand by creating a function which allows all the single finger controls to be moved simultaneously. Furthermore, controls can be made to quickly access functions which otherwise may be tucked deeply within the scene explorer and inconvenient to find in a short space of time. Such a control once again gives the user the advantage of having better control over the program and easier access to hard-to-find functions. Additionally, as explained by Darren Brooker, functions which may have the incorrect default settings (for example, camera settings in XSI are usually set by default to NTSC as opposed to PAL) can be changed by the user and then, by copying the change from the script history into a toolbar, will be maintained with the new settings by simply clicking on the new button (Brooker, D. 2003, pg.264).
I will now explore the custom toolbars I have set up in my rig scene in order to improve the workflow and efficiency of my character setup. Before setting up the toolbars I first set the default functions for various body parts. For the feet I set translate as the primary function as feet generally move through space more than rotate within it (this would be the place of bone joints such as elbows and ankles). The same was done for the arms and the central positioning of the character. I then set the rotation controls for both feet by creating a custom toolbar (as explained above). To organise the controls (and make it easier to differentiate between the different controls) I used a bitmap thumbnail picture which I had created in Photoshop to easily show which control performed which function. For example, the left foot rotation had a picture of a wireframe foot with circling arrows around it as well as the letter ‘L’. The same logic applied to the right foot.
Furthermore, I made a hip rotation control in the same way but put it on its own toolbar to differentiate it from the feet, which are in a different location in the body. I then laid out the two toolbars on opposite sides of the interface, naming them ‘Foot Control Toolbar’ and ‘Main Body Toolbar’.

In conclusion, I have seen that the use of custom toolbars greatly increases the workflow efficiency of one’s production. This is done by allowing the user to personalise and take control of his/her interface to meet his/her needs with the creation of extra functions. It also allows the user to quickly access program functions which may be otherwise hard to locate.

Works Cited:
  1. Anon. Custom Toolbars. Web. http://www.kxcad.net/Softimage_XSI/Softimage_XSI_Documentation/toolbars_shelves_CustomToolbars.htm 2011.
  2. Ambrosius, Lee. AutoCAD 2008 3D Modeling Workbook for Dummies. Wiley Publishing Inc. New Jersey. 2007.
  3. Brooker, Darren. Essential CG Lighting Techniques. Focal Press. Burlington, MA. 2003.
  4. Softimage Wiki. Creating Non-Self Installing Script-Based Custom Commands. Web. http://softimage.wiki.softimage.com/xsidocs/custom_commands_CreatingScriptbasedCustomCommands.htm 2011.

       

Sunday, 3 April 2011

Rigging Essay

A well made character rig works like an extension of the animator. It does what the animator expects, when they expect it.”
Jason Schleifer, from Cheryl Cabrera. 2008, pg.9
To animate any character in a 3D software program requires what is known as a rig. A rig is essentially a system of skeletal-like deformers (a series of linked bones and joints) which are then manipulated by control points (Valve Community, Web, 2011). This essay will discuss how the default rig in Softimage XSI works and compare it to another manually created rig which has been built by a 3D animator. It will then discuss the importance of creating a good rig and the correct procedure of going about such a creation.

Most modern 3D software packages come with default rig setups which may serve as a template to creating a new rigging setup, or may be perfected as they are. Rigs may, of course, be created from scratch (which allows for greater creative control over animating one’s character) but, for many, producing these character rigs “can be a daunting task” as serious attention needs to be paid to many different areas controlling deformation and animation. (Cabrera, C. 2008, pg75). Default rigs then, although they may not initially offer the same creative freedom a manually constructed rig can, are highly effective for many animators in creating animatable characters in a shorter period of time.

In order to setup a default rig in XSI, one first needs to create what is known as a Biped Guide (XSI User Guide). This is not the actual rig which will be used but rather, as the name suggests, a guide to setting up the final rig. It basically provides a skeletal reference which can be manipulated within the chosen character mesh. These reference points are moved until they match their respective features on the character mesh surrounding them i.e. finger bones are matched to the fingers on the mesh and so on. Below is an example of a biped guide:
One can also, at this point, toggle with the IK/FK controls within the guide in order to understand how the skeleton structure within the character will move which will essentially allow better animation of one’s character. IK/FK controls can be understood, at a basic level, as how the angles of bone joints relate with one another (with regards to parental hierarchies) in a 3D space. IK, or Inverse Kinematics, is “how the child node, as it moves, affects all the parents’ position and orientation values” (Web, 2011) and FK, or Forward Kinematics, refers to “the effect on the child nodes as the parent moves or rotates” (Web, 2011). Once these positions are all finalized, the biped guide can now be transformed into a proper rig. This rig is enveloped (effected upon) to the character mesh and now allows the character to be animatable.

This default rig, once weighted properly, is rather effective. It has a very similar structure to the human skeletal system in terms of its bone count/positioning and its joints and therefore allows for realistic movement (although it’s spine is probably too simplistic). It lacks, however, effective control points to animate the character on a more global scale. These must be created by the user which can in itself become a complex process. It also ‘behaves’ rather unpredictably when rotating the character’s torso areas and is not easy to resume the default position once these controls have been changed.

The second rig, which was sourced, is called Nano Man, created manually by an XSI user and outsourced as freeware. This rig has many of the essentials that the default rig contains but has extra features. Most useful is its global controllers which allow the user to manipulate larger areas of the character’s body simultaneously and with apparent ease as opposed to the default rig’s very limited global manipulation controls. In terms of its skeletal structure, it is also much more effective than the default rig, especially if one notes the spine. In this Nano Man, there are five spine bones (each with corresponding joints, roots and effectors) which significantly increases the amount of character flexibility available to the animator. The only real disadvantage of this rig is that, since it was created manually, it may take awhile for a new user to become familiar with the creator’s rigging style and how they chose to create control points and so on. Besides this, the Nano Man is an effective, quick to animate, rig which allows for great animation flexibility.



Finally, essential to rigging is organization. This goes all the way from character design, up until its animation. When designing the character, think of how it needs to move and therefore how it’s skeletal structure will look to achieve such animations. With this in mind, model the character with the skeletal features in mind. When it finally comes around to rigging the character, one can avoid a bad rig setup if one has designed and modeled the character effectively.

In terms of the rigging process itself, it becomes highly important in understanding how the hierarchies within the rig work. To make these hierarchies easier, it is vitally important to name the rig components. Kim Lee gives an example; “if your character is called Jester, name your bones jester-bone-01, jester-bone-02 and so on.” She also notes that naming becomes very important when merging one’s scenes together. (2002, pg. 165). Another useful technique is to universalize your control shapes – have all effectors as cubes, all roots as circles etc. This will make navigation between various different animatable parameters much easier.

In conclusion, this essay has defined what rigging in 3D software is and why it is so important to creating good animations. It has explored and discussed the default rig setup in Softimage XSI and has compared it to a custom built rig in order to understand how default rigs compare to manually created rigs (which concluded in the notion that a manual rig allows much more creative freedom and is therefore a better choice in the long run). Lastly, I have explored some tips and organizational strategies in rigging which allow for a more efficient process and which give the animator a greater grasp of his/her creation, subsequently allowing for a greater final product.

(1047 words)

Works Cited:
  1. Cabrera, Cheryl. An Essential Introduction to Maya Character Rigging. 1st Ed. Elsevier. Oxford, UK. 2008.
  2. Lee, Kim. Inside 3Ds Max 4, Volume 1. 5th Ed. New Riders Publishing. USA. 2002.
  3. Real Illusion. What Is IK/FK. Web. http://www.reallusion.com/iclone/Help/iClone3/08_Animation/Motion_Layer/What_is_IK_FK.htm. 2011.
  4. Softimage XSI 2011. User Guide. 2011
  5. Valve Community. Rigging in XSI. Web. http://developer.valvesoftware.com/wiki/Rigging_your_Custom_Character . 04/03/2011.