HOW TO USE SkeletonWorks

Maya 2.5
Maya 3.0

Note: This a beta release of this feature. To provide feedback please email bvanbrande@aw.sgi.com

SkeletonWorks builds a Maya skeleton based on presets or procedures  The script uses the Maya production-proven tools like joints, ik-handles, expressions, set driven key, constraints, and character nodes to produce the high quality skeletons no different then hand built skeletons.

The user can modify the skeletons with high level controls like arm length and shoulder width, or manually tweak selected joints to fit the character.

Presets are stored in a library with different sections.  Users can modify and save the presets, analyze their existing skeletons to create a preset skeleton or build a preset from scratch using a text editor.

Procedural skeletons pop-up a UI for extra user input.  After this the skeleton is procedurally built.

The skeletons are fine-tuned for specific applications. A skeleton for games is build for efficiency and speed. Skeletons for special effects production has generally more controls, more joints, more detail etc.


INSTALLATION

skeletonWorks.mel is compatible with Maya version 2.0 and higher.

  1. copy the skeletons folder to your AW folder C:\aw or /usr/aw
  2. copy the icons to your ~/maya/x.x/prefs/icons
  3. copy the following scripts to your ~/maya/x.x/scripts folder: skeletonWorks.mel, circleJoints.mel, milliped.mel

To start skeletonWorks, source the script or create a shortcut on one of the shelves.


UI - CREATE

The UI has 4 tabs:

The Create Tab has a library of skeleton setup files.

This library can have 10 subdirectories in the $\aw\skeletons directory.

The naming convention of subdirectories is: The prefix: "swLib", a number from 0-9 an underscore and the name of the library: ie: swLib9_Myprod

Subdirectories are displayed with corresponding icon from $/maya/2.5/icons: ie swMyprod.xpm

When you click on the icons, the scroll-window will display the content of the libraries. Only presets with the extension .skl will be listed.

Double-click a skeleton preset will create the skeleton.

Other functions:

Save Skeleton:  Allow you to save a new preset after scaling
Analyze existing:  To analyze an existing, imported skeleton ( will generate .skl file with joint and ik information)
Delete .skl file  Library management
Create IK Create Ik's for this skeleton (if defined) in skl file
Delete IK Delete the created ik's
Disable IK 
Enable IK
Freeze Skeleton: will freeze skeleton in this position and reset all sliders.
Re-orient joints can be necessary after tweaking if you need specific orientation of joints.
Mirror Position copies the xyz-position of first selected joint to second selected joint possibly with mirroring enabled (see later)
Execute PostCmds Execute post process commands


UI - EDIT

This tab has a fixed section with global and X,Y,Z scale sliders.

If the preset has control groups, this tab will also display sliders for these groups: ie leg length, arm length

Checkboxes allow for scaling along selected/predefined axes.


UI - TWEAK

The tweak move and scale sliders allow you to tweak individual or groups of joints.

If mirroring is activated, then the script will move the second joint in the opposite mirror direction of your first selected joint. (select an even number of joints)

The second option allows you to move with or without the hierarchy. 


UI - OPTIONS

Directory for skeleton library, stored with maya_prefs.  Restart skeletonWorks after changing this option. You can reset the variable by typing following command in the script editor: optionVar -sv swLibrary "$/aw/skeletons"

Default joint orientation: when not specified in skl preset file.

Check boxes to create IK and to execute the embedded Mel-commands when creating a skeleton. Verbose mode will give a bit more info. 


WORKFLOW

1. General workflow to create skeleton.

  1. Select and create a skeleton
  2. Edit skeletons using global, XYZ and custom controls
  3. Finally tweak joints and if necessary mirror position.
  4. Create IK
  5. If necessary disable IK, edit tweak and re-enable IK.  (sometimes, delete and recreate (in case of spline-ik)
  6. Execute post-commands (to create character node, sdk, expressions, etc.)

2. General workflow to analyze skeleton

  1. Import maya file.
  2. Select root nodes of all hierarchies you want to analyze (don't forget inverse feet)
  3. Hit analyze existing button will save named preset file in selected library/subdir. 


THE .SKL FILE FORMAT

SkeletonWorks Skeleton Data file format.

recognized items with input options:

joint name parent xpos ypos zpos option=value(*)
ik name startJoint End-effector Solver Parent
control name axis_of_scaling (xyz) list of members of controlgroup
cmd mel-command with options executed while building skeleton (**)
postCmd mel-command executed only in post-process
info general info line (everything put here will be printed out)

(*) Joint options can carry more joint info:  degree of freedom, joint-stiffness,..
(**) Every mel-command can be used: you can source a complete Mel-script!

This way procedural skeletons can be build: caterpillar tracks, milliped,... 


SKELETON PRESETS DEFINITIONS

Human
biped biped skeleton with IK,  inverse foot, controls and character node.
biped_detailed biped with set driven key on footroll, expression on hip, display handles
biped_games basic biped with twoBone IK-solver
Animal
dinosaur dinosaur by Samy Ben Rabah with controls and ik.
horse basic horse, no ik
milliped multi-legged creature with time delay expression on feet.
Mocap
ASF-skelet preset skeleton for ASF motion capturing
Fantasy
jester fantasy character from A|W with ik and control groups
minion fantasy character from A|W no ik
Misc
circleJoints procedural skeleton example which calls circlejoints.mel script


KNOWN LIMITATIONS

To create more skeletons of the same preset in the same scene: add a prefix to the hierarchy (Modify >  Prefix Hierarchy Names...) to avoid name clashing. 

The skeleton library needs to be in c:\aw.

If you installed your aw-folder on a different drive then execute following command first (in the script editor):

  • optionVar -sv swLibrary "D:/aw/skeletons"
    (replace D: by other drive letter if necessary)


MORE INFO

bvanbrande@aw.sgi.com 

Send sample skl files or (skeletons in maya files) to be included in future library release to bvanbrande@aw.sgi.com.  Credits given. 


Copyright (C) 1997-2000 Alias|Wavefront,
a division of Silicon Graphics Limited.