SOFTIMAGE|XSI ANIMATION SCRIPTS




Many of these files have been compressed with winzip. (It's possible that, after downloading this file, you will need to add the extension .zip to the end of the file name in order for it to work properly with your de-compression program.)


Constrains - by - Bull Schanen - This allows you to constrain multiple objects at once that share the same number (ie. cube1 to null1, cube2 to null2, etc).Made primarily for imported gowiththeflow systems of nulls, seeing as there isn't anything similar for xsi. It has a GUI, and you can select the type of constraints you want to use (pos, dir, or ori).

Drag and drop this link from a netview browser within XSI 1.5 to install:
CONSTRAINS

MirrorJoint v1.1 - By Ludovick Michaud- A script that can mirror joint chains. The existing mirror script from the softimage site just lacked one further operation for it to work on joints properly. This has that operation added. (This script is not needed if you have SOFTIMAGE|XSI Version 2.0 or higher)

Drag and drop this link from a netview browser within XSI 1.5 to install:
MIRROR JOINT

Branch_viz v1.0 - Created by Matt Lowery - Makes it much easier to save branch visibility keys.

Drag and drop this link from a netview browser within XSI 1.5 to install:
BRANCH VIS 1.0

Nillifier v1.1 - Created by Matt Lowery - This script Pose constrains selected objects to nulls.

Drag and drop this link from a netview browser within XSI 1.5 to install:
NILLIFIER v1.1

Cube Control - Created by James Rogers - Working with a skeleton, the user runs the script. A small cube is created (with blue wireframe and wireframe display under mixed viewing mode). The user is then prompted to click the created control cube and then the effector to which it is to be applied. The cube is the positioned at the effector (by constraining it to the effector and relaxing the constraint) and the the effector constrained to the control cube.

Drag and drop this link from a netview browser within XSI 1.5 to install:
CUBE CONTROL

UP_VECTOR CREATOR - Created by James Rogers - This script creates an automatic skeleton up-vector control for a chain. The user is prompted to select the chain root on an existing skeleton and then the effector. The mid-point betweeen these two coordinates is calculated and a control cube is placed there with a minus five offset in the z-axis. The user then selects the first bone of the chain and this is up-vector constrained to the created cube.

Drag and drop this link from a netview browser within XSI 1.5 to install:
UP_VECTOR CREATOR

.Camera Switcher Script - Created by Andy Hayes - Bournemouth University - This script was made primarily for use with animatics, when multiple cameras can be combined into one camera enabling an easier and simpler render. Simply set the desired cameras up in the scene and run the script. The script then lists all available cameras, where upon the user can input the desired starting frames for any camera. There is no need to enter ending frames as each camera will continue to be in use until the script comes across another camera starting frame. The same camera can be used more than once, by seperating each starting frame with a comma. For example to use camera1 from frames 1 to 25, followed by camera2 from frames 26 to 46 and finally back to camera1 for frames 47 to 100, simply enter "1,47" next to camera1 and "26" next to camera2. The script is also not order specific, so for example the first camera in the list does not have to be the first camera used. The script will generate a new camera and bake the camera selections on to the one camera called "Render_Me" and it is this camera that the user should render from. The baked camera also takes into account animated cameras and various fields of view.

Please send commments/suggestions to ahayes@bournemouth.ac.uk


Drag and drop this link from a netview browser within XSI 1.5 to install:
CAMERA SWITCHER SCRIPT

SOFTIMAGE|XSI LightsRing Script - by Guy Rabiller - Click here for a tutorial on how to use this script. (This tutorial is also avaliable in French) When you want to animate many lights in a coherent way, this can quickly becomes a tedious work. With the help of scripting, this could be a lot easier. Here we want to create a ring of lights, then animate the intensity of each light in circular patterns, and be able to play with some other parameters like the 'hardness' of the intensity transition during rotation. This script has two sides, one for creating such setup, the other will help us to animate it with the help of customs parameters created specificaly for this kind of animation.


Drag and drop this link from a netview browser within XSI 1.5 to install:
LIGHTSRING

SOFTIMAGE|XSI Dominos Script - by Guy Rabiller - Click here for a tutorial on how to use this script. (This tutorial is also avaliable in French) Some tasks wich involve numerous similar objects can quickly become a real nightmare, if done by hand. Here we want to place and animate numerous dominos - 1000, 10000 even more - along a path, without dealing with each domino individualy. With the help of scripting, this can be done easily, giving us the ability to interact with the spacing and the timing of each instance. We can even choose an existing curve along wich the dominos will be placed. Last, you deal with only one source object regarding the animation. The other instances will refere to it.

Drag and drop this link from a netview browser within XSI 1.5 to install:
DOMINOS

Chain Fixer - David Gallagher - Cineframe Animation - This script normalizes the rotation of the first joint of a chain, and puts that rotation into the chain root. When you draw a chain, the first joint often has a non-zero rotation, sometimes very different from what one would expect. This is because of the rotation values of its parent, the chain root. The window the chain is drawn in determines the chain root's orientation. Other joints in a chain have a predictable value: the offset from the first joint, and returning them to a zero value straightens out the chain. A zero value on the first joint, though, can throw the chain into a contorsion. ChainFixer just puts the rotation values on the first joint of a chain into the chain root, changing the root's orientation, and leaving the first joint's global orientation the same, while changing the value to 0,0,0. Doing this can also help avoid gimbal lock in some cases because any Y rotation on the first joint removes the difference between the X and Y axes (which you can see in Add mode).

Usage: Select the first joint of a chain. Run the script. The values of the joint change to 0,0,0 and the root of the chain rotates to match the joint's axes.


Drag and drop this link from a netview browser within XSI 1.5 to install:
CHAIN_FIXER

Connect Values - David Gallagher - Cineframe Animation - I made a quick script that automates dragging and dropping all position, rotation, and scale parameters from another object (creating an equivalency expression). This is something I do in rigging quite a bit when I need local values instead of global, so I'm finding it useful at least. It's based on Ludovick Michaud's CopyMat. You select the destination object, then the script has you pick a source. Just for others' clarification, the script is strictly for when you need to connect local values together (as opposed to a constraint or Match Transforms which are always global)

Drag and drop this link from a netview browser within XSI 1.5 and above to install:
CONNECT_VALUES

GP_easy_hide_unhide - Greg Punchatz & Ludovick Michaud - Janimation - Simple Script that allow user to save key of animation for hide/unhide of objects. (just a quicker way of doing the save, it saves about 7 clicks.) So the way to use it is simply to run the script. If you simply run it after selecting an object the object will have animation of hide at the current frame that it is but the frame before will be unhide) Now if you press and hold "ctrl" while running the script it will do the inverse as far as hiding goes.)

