FaceFX for XSI

This plugin allows you to import/export data in XSI from OC3 FaceFX .FXA file format and its distributed in an XSI Addon called FxXSI.xsiaddon.  The addon contains 2 self-installed plugin FxXSI and FxXSIUI. FxXSI contains the XSI commmands which interacts with the FaceFX SDK. FxXSIUI contains the custom menu entries File | Import | FXA... ,File | Export | FXA... and the FaceFX cusom property which is used to exposed interaction to the XSI user.

Dictionary

    Import: Import in the context of this plugin means bringing content from the FaceFX SDK into the scene.
    Export: Export in the context of this plugin means bringing content from an XSI scene into the FaceFX SDK. This doesn't automatically persist the content on disk, if you want to do that you will need to do a Save in the FXA.
    RefPose: RefPose are the list of bones/nulls that are going to be used to import/export data from/to the FaceFX SDK.  This is equivalent to XSI StaticKinematicState.
    BonePose: A given pose of the bones specified in the RefPose.

FxXSIUI

Creating a new .FXA File

To create a new .FXA file you can go in File | Import | FXA...
This will create a custom property called FaceFX under the scene root. You can lock the property page of that custom property.
You can then specify which bones to be used within your FXA file by selecting in the scene the bones that you want to use and clicking on the Export button of the Reference Pose tab.
You can then create some poses for those bones by moving them and then clicking the Export button of the Bone Poses tab. This will prompt you for the name of the Pose.
Then if you go to the FXA tab you can specify a path and file name in the File text box.
Finally pressing Save will persist that FXA file on disk.

Importing animation into a scene from an existing  .FXA File

To load  an existing .FXA file you can go in File | Import | FXA...
This will create a custom property called FaceFX under the scene root. You can lock the property page of that custom property.
You can load an exsisting file by specifying a valid file path or browsing to it using the browse button on the FXA tab of the custom property.
Pressing the Open button will load that file in memory and populate the other tab of the custom property.
If you then go to the Animation tab of the FaceFX custom property you can select the animation group from which you want to import an animation.
This will automatically populate the Animation list.
Once you've selecte an animation from the animation list you can press the Import button which will import the data in the scene.

FxXSI

This plugin gives you access to the commands which serves as a link between XSI and the FaceFX SDK.

FXA File

FaceFXOpenFXA

    Input Argument: FileName (String)

    Description: Takes the complete file path to a .FXA file and load it in the FaceFX SDK for later access by the FxXSI plugin.

FaceFXNewFXA

    Input Argument: ActorName(String)

    Description: Create a new actor representation in the FaceFX sdk using the actor name. Note that this will flush previously loaded actor.

FaceFXSaveFXA

     Input Argument: FileName (String)

    Description: Saves the current actor to the FXA specified by the filename argument.

RefPose

FaceFXImportRefBonePose    

   Input Argument: Frame (int)

   Description: Resets the bone pose to their neutral pose at the specified frame.

FaceFXExportRefBonePose

    Input Argument: Frame (int)
                             Bones (Collection)

   Description: Uses the value at the specified frame as the reference pose for the bones specified.

          FaceFXListRefBonePoses

              Description: Returns an array with the name of the bones that are in usage by the current actor.

BonePose

FaceFXImportBonePose

    Input Argument: PoseName (string)
                             Frame (int)

   Description: Import the given pose by setting the local transform for the bones in the RefPose list. If the bones are already animated it will overwrite the key for the specified frame.

FaceFXExportBonePose

    Input Argument: Frame (int)
                             PoseName (string)

   Description: Export the transform at the specified frame to the specified pose name

FaceFXListBonePoses

   Description: Returns an array with the pose name.

FaceFXBatchImportBonePoses

   Input Argument: BatchFileName

    Description: Given a text file containing pose name at frame sequence it will import the appropriate pose in the scene. Please refer to the FaceFX help for more details.

FaceFXBatchExportBonePoses

   Input Argument: BatchFileName

    Description: Given a text file containing pose name at frame sequence it will import the appropriate pose in the scene. Please refer to the FaceFX help for more details.

Animation

FaceFXImportAnimation

    Input Argument: AnimationGroupName (string)
                             AnimationName (string)
                             FrameRate (float)

   Description: Import the given animation animation in the scene. It will get rid of existing animation.

FaceFXListAnimationGroups

   Description: Returns an array containing the names of the existing animation groups.

FaceFXListAnimationsFromGroup

    Input Argument: AnimationGroupName (string)

    Description: Returns an array containing the names of  the animation for a given animation group.