Collada plugin for After Effects

More info here
trueSpace Plugins and Scripts - Import/Export
ASE Mesh Exporter for trueSpace7.61

May 7, 2012 Update:
Automatic Installer just drag into the LE.  Reads image file name from a generic D3D material.

Nov 22, 2009 Update:
New version 1.5 uses the save-as function from the plugin package.

Installs a button to open the exporter in the panel view.  A script for exporting ASE format mesh files for use in creating static meshes for the Doom3/Quake4 and Unreal game engines. Supports Unreal collisions and provides a means to simulate 3dsmax smoothing groups.  Support for 2 uv sets. The second uv set is good for Unreal light maps.
Material names come from the material chunk nodes. Good for Doom3 material names. "%" in the material name is converted to "/" on export.

It changes from trueSpaces right handed to left handed coordinate systems by making X,Y or Z values negative. It looks like ut3 likes the Y coming from trueSpace to be negative.

1 trueSpace meter = 10 unreal units

Some usage notes can be found at this link.  Information includes how to setup smoothing groups and Unreal collisions.

The plugin package is required to use this script.  Download the plugin package here

A generic material can be used with this exporter.

November 22, 2009
 

Enhanced Collada Export for trueSpace7.61

Script for modifying the exported dae file so that the textures and the collada file are in the same folder.  A copy of the collada file is modified and placed into the texture folder.  The original collada file is not altered in any way.  The behavior of the trueSpace Collada exporter varies based on whether it is exporting workspace or modelspace materials.  See some notes here.  This script gives it a more consistent behavior.  Exports animations for light color, spotlight cone angle and camera fov.

This script only works when  using the file menu.  Dragging to a library will not work because the script uses the most recent saved file information which is bypassed when drag saving to a library.

Install by dragging into a 3d view or the link editor.  Automatic installation.

Feb 4 2013:

  • forgotten update for Dec 18 2012
  • changes DATA to ANGLE for Blender compatibility
  • does not use vertex colors as a flag - uses a dialog instead
  • test for absolute path was finding paths with spaces instead
  • ambient and spot fixed - broken because of Unoffical Upgrade #3?

Sept 2 2012:

  • camera fov animation
  • light color animation
  • spot light cone angle animation
  • fix ambient light - changes it from mesh to a light
  • fix area light - changes it from a null to a light
  • fix spotlight angle to use the angle instead of the hotspot angle
January 01, 2012
 fbx panel


truespace fbx import panel
FBX_2 for trueSpace7.61

This is the second version of a plugin and script set for importing and exporting to the FBX file format.  This new version uses the 2013.2 FBX SDK. 

The plugin imports meshes and their materials, camera, light data and animations.  One uv set is imported from the diffuse channel.  NURBS patches are automatically converted to polygon meshes.  UV sets 1 and 2 are exported.

 

Improvements over the first FBX plugin:

  • 2013.2 FBX SDK solves the problem of wavefront obj imports not having any shared vertices among it's polygons
  • the 3ds import handles transforms better
  • source code has better organization
  • automatic rsx plugin installation
  • supports 16 materials per mesh instead of 8
  • adds a model texture shader to the model shader library
  • adds a alpha value shader to the alpha shader library
  • improved object animation import
  • camera focal length animation import
  • better large file support
  • export is improved and has fewer bugs and crashes than before

February 4 2013:

  • ambient light crash fixed
  • no mesh normals crash fixed
  • mesh with SDS material processing crash fixed

January 28 2013:

  • bind pose fixed for import and export of skeletal meshes
  • light and camera transforms and animations are correct
  • unique button id
  • updated icon - colorized so it does not look inactive

January 24 2013:

  • bug in second uv export fixed
  • possible to export a third uv map

January 4 2013:

  • recompiled to remove erroneous dependency on the atl dynamic link library

September 6 2012:

  • buttons say "import" and "export" since other formats are also supported
  • better ui message after run - completed, cancelled and mesh error
  • fixed build edge list export crash
  • fixed upside down uv map export
  • fixed wavefront obj export problems

September 8 2012:

  • fixed new crash bug in the importer
  • renamed the checkbox 'simple fan Polygon' to 'convex polygons'
  • added a warning for the convex polygon option not being active

 

Export Options:

new skeleton - press this button to create a skeleton starting point

embed media - will include textures within the fbx binary file

export end joints - no function

skip skeleton root - bypasses the skeleton root node making the next joint the root of the exported skeleton.  If the skeleton is built in 2 directions from the first bone then this option is ignored.

absolute texture path - will use the absolute instead of the relative paths for texture files

