TRUESPACE - Unreal
Unreal PSK/PSA Import Export
ut group
various unreal characters
Truespace7.6 plugin and script for importing and exporting Unreal psk psa mesh and animation files.  This plugin has been tested with ut3 and should work with earlier versions of unreal.
Instructions March 7 2009:

tsx folder
Download and unzip the file and copy the "Clintons3dPlugin.rsx" into the truespace tsx directory.


load plugin
Open the package manager, right click - install new, browse to the location of the rsx file
Right click on the new line and load it


psk panel
Load the "unreal import export v1.03.RsObj" into a new scene.

To load a PSK file click the "..." button next to "PSK Import filename".  Navigate to the file and click the "Load PSK" button.  Wait for the status line to clear before doing anything else.  The skinning for the udnmale and female will need adjusting.  Running the heal tool with max influences set to 3 does the job.

Follow the same process for loading a PSA file.  The PSA import will load each animation in the PSA file into it's own animation track in truespace.  It places a keyframe at frame zero for each track so you have to manually delete the first frame of all animation tracks except for the first one which actually does start at frame zero.

Saving via truespace script is a process, since there is no new or save dialogs.
To save a psk file click the "..." button next to "PSK Export" and navigate to where you wish to save the file.  Now right click in the list of files in a blank area, choose new and create a new file of any type.  While the file name is still highlighted type the name for the file with a ".psk" extension.  When warned just click "yes" and click on the new file to select it into the filename field.  Click on open to load the filename into the script.  Click the "Save PSK" button to export.

Do the same thing for the PSA file.  The PSA export ignores the animation track information and only exports one animation named "dummy".

If you want to create your own skeleton follow the steps below:

These are the steps needed to insure the the first joint position and rotation are relative to the world coordinate system.
Start the skeleton in the front view, one bone, drawn top to bottom centered on the origin.
Exit the skeleton tool and reset the matrix on the Skeleton_root inside the Skeleton node.
Also reset the Matrix on the Skeleton node itself.
Rename "Bone" to "MyBone" and the bottom "joint to "MyJoint".  Names are required for the plugin.
Now use the shape skeleton tool to move the top joint into a good general position in the z axis and build the rest of the skeleton from that joint.  For UT3/UDK characters set position to z=0 and name it "b_Root" just in case that name is important.  For vehicles name it "Main_Root" and place it in z to match whatever vehicle is used as a template.  For doom3 character name it "origin".
Every joint must have a unique name and each child bone must have the same name as it's parent joint with a "Bone" postfix.  So a joint named "Hip" would be followed by a bone named "HipBone".  It's easiest to rename using the Scene view.  Set the default pose when the skeleton is complete.  Mesh must be triangulated and use the freeze transform button before skinning.  The Freeze transform button can be downloaded from here.  Mesh should be built facing positive x direction.  The left and right sides should be reversed.  Left is on the right and right is on the left since the exporter mirrors the object.



click here for a tutorial on getting an animated mesh into a ut3 test level



Update: April 12 2009, fixed bug in the script that stopped proper use with trueSpace built skeletons

click here to download the plugin and script

click here to download the official ut3 meshes in PSK format

click here to go to the UDN website for the udnmale and udnfemale sample files.  The animation files are for 3dsmax.


some older plugins:

click here for the truespace model side plugin for unreal vertex animation exporter

click here for the truespace model side plugin for unreal brush exporter

click here for the truespace model side plugin for unreal ASE static mesh export