Human body rig for XSI
Features:
- auto rigging, which exactly means fitting a skeleton to an independent guide hierarchy, or reverse. Nothing is created from scratch, rig will just adapt to guide.
- pinning of hands, elbows and knees
- mirroring of walk or run animation, by using at_frame expressions
- mirroring poses for arms or legs
- simple controls for hips and foot rolling, driven by expressions, that mimic behavior of animatable pivots
- various options for chest, shoulders and neck behavior, regarding of hips movement
- various scripted command sequences for IK/FK matching, and matching transforms of constrainers
- there is no SCOPs or expensive constrains

- download it here

- Installation: Copy AM_BodyRigPlugin.js to your plugins folder, something like 'C:\users\your_user_name\Softimage\XSI_6.02\Application\Plugins'. Copy XSI scene file to 'scenes' folder in your project. Copy the rest of files to 'synoptic' folder.

First of all

- this rig heavy rely on naming conventions, so don't rename or delete anything under the skeleton hierarchy, because synoptic scripts won't work in that case. Two actions in mixer, '_BODY_RESET' and '_GUIDE_RESET' , also groups under the model, should always be there.
Anyway, objects under the group called '_delete' can be deleted or renamed. That group contains, mostly, additional deformers for enveloping.

- scripts are independent of model's name, so you can always rename or duplicate model.

- for individual objects, synoptic allows adding or removing from selection. For groups, at this time you can only add group to selection.

- every controller has flagged it's keyable parameters. There is no marking sets or character key sets. In animation panel, choose 'key all keyable'.

- there is also transform setup for each controller, so enable transform setup.

- up vector's controllers for arms and legs are controlled by rotation, not by position. In IK mode, they serve as the IK chain up vectors. In FK mode, they control bicep or thigh rotation.

- default for this rig is: legs in IK mode, arms in FK mode, shoulder in shrugging style, all constrains for pinning are deactivated.

- hand pinning will activate IK, pose constrain for arm effector, also orientation constrain for hand. Hand's orientation constrain is linked to arm's pose constrain. You can remove this link and animate hand's constrain separately, if you wish.

- knee and elbow pinning is performed by constrains, not by additional chains. So arms or legs can slide a bit, without adjusting controller's positions. They working properly in FK mode, so FK mode should be active too. Shoulder an thigh control has an distance constrain, which blending weight is driving the weight of two other constrains. Targets for these constrains are under group called 'RIG2'.

- blue-black buttons for IK/FK switching, IK/FK or constraint matching, will also set keys for appropriate controllers, as well as their function curves to linear. The last is for easy keeping of constraint's weight's inside the 0-1 range.

- mirror pose will only set transforms, not the keys or constraint's weights.

- there are some example animations in the mixer, for pinning and for applying mirror walk.

- longer command sequences are packed into plugin, just for allowing undo of all commands at once.

Synoptic map
Foot Roll by moving a center of rotation
Foot roll is controlled by two controls. One controller for rotation, another for XZ position of rotation center. It's performed by expressions, where controller moves parent and child in opposite directions.
Leg has a three bones, in fact, shin is divided into two ones. This giving a much smoother IK behavior at low IK angles. Disadvantage is small stretching of shin, also an additional bone for animating when you are in FK mode.
There is an indicator that change wire color, regarding of rotation of the last bone. Red color means that IK chain reaches low angles. These angles are set arbitrarily, you can always change expressions which driving them.
HIPS
Hips control has a mimic of animatable pivot (created by expressions), so moving in Y axis will move the center of hips rotation. Moving in X or Z has a different, 'traditional' effect.
Thighs : additional, symmetrical controls for hips transform, mostly for mirroring walk and knee pinning.
Chest, Shoulders, Neck
Three buttons at top of synoptic are for different options. Chest that follow hip's movement or remains in it's axis, neck constrained to hips or to chest, shrugging or 'follow' style for shoulders.
Chest Target
Is actually a target for two direction constrains, so body behave differently when you move chest target in left-right, or front-back direction.
Guide

Mirror walk:
This will add a bunch of at_frame expressions, from left to right side, only in that direction. Expressions are controlled by a Custom Parameter Set, called 'walk', under the model. If length of your walk cycle is, let's say, 15 SI units, and it's 28 frames long, then 'half_length' should be 7.5, 'half_time' should be 14. Procedure: create walk cycle on the left side. For controllers at the left side, set function curve extrapolation to cycling. For foots and upper body, set it to relative cycling. Open CPset, set two parameters, apply expressions. At the end, plot animation to the right side.

Guide:
Only the nulls with orange or yellow wireframe color should be transformed, according to their transform setups. If something won't move, don't try to move it. If you need scaling, scale the parent of guide. 'Reset Guide' will just apply the static pose action from mixer. You can always replace that action.

Fit rig to guide:
This takes parameters from guide, then adjusting skeleton's neutral poses and bone lengths. Guide don't need to be into the same position with skeleton. There is no any connections between rig and guide. Only animation rig is adjusted. Before repositioning, reset the rig.

Fit guide to rig:
is a just sequence of matching global transforms.

 Regards,
 Anto Matkovic
 http://www.matkovic.com/anto