export animation - saves object animations

export mode - no function

Export Scale - scaling multiplier for the export

Delete IK nodes - select a character and press this button to delete all the IK handles and locks

Go to bind pose - frame -10 - - sets the timeline to frame -10

DE-SELECT for scene export - deselect all items

export fbx file - saves an fbx file to disk.  If nothing is selected then the scene will export otherwise the selected item is exported.

Import Options:

clear scene - delete all items in the scene

autofacet - checkbox is the same as pressing the auto facet normals button

autofacet value - angle for the autofacet normals function

import scale - size multiplier

import fbx file - press to import an fbx, 3ds, obj or dxf file

skin and transfer animations - completes the import process for skeletal meshes.

convert parents to groups - some formats import in a parent child type heirarchy.  This button converts these nodes into truespace style groups

take - the number of the animation to import.  A large number will read the last one in the file.

import animation, lights - activate import of lights and animation

convex polygon - creates a polygon from a fan type arrangement of triangles.  This is good for most cases.  When unchecked concave polygons will import properly, but it is unstable and may crash truespace in some cases.  The unchecked state is based on code from http://alxr.usatlas.bnl.gov/lxr/source/atlas/DetectorDescription/GeoModel/GeoModelKernel/src/ by Thomas Kittelmann adapted from code poly2tri by Liang, Wu, it needs further modification to work smoothly with trueSpace.

ignore alpha value - ignores the alpha value in the imported file

invert alpha - some files have reverse alpha/transparency values in the materials relative to truespace.  Use this option to flip the alpha values imported.

convert to zup - pressing this button will activate the fbx function to convert the imported file to a z up orientation.  Uncheck for y up.

no texture no normal - material normalmap node will be removed if no diffuse material node is created for the mesh

activate sliced mode - an fbx file with a large number of items will crash truespace.  Use this option to import the file a piece at a time.  The resulting meshes can be combined with booleans to reduce the number of nodes in a scene and the next import will load the next section of the file.

num items per slice - the number of objects that will import when in sliced mode.  Each time the import is run this many nodes will import.

next import node - this field keeps track of the next starting point for importing in sliced mode.  It will be blank when the last section of the file has been imported.  Do not type anything in this field.

 

Downloads and Installation Notes:

  1. click to get the rsx plugin and script installer

  2. unzip the contents

  3. load the "install fbx2 import export.RsObj" using the file menu.  Do not drag and drop the object into the scene or the automatic installation of the rsx plugin will not work.

  4. Open the link editor and run the script.  If a previous version of this plugin is installed press the unistall button and restart truespace before pressing the install button.

  5. click to get the source code(for programmers) - RcFBXimport.cpp, RcFBXimport.h, RcFBXexport.cpp, RcFBXexport.h

A sample video on how to install an rsx plugin for truespace can be found here.  The video is for installing the Indigo Renderer, but it uses a similar rsx plugin. 

Usage notes:

  • Import and export can take a long time to execute especially with long animations or complex meshes.  It seems to be faster when the LE is not showing the scene.
  • The plugin can import one actor at a time and only works properly if the existing scene does not have any actors in it.
  • If the mesh has a pivot use the flatten pivot tool on it before exporting.  Avoid exporting grouped objects.
  • The frame -10 of animation must contain the actor in the default pose with all joint rotations set to zero or if it has no animations set the default pose.
  • Exported animations can start at frame 0.
  • The importer will replace all non-alphanumeric characters with underscores.
  • Meshes with floating vertices will crash truespace when exporting.  They are found on cones and cylinders.  They can be removed with the following steps:
    1. select all edges of the mesh
    2. convert the selection to vertices/points
    3. invert the selection to select points not connected to any edges
    4. delete
    5. or skip steps 1-4 and use the Fix Bad Geometry script found here
  • To export a 3rd uv map use the node editor to copy the Editable shape node.  Rename the copy as "uv3" and hook it in place of the Editable shape node to edit the uv map.  When done reconnect the The Editable shape and the plugin will find uv set one on the uv3 node and use them.

 

August 06, 2012
 import dialog
Collada DAE Importer for trueSpace7.61

A  plugin and script for reading Collada mesh and animation data into truespace.  The plugin has been tested with trueSpace, Blender2.5, Spore Creatures and Lightwave.  It will read in lights, cameras, meshes, nulls, light color, spot light cone angle, camera fov and motion animations.  It will not read in morphs or physics.

Meshes are limited to 16 materials, 2 uv texture maps and must be made of triangles or convex polygons.  Only one skeleton per file and one mesh per skeleton is allowed.