This script is up and running for 2.0 and up, I believe that it should work in 1.5 but not too sure.

Drag and drop this link from a netview browser within XSI 1.5 and above to install:
GP_EASY_HIDE_UNHIDE


ImportVoicePuppeteerData - Ángel Tena - Website - Readme - This script is part of a major system that we use for lipsync. The system kernel is a Windows application. This application gets the text and audio of a dialog and builds up the phonemes positions and length, all based on the Spanish Language. The output of this
application is a file with that phonemes information. We use 13 phonemes groups or visemes. Each viseme has the identification, frame offset from 0 and length.
This script reads that file and makes the mouth shape animation. It has not utility without the Windows application that provide the lipsync file information, but it could be used as a template for scripts that need file reading operations.


Drag and drop this link from a netview browser within XSI 1.5 and above to install:
IMPORTVOICEPUPPETEERDATA

LM_Ghosting - Ludovick Michaud - Janimation - See this as being a really big workaround of the ghosting option in 3.X
Simply select the object and run the script. This will simply copy a frozen object at the selected frame. This script only works in 2.0 and higher as I'm using command none existant in 1.5


Drag and drop this link from a netview browser within XSI 2.0 and above to install:
LM_GHOSTING

LM_Rot_Trans_Marking - Ludovick Michaud - Janimation - Simply quick marker of pos and rot in the scene. Just run the script.