The Post Import Utilities are used to apply animation and skinning and to convert and clean the node structures imported.  The presentation order below and on the ui is the general order these utilities would be applied.  The process actor and process actor animations are only needed for skeletal animations.

  • clean hierarchy - reduces the nodes to simple parenting relationships.  This step can take some time to complete.  This step is required before processing the actor.  During the import several helper nodes are created to account for different rotation orders that might be encountered and to help with truespace rotation limits.  This process transfers the transform data from the helpers to the base nodes(meshes, lights cameras etc) and deletes the helpers resulting in a cleaner scene.
  • process actor - copies the bind pose and sets the skin weights for the skeleton.  It copies the bind pose to a fake skeleton then copies the transform values from the fake skeleton to the real skeleton and finally reads the skinning data from a file and applies those values to the mesh.
  • process actor animation -copies the animation from the fake skeleton to the real skeleton inside the actor.  A long animation can take a very long time to process.
  • convert to groups - converts the parenting relationships of the nodes to group relationships.  Truespace does not natively support parenting and this process converts to a truepace compatible format.
  • clean shaders - many orphaned shader nodes are created as part of the import process.  This button clears them out.  Collada files don't support normal maps.  If connect normal shader is checked then a dummy normalmap will be connected instead of cleared when the clean shaders button is pressed.

Make connections in the link editor to adjust for Y-up collada files.  Connect the OwnerMatrix of the Actor to the WldMatrix of the collada scene node.  The collada scene node will have it's WldMatrix connected to all of the other imported items.  Rotate the collada scene node so the top of the scene is pointed upwards in the Z direction.  At this point the scene can be converted to a group.  If the scene is already Z-up just disconnect the collada scene node from all it's children and delete it.

Update December 20 2012:

  • light color animation is imported
  • spot light cone angle animation
  • camera fov animation
  • camera transform bug fixed
  • fbx material bug fixed

Update December 16 2012:

  • unique button id and automatic installer for the script portion
  • matrix animation tags supported - can be used with Autodesk FBX Converter
  • skeletal animations
  • true bind pose support - was using scene transform for the bind pose
  • clean heirarchy scripts improved
  • mirrored items fixed
  • automatic Y-up adjustments removed

December 10 2012: - crashing when more than 16 materials.  Rebuilt Clintons3dPlugin.rsx and it works now.  Must have been a bad build.  No code changes.

Update August 21 2011:

  • imports a real skeleton and skinning data(no animations yet)
  • will import skeletal meshes composed of more than one mesh
  • new functions for cleaning up the node structures
  • limited support for collada matrix tags
  • fixed bug that prevented model side compatibility
  • after import frame at 0 instead of some crazy number

Update June 13 2011:

  • more stable - no need to restart after an import
  • reads polygon tags
  • material limit raised to 16
  • uv limit raised to truespace maximum of 2
  • will read a fake skeleton
  • button highlighting fixed
  • user interface with scale value and import filters
  • button to empty the scene
  • reads skeletal meshes(but not the skeletons)
  • loads a fake skeleton
  • improved hierarchy building
  • works with Blender2.49

Todo:

  1. morphs?
  2. faster/more organized code

Downloads and Installation Notes:

  1. click to get the rsx plugin

  2. click to get the script

  3. click for the source code(for programmers)

A sample video on how to install an rsx plugin for truespace can be found here.  The video is for installing the Indigo Renderer, but it uses the same rsx plugin. 

 

Usage notes:

  • The importer works best with the link editor view not visible.  A lot of nodes are created and that slows down the process if the link editor is updating to accommodate the display of all these nodes.
  • The process for importing skeletal meshes is like so:  Import the collada file then clean the hierarchy, process the actor,  process the actor animations finally adjust for Y-up files.
  • The plugin does not check for preexisting items with the same names as imported items and may crash if that is the case.  Empty the scene using the "clear scene" button before import or be sure all names will be unique or 3d encapsulate the existing scene before importing.
  • Mesh normals don't always come in properly.
  • All imported items are connected to a "collada scene" node.  This is used to make Y-up collada files have the proper orientation and maybe for scaling an entire scene after importing.  Skeletal meshes don't connect to the scene node automatically so use the link editor to attach the ownermatrix of the actor to the collada scene node first.
  • The camera from the After Effects exporter may be reversed in the x direction.  Connect this node between the camera's OwnerMatrix and the WldMatrix of the node connected to it.
  • For programmers: RcTopologyExample5 contains the code for the Collada importer and uses ColladaDOM version 2.2
February 18, 2010
Doom3 Import Export for trueSpace7.61

Installs a button to open the import/exporter in the panel view.  Truespace7.61 script for loading and saving idtech4 md5mesh and md5anim mesh and animation files.  This version has some improvements over the 2009 version.  It has a button and an automatic installer, the mirror problem across the X axis is fixed, animations are loaded into their own named clips, simple material and definition files can be generated, animated bounds frames are corrected, export dialogs will use a save-as dialog if Clintons3dPlugins rsx plugin is installed and tga texture files can be exported.

A more thorough explanation of the options available in the panels can be found here.

May 06 2012: fixed command line in mesh and animaton files, set mesh to export at frame -10, re-enable clips after an animation save.

May 04 2012: some bugs fixed and mesh import is faster, more input validation, copy texture independent of material write, means to convert bvh skeletons, full writeup of controls.
  • press the "..." button to choose a md5mesh file then press the Load Mesh button to load it into the scene.  The resulting actor will be given the file name and a bind pose frame will be set at frame -10.
  • select a skeletal mesh in the scene then press the "..." button to choose an md5anim file and press the Load Animation button to load the animation onto the mesh.  A new animation track and clip will be created and named from the file name.
  • useContentPath - meshes and animations will be saved to a location defined by the doom3ExePath and the modname.
  • doom3ExePath - press the "..." button to choose the doom3 executable.  The parent folder and modname will be combined to create a content directory to receive the files generated by the export scripts.
  • modname - the name of the mod
  • texturePath - textures used in the skeletal mesh material will be stored here under the content path if Copy Textures is enabled.  Files are saved as TGA type image files.
  • materialPath - simple material files will be generated and stored here under the content folder if Write Materials is checked.
  • defPath - a simple definition file for the mesh will be generated and stored here under the content folder if Write Def is enabled.
  • modelPath - mesh and animation files are stored here under the content folder
  • new skeleton - press to start creating a skeleton compatible with this set of scripts.
  • clear ik nodes - press to remove ik related nodes before exporting.  The export scripts will not process ik handles and locks properly.
  • Save initial.md5anim - will create a no animation pose based on the bind pose when exporting a mesh.
  • Save Animation Clips - will save individual animation clips to separate md5anim files named after the clips.
  • select a mesh and press the Save Mesh button to save a md5mesh file.  If Clintons3dPlugins is not installed press the "..." button to get a load file dialog, right click to create a empty text document and select it to populate the text field
  • select an animated mesh and press the Save Animation button to save a md5anim file.
  • Clear UI - resets the fields to the values shown in the image to the right.

The Utilities panel has additional controls for adjusting an imported bvh skeleton to make it compatible with the doom3 exporter.

  • The Get Animation Clips button populates the animationClips list with the clip names of the selected object.
  • After populating the animationClips list select a clip or choose "_Play Range" to use the playback range
  • The Skeleton translations to Origin Joint button will place the skeleton nodes translation values onto the first joint in the heirarchy.
  • Press the Skeleton Anim to Actor button to transfer the animations from the skeleton level to the actor level where the doom3 scripts can find them.

 The quickest way to get started would be to enable useContentPath, give a modname and just type in the names(not the full path and no extension) for the Save Mesh and Save Animation text fields.  The various path fields will be automatically populated the first time a mesh is saved.

A generic material can be used with this exporter.

Tutorial coming soon...

 

April 29, 2012
Unreal T3D Map Import for trueSpace7.61

Installs a button to open the importer in the panel view.  Truespace7.61 script for importing Unreal t3d map and brush files.  Should be compatible with t3d files from ut2k3 and up to the latest UDK at this time.  It imports lights, brushes, volumes and placeholders for kactors, static and skeletal meshes.  It has a lights aspect panel for adjusting the attenuation values for all the lights in the scene.

  • import scale - used to resize the scene to fit inside the truespace 3D work area
  • import lights - include lights
  • import brushes - load the csg brushes for the level
  • flatten brush booleans - import the brushes as a single mesh instead of as a series of boolean operations
  • import staticmesh - imports placeholders for static meshes in the form of cubes
  • import skeletal mesh - imports placeholders
  • import volumes - import special volume brushes
  • import kactors - import placeholders for level kactors
  • externalstaticmeshB - does nothing

Mesh Replacement controls are used to replace the imported placeholders with another mesh.  Static meshes can be exported from the UDK in the FBX format.  So you can take one of the static meshes in a level, zero out it's rotation and location values, set scale to 1 and export an fbx file.  Load this into truespace using the FBX importer found on this page, add a pivot, normalize the pivot's location and then replace all placeholder instances with this mesh.

  • set source - select the new mesh in the scene and push this button
  • set destination - select one of the instances to be replaced and push this button
  • replace mesh - will search the scene for all meshes that have an internal name that matches the destination and replaces the mesh with the new source mesh.