Drag and drop this link from a netview browser within XSI 1.5 and above to install:
LM_ROT_TRANS_MARKING

LM_Shape_Creator - Ludovick Michaud - Janimation - Well most of you from Maya love doing shape animation because of the ease of use when creating a shape and the nice slide being created for you automatically. Well not to worry anymore because this feature is now accessible to XSI user as well. It's a simple scripts that automates a bunch of stuff for you when saving shape. Basically I'm creating a slider based on the shape that you saved and of course there is a bunch of other stuff going on in the back but. Each time you save a shape key using that script you will have a slider added to a custom PPG. This is model based script, in other word I'm looking for the first model that contains the 3Dobject selected and then I create the custom PPG on the 3D object and each time you create a new shape for that 3D object I'm simply adding to this page the proper slider. So no need to go in the Mixer anymore with this script. Simply select the object with a shape to be save and run the script. I'm taking care of the rest. There will be a custom ppg appearing with your shape under a slider control. And yes it's working with Cluster and multiselection. And this was written for 2.0 and higher, it's written using solely the Object model thus will not work in XSI 1.5, but I had to choose a version upthere

Drag and drop this link from a netview browser within XSI 2.0 and above to install:
LM_SHAPE_CREATOR

Chain Scipts -by Michael Donovan - Many Cool scripts for working with IK chains:
CHAIN COLOR - Simple script that colors your EFFECTORS RED and ROOTS BLUE.
SI|3D EFFECTORS - You build all your skeletons in XSI ... but you hate that fact that XSI puts the effector under the root node.
This script will reparent them under the last bone (where SOMETIMES it makes more sense). Works on parented chains too.
XSI EFFECTORS - Reparents all of your effectors under their corresponding chain roots. If you like having your effectors under the root node and you import skeletons from SI|3D ... this is for you ... =).
RENAME CHAIN - This script will rename the elements of any chain. Simply pick the root node and then give the chain a name and if desired a prefix.


Mxe Bone Assembler by Andrea Padovan:
This sript modifies the number of bones that influence the vertices of character with an envelope operator.

Example: If the charcter has some vertices that have been influenced by more the two bones , (four or more) the script
transfers the influence to as many bones as it wants with two types of calculations.

Example with vertices influenced by three deformers or bones taking them to two. When the panel opens you can choose between two types of calculations: "0" = takes the smallest influence value divides it by two and adds this value to the remaining two deformers. "1" = takes the smallest influence value and of the two remaining deformers adds this value to the deformer with the lowest value.


Drag and drop this link from a netview browser within XSI 1.5 and above to install: Mxe Bone Assembler


Sel All Clip Apply by Andrea Padovan: This script selects all clips presents in all animation mixer's track it applys a "freeze to new source" command, it selects the new souce created by the "freeze to new source" command, it makes an apply action and cancels the clip generated by the "freeze to new source" command present in the mixer. The original source are neither modified nor cancelled. This script helps resolve update problems in the animation mixer.

Limits: The model must have a mixer with at least one clip in a track. The compound isn't modified by the script.

Select model run script.
This script works with multi selection.



Drag and drop this link from a netview browser within XSI 1.5 and above to install: Sel All Clip Apply


HandyMansScript - By Graham D Clark - Website - Handy Mans Script to automate setup for shape animating hand gestures

Drag and drop this link from a netview browser within XSI 1.5 and above to install: HandyMansScript

Stefan Andersson Pose Storing Script - By Stefan Andersson - Website - This script stores Poses to be used in the mixer for blocking characters. Prework is to create groups of the object that you are animating. Ex. all objects used for rotation can be put in a group called "rot_chains_monster".

Drag and drop this link from a netview browser within XSI 1.5 and above to install: Stefan Andersson Pose Storing Script



Have you got a helpful script that you think might be useful to others? Want to get it posted here? Just mail it to me (EdHarriss@EdHarriss.com), and I'll put it up!





HOME