T3D maps have a lot of lights in them.  The Lights aspect of the panel can be used to decrease the brightness of the lights to a reasonable value.

September 05, 2011
Unreal PSK/PSA Import Export for trueSpace7.61

Jan 27, 2013:

  • fixed X-axis mirror problem
  • psk import random colors for multimaterial meshes
  • unique button guid
  • automatic script portion installer - rsx still manual install

Aug 7, 2011 Update:
version 1.3.3
Fixed psk import bug from version 1.3.2 update
Button highlighting fixed

Nov 11, 2010 Update:
version 1.3.2
Added a button for creating the start of a compatible skeleton
Added a button to remove IK handles and locks for the PSK export

Jan 28, 2010 Update:
version 1.31
Bug that prevented native truespace skeletons from being exported has been fixed.

Jan 5 fixed the link(Thank you, danperk)

Jan 4, 2010 Update:
New version 1.3
Fix PSA export to work with IK handles and locks
The first joint above the root joint (b_Hips) will now automatically export translation animations from IK motions.  Truespace IK on the hips moves the root joint.  The script compiles the animation so the root does not move and acts as an origin for the skeletal animations.

 

Dec 18 2009 Update:
New UDK version was crashing when importing PSK file.  The updated rsx plugin fixes the problem.  Download.

Nov 22, 2009 Update:
New version 1.2 uses the save-as function from the plugin package.
Fix PSA export flipping
Fix PSA import overlapping animation frame zero bug
Works with truespace standalone version

Installs a button to open the importer/exporter in the panel view.  Truespace7.61 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 version of unreal.  This script comes in 2 parts.  There is the script itself and a rsx plugin for reading and writing the binary PSK and PSA file formats.  The script installs with the push of a button, the plugin requires manual installation.

Notes:
UDNMale psk sample has import skinning problems, fixed by heal skin with autoskin holes and normalize skin selected.
Truespace standalone version needs a tsx folder.  This can be created from the setup aspect of the script.
Truespace standalone version does not have a status line so you must wait to be sure the plugin script run is completed.
PSA export uses the timeline play range.

More Notes:
When importing PSK or PSA files use the 2 buttons.  "..." and "Load PSK" to load a mesh file  and use "..." and "Load PSA" to load an animation file.
When exporting just use the single buttons "Save PSK" and "Save PSA".
The PSK exporter does not work with IK handles and locks.
The PSA exporter will make a copy of the mesh without IK handles and locks and will bake the animation into the copy before saving it.
The PSK export uses the default pose.
When assigning IK handles for the hips also assign IK handles for the feet.  The feet tend to float around if they don't have handles.  The IK full stop is not enough to stabilize their motion.
Recommend for each handle to set interpolation to IK, posing only unchecked and global locks unchecked.
Truespace IK does not work with translation animation of the hip joint and proper limits must be set to work with other joints reliably.  The PSK importer creates joints with no rotation limits on the joints.  It may be best to set these limits on IK chains though the imported models seem to already be bent to a preferred angle.

When importing animation to UDK/UT3 editor uncheck Anim Rotation Only(bAnimRotationOnly or add the "b_Hips"(assuming the ut3 psk format) joint to the list of translation bones.

Some installation and usage notes can be found at this link.

The plugin package is required to use this script.  Download the plugin package here

January 04, 2010
SynthEyes  Camera Tracking Import  for trueSpace7.61

Installs a button to open the importer in the panel view.  The script is used to load a camera and tracking points from a SynthEyes text files.  The camera's position, rotation and field of view animations are imported.  Click the text above or the image to the left to download the installer.  Click the remaining images to download the image loader and composite render nodes. 

The script installs automatically.

Usage Notes:

  • track an image sequence with SynthEyes and save as text files
    • Export Camera/Object File
    • Export Plain Trackers File
  • Camera/Object Export Settings:
    • Axis Mode = Z Up
    • Rotation Order = XYZ
    • Zoom Channel = Vertical FOV
  • load composite render and image loader nodes into a scene
  • check the "isaSequence" checkbox on the image loader node
  • click "..." on the image loader to select and load the image sequence
  • push "setup keyframes" button to automatically set keyframes for the image sequence
  • connect the image loader bitmap connector output to the composite render bitmap connector input
  • set the composite render xsize and ysize to match the image loader xres and yres
  • select the camera and tracker files individually using the corresponding "..." buttons then click the import buttons
  • the scale sizes the data at import time so it can fit nicely in the workspace
  • select the camera and push the "connect to camera" button on the composite render node.  this will bind the image plane to the camera.
  • adjust the Composite Render distanceIn to move the image plane behind the tracking points
  • open a new 3d view, set it to the camera view and set its size to match the image loader xres and yres or drag the corner till it looks nice.
  • the camera path and tracking points mesh can be scaled interactively by using the link editor to connect their OwnerMatrix to the WldMatrix of a third object.  Uniformly scaling the third object scales it all.

If you close a scene and reload it some of the tracking points will disappear.  You can get them back by opening the tracking points mesh in the link editor, locate the object render attributes node and check the "show hidden lines".  This needs to be checked to see all the points.

The Camera/Object file may export more than just a camera.  I need to investigate that one.

Update:

July 29, 2011 new version 1.1
Fixed/Improved camera animation import.  All animations now on the camera without any extra helper nodes. 

 

July 3, 2011
Voodoo Camera Tracking Import  for trueSpace7.61

Installs a button to open the importer in the panel view.  The script is used to load a camera and tracking points from a Voodoo text file.  The camera's position, rotation and field of view animations are imported.  Click the test above or the image to the left to download the voodoo import installer.  Click the remaining images to download the image loader and composite render nodes.  The Voodoo camera tracker can be downloaded from here.

Usage Notes:

  • track an image sequence with voodoo and save as a text file
  • load composite render and image loader nodes into a scene
  • check the "isaSequence" checkbox on the image loader node
  • click "..." on the image loader to select and load the image sequence
  • push "setup keyframes" button to automatically set keyframes for the image sequence
  • connect the image loader bitmap connector output to the composite render bitmap connector input
  • set the composite render xsize and ysize to match the image loader xres and yres
  • click the voodoo button to open the voodoo panel
  • any tracking point that is further away than maxvalue won't be imported
  • the scale sizes the imported data so it can fit nicely in the workspace
  • click "..." to choose the voodoo text file then press import voodoo text to load it.
    an animated camera and a mesh with only points showing will be created
  • select the camera and push the "connect to camera" button on the composite render node.  this will bind the image plane to the camera.
  • open a new 3d view, set it to the camera view and set its size to match the image loader xres and yres or drag the corner till it looks nice.
  • -
  • if the image does not lineup with the tracking points change the xsize or ysize of the composite render node to make it fit.  the biggest misalignment seems to be caused by non-square image pixels.  the "distanceIn" determines how far the image plane is from the camera.  adjust it so the tracking points are between the camera and the plane.

the system can be rotated to make the mesh match the ground plane by either grouping

  • group the camera by itself(camera group)
  • group the camera group to the tracking points object
  • add a composite render inside the camera group and connect the camera to it
  • set the camera group yaw value for the matrix to 180 degrees using expanded matrix connector
  • now  move and rotate the main group to a good orientation

or by parenting

  • create a long thin cube, don't scale to make the shape (actually any shape will do so long as you can select it and the camera in the 3d view.
  • move it to 0,0,0 with 0 rotations
  • parent the camera to the cube using the parenting script, select the camera then ctrl select the cube and left click the Pu button to parent
  • set the cube Z rotation to 180 degrees
  • parent the cube to the tracking points object
  • move and rotate the tracking point object into position and the camera will follow

More Notes:

If you plan to use the Voodoo tracker for commercial purposes do not use SIFT keypoints.  That feature is the reason for the "not for commercial use" warning in the software.

If you close a scene and reload it some of the tracking points will disappear.  You can get them back by opening the tracking points mesh in the link editor, locate the object render attributes node and check the "show hidden lines".  This needs to be checked to see all the points.

http://www.lfi.uni-hannover.de/digilabforum/viewtopic.php?t=676

truespace voodoo import
Sample image sequence from the Voodoo website.  Image loader shows an image size of 720x576.  The xsize of the composite render node has been tweaked from 720 to 750 to get a good fit with the image sequence.

July 2011 - autoinstaller and fixed button highlighting

 

 

March 22, 2010
 fbx panel


truespace fbx import panel
FBX for trueSpace7.61(OLDER VERSION)

Plugin and scripts for importing and exporting to the FBX file format.  There is also some support for working with obj, 3ds, dxf and collada files.  It will export lights, cameras, meshes and their transformation animations.  It will import nulls, some skeletal mesh data, some camera info, some light data and simple meshes and their material definitions.  The plugin has been tested with Unity and UDK game engines and Carrara 7 and uses the FBX SDK version 2011.2.

Plugin imports meshes and their materials.  Some camera, light and skeletal mesh data.

Nurbs surfaces are converted to triangle meshes. One uv set is imported.  Both uv sets will export.

Error checking still not in place yet.  Still beta and the source code is still very rough.

Translation values from 3ds files are not read.  This results in a location of (0,0,0) all the time.  If file has a hierarchy of elements then they will not be in the proper location relative to each other.

Both uv sets will export.

new skeleton - create a skeleton starting point

export mode - (wip) control over export behavior

export as triangles - check to export triangles, uncheck to export polygons

If nothing is selected then the entire scene will export.  Push the DE-SELECT for scene export button so nothing is selected.

Use the "skin and transfer animations" button to complete the import process.  It reads in a text file created by the plugin that has the skinning information need to bind the mesh to it's skeleton then it transfers the animation stored in a proxy node to the skeleton.

Lights and camera exported rotations are all wrong. The import mode(WIP) is designed to solve this problem.  Light color, type and spot angle are exported.

Only materials derived from BlankDX Material will fully export.  Compiled materials will have simple placeholders.

Alpha value, alpha texture, color, color texture, constant color and texture export to emissive channel, model shader shininess and specular color or texture, normal textures export to the bump channel.

Library textures included with truespace will not work for export, because they are not stored in texture file formats.

Sample items from the standard libraries will crash truespace when exporting.  Several items were never updated for the final release of truespace.  They can be made safe by assigning a new material and point editing the mesh.

If a file has too many elements then it can be imported in pieces, I call partitions, and use boolean operation to reduce the number of meshes.  There is a short note in the zip archive, but this needs more documentation.

prefilename - experimental feature for batch importing

import animation - turn animation import off and on

no texture no normal - material normalmap node will be removed if no diffuse material node is created for the mesh

simple fan polygon - simple triangulation method good for most cases, when unchecked concave polygons will import properly, but is unstable and may crash truespace in some cases.  not good for skeletal meshes.

partition mode - switch to activate partition mode(off by default).  Truespace seems to be limited to importing about 450 scene items(meshes, lights, cameras).  This check is used with partition number and nodes per partition.

nodes per partition - maximum number of items to import from the fbx file.  The partition size

partition number - choose a section of the file to import. 0 imports the first section 0 to nodes per partition.  1 imports nodes per partition to 2 * nodes per partition.  2 imports from 2*max to 3*max etc. 

18 March 2012 Changes:

  • nov 25 rsx file was a bad compile - export caused a crash
  • fixed polygon export uv and normals - was still using triangle logic instead of polygon

25 November 2011 Changes:

  • export polygons or triangles
  • fixed bug on polygon edge import
  • import concave polygons - can be unstable, not for skeletal meshes - based on code found here: http://alxr.usatlas.bnl.gov/lxr/source/atlas/DetectorDescription/GeoModel/GeoModelKernel/src/ by Thomas Kittelmann adapted from code poly2tri by Liang, Wu 
  • fix material shininess import
  • option to delete the normalmap node if no diffuse import
  • started camera and light animation import based on import mode
  • started export modes - lightwave mode use truespace normals to fix lw export
  • started import modes - current active modes are udkfbx, daz3d, lightwavefbx - cameras and lights use blenderfbx, blendercollada and lightwavefbx
  • option to import lights

Version 0.97 Changes:

  • fixed the "no uv" or "no normals" export crash
  • fixed truespace limbs causing exporter crash
  • very basic camera and light import
  • nulls import as cubes
  • beginnings of skeletal mesh import - requires the new SkeletonStart node
  • name imported object from the file name instead of "Fbx_Root"
  • extra uv layers export experiment

Version 0.975 Changes(Feb 9 2011):

  • automatic smoothing group generation for vertex normals on export
  • new unity compatible checkbox for Y-up applications(maybe best option for all apps Y-up or not)
  • script installer now includes placement of the FBX Material List and the SkeletonStart files
  • button highlighting is fixed

Version 0.99 Changes(Feb 28 2011)

  • animation import
  • skinning import
  • auto normals option
  • some ui cleanup
  • bare skeleton import for fbx files without a mesh
  • import different animations takes based on integer index

August 22 2011 Changes

  • import and export in separate panels
  • partitioned import for scenes with too many elements for truespace
  • script for converting parent structures to groups structures
  • left and right click on button for export/import
  • new skeleton - for starting a new skeleton that starts at the origin
  • prefilename - for possible future batch importing
  • animation import checkbox
  • import mode - wip, adjusts the import behavior for the source of the fbx file, the "udkfbx" mode seems to work best for most cases.  More testing is needed.
  • clear scene - empty the scene before importing

August 23 2011 Change

  • FBX camera and light nodes were missing from the installer

September 5 2011 Changes

  • export has a checkbox for using relative paths in the texture references
  • added daz3d mode to the import
  • fixed uv error in the export
  • fixed a problem with material counts from a change in May
  • cleaned up the ui a little bit

 

Downloads and Installation Notes:

  1. click to get the rsx plugin, material list node and script installer

  2. copy the rsx file to a convenient location and install the rsx plugin

  3. run the install script to create a toolbar button, copy the FBX Material List node into the Materials - DX9 folder and copy the SkeletonStart node into the Biped Limbs folder

  4. Two custom shader nodes for an Alpha value and a ModelTexture shader are included as a convenience.  The model texture shader can be used for specular texture maps.

  5. click to get the source code(for programmers) - the code is very rough, only good for bits of knowledge

A sample video on how to install an rsx plugin for truespace can be found here.  The video is for installing the Indigo Renderer, but it uses a similar rsx plugin. 

Usage notes:

  • The flipx, flipy and flipz must be checked for compatibility.
  • Lightwave 10.1 does not export nulls
  • UDK import scale 0.01 is good, fbx from udk  no textures, export from udk scene not the object browser
  • Unity needs an export scale of 100 for proper scaling.
  • If the mesh has a pivot use the flatten pivot tool on it before exporting.
  • Import and export can take a long time to execute especially with long animations or complex meshes.
  • 'embed media' is for embedding textures in the fbx binary format file.
  • To match the PSK export use an export scale of 10 and inside the UnrealEd AnimSet editor change yaw from -90 to 0 and change roll from 0 to -90.
  • To automatically load textures into Unity use the embedmedia with a binary fbx export.
  • UDK will create a material and import the textures, but the TexCoord node needs to have it's Coordinate index changed from -1 to 0.  Also png files crash the UDK importer.  Plugin works with the UDK collision mesh feature.
  • The importer will replace all non-alphanumeric characters with underscores.
  • A high take value will result in the last animation take of the file being imported.
  • To see a list of takes in an fbx file look inside the Output console after the first import.
  • Wavefront OBJ meshes import with no shared vertices.  Each face has it's own unique vertices giving very large vertex counts.  This is a problem with the FBX SDK 2011.2 .  Use the Heal Vertices tool to weld the common vertices.
  • Sometimes skin weights will not add to one and the skin may slide.  Use the Heal skin tool to fix these cases.
  • The importer cannot read skeletal meshes when the mesh is in the middle of the skeleton hierarchy.
  • Some 3DS files have a hierarchy and it seems that the FBX SDK cannot read the transforms in those cases.  Everything ends up at 0,0,0.
  • For programmers: RcTopologyExample7 and myfbx contain the code for the FBX exporter which uses the FBX SDK from Autodesk.  RcTopologyExample6 has the code for importing.

Skeletal mesh export:

  • The IK handles and stops must be removed before exporting.  Select the character and push the "Delete IK nodes" button to delete them.
  • Unencapsulate any limbs before exporting.
  • "export end joints" - Joints at the end of a skeleton chain don't influence the mesh deformation.  Check to export these joints.
  • "skip skeleton root" - The truespace skeleton root node acts as a kind of invisible joint.  Use this option when a skeleton with a specific structure is needed.  This option also turns off the export end joints option.  It won't remove the skeleton root from the export if it is in the middle of 2 or more chains of bones.
  • The frame 0 of animation must contain the actor in a pose with all joints rotations set to zero.  The plugin reads the positions of the vertices in this pose to store the relative positions and orientations relative to the skeleton bones.  Use the Joint Orientation Helper script found half way down the animation plugins page to automatically set all joints to zero rotations, then set a keyframe at frame zero.
  • Truespace must be at frame zero to read the mesh values properly before the plugin is called.  Use the "Go to bind pose - frame 0" button or manually set timeline to frame zero before pushing the 'export fbx file' button.
  • Animation starts at frame 1 because frame 0 is for the bind pose of the skeletons in the scene.
  • If the skeleton does not line up with the mesh, detach the skin by using the Attach Skin to Skeleton tool, rotate the first joint (usually -90 degrees) in X then re-skin the skeleton.  The first joint is the joint directly connected to "MyBone", but not named "Joint" or "MyJoint".
February 09, 2011
September 4, 2009