Collada plugin for After Effects

More info here
Plugins and Scripts > trueSpace > Import/Export

FBX_2 for trueSpace7.61

fbx icon

This is a plugin and script for importing and exporting to the FBX file format using the Autodesk FBXSDK. It also imports and exports several other file types. The plugin imports meshes and their materials, camera, light data and animations.

persistent base install required

Clintons3DFBX2019.rsx required

some version of microsoft visual c runtime 2013 is required - try the link below if plugin does not install

Note: the fbx rsx plugin may require VC++ runtime 2013 from Microsoft. Get it if the plugin does not install or run.

Installation:

  1. install the persistent base if not already installed
  2. install the rsx plugin if it is not already installed
  3. drag the node into the link editor
  4. delete the node from the scene after install is complete

Usage:

  1. Left click to open the export panel.
  2. Right click to open the import panel.

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.

Export Options:

fbx export panel fbx metadata

LOD name - name for LOD group, if blank will use "LOD_" + node name

Make LOD - place selected static meshes into an LOD group

Vertex Paint - system for adding vertex colors to meshes

New Skeleton - press this button to create a skeleton starting point

Go to Bind Pose - sets the timeline to frame -10 where a key for the bind pose is expected to be found.

Embed Media - will include textures within the fbx binary file

Absolute Texture Path - will use the absolute instead of the relative paths for texture files

Material instancing - export scene instanced materials. This will fall back to non-instanced if no global materials node is found.

Export Animation - saves object animations

Single Animation Clip - save all animations in one take (fbx 2015 option) otherwise each clip will become a take in the fbx file. this will disable the keyframes only option

Keyframes Only - will export the keyframes instead of the baked animation. linear interpolation will export as linear fbx, bezier and custom bezier will export as cubic interpolation, constant min and constant max will export as constant fbx interpolation. The interpolation handles are not translated only the key interpolation type. Will be ignored if the Single Animation Clip option is checked

Export Selected Only - if unchecked the entire scene will export

Export Cameras - save cameras to the fbx file

Export Lights - save lights to the fbx file

Export Instances - will export mesh instances based on the unreal plugin static mesh tags. The mesh whos name matches the tag will be the basis for the exported instances. This mesh needs to be visible in the scene.

Add 180 Yaw Transform - export with an additional 180 degrees transform in the Z axis

Add 180 Yaw Mesh - export with mesh vertices transformed by 180 degrees in the Z axis

Triangulate - export meshes as triangulated

Mode - export mode

  • default - fbx Z up default
  • worldspace - uses world transform instead of local transform. actors export as null objects. does not use the keyframe only option(result is always baked motion). child items need at least a keyframe at the start and a keyframe at the end of the sequence
  • 3dsmax - Z up mode, does not produce good skeletal mesh exports, simple non-skeletal meshes and their animations seem ok... so far
  • udkstaticmesh - good for use with the t3d exporter and the udkmatinee export mode. exports with z up orientation
  • udkmatinee - special mode for UDK matinee import, matches output to the buggy udk matinee fbx format
  • ue4cinematic - special mode for UE4 cinematic import, negates the default values for x and y position and rotation, no longer valid for latest ue4 version

Version - option to save specific FBX versions:
FBX2019, FBX2018, FBX2016, FBX2014, FBX2013, FBX2012, FBX2011, FBX2010, FBX2009

Export Scale - scaling multiplier for the export

Export - saves an fbx file to disk.

Open glTF Conversion Panel - use external tool to convert fbx to gltf files

Scene Metadata - define document information values for title, subject,author,keywords,revision,comment

Custom Metadata - Add a script node to the object or scene. Name it "Metadata". Add connectors for integer, number, string or boolean types.

press the "Esc" key to cancel a batch export

batch file format - drop down list of the fbx sdk export formats

batch export - will export items individually instead of into a single fbx file, file names will come from each item

set batch path - choose a folder to receive the files

batch file name and batch animation clip name are used internally by the batch process and by external scripts that use the batch process (the Unreal batch exporter uses these fields)

FBX to GLTF

fbx to gltf panel gltf setup panel

external tool for fbx to gltf conversion - https://github.com/facebookincubator/FBX2glTF/releases

Usage:

  • Setup tab - set the file location for the gltf2fbx tool - one time setup
  • Select fbx file and press convert to generate a gltf file in the same location

Export Notes:

  • If material instancing is used with selected only export then the scene Material node must be added to the selection.
  • mesh instancing looks for a connector named "smStaticMesh". if it's text is the same as the items name then the mesh is the basis for the instancing
  • UV sets 1 and 2 are exported. A third UV can be exported with an extra mesh node.
  • The frame -10 of animation must contain the actor in the default pose.
  • IK interpolation on export may be off so extra keyframes or baking the animation may be required
  • Exported animations can start at frame 0. Frames before 0 are ignored.
  • 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 1. When done reconnect the original Editable shape and the plugin will find uv set one on the "uv3" node and use them.
  • Do not put actors into any groups.
  • To export 1 clip at a time disable all clips except one. Disable the clip not the track.
  • A clip named "defaultPose" will be ignored for animation export.
  • If the mesh has a pivot use the flatten pivot tool on it before exporting.
  • instanced materials, compiled d3d material, vray and lightworks materials will export as blank default material - use the material converter script to make open d3d materials compatible with this plugin. material plugins and scripts
  • scene instanced materials can be exported via the Material Instancing option
  • all materials need to have unique names
  • animation clips need to have good names, "AnimClip, 1" is a bad name because of the comma and space.
  • not compatible with multi track animations
  • if the d3d node has a Name connector it will be used for the material name
  • To export a scene with good orientation in software that does not read the fbx orientation flags
    • parent all scene items to one central object
    • rotate the object +90 in X
    • unparent and export with default mode
  • only convex polygons will export properly
  • Not compatible with the legacy skeletal meshes found in the characters library
  • LOD group nodes are automatically sorted by vertex count
  • vertex color panel
  • vertex colors is a special and awkward method to paint vertex colors
    1. select the mesh or actor and press the Set Vertex Colors button
    2. 2 new meshes are created from the selection: an actor with 3 bones 1 for each RGB and a visualization node to show the colors that will export
    3. use skeleton weights tool on the new actor and press Update Colors button to update the visualization mesh
    4. can also use Active to automatically update the visualization
    5. Red, Blue and Green are used to filter the color channels
    6. the visualization mesh has a control for the point size
  • the Name node inside the material is not used in the export, material scripts are used to transfer the name node value to the material node July 13-not true for instanced material, July 14-not true for non-instanced materials
  • if a Name node is found inside a material it will be used in the export material name
  • The embed media option does not work for images that only exist inside of the trueSpace scene. The images must exist on disk.
  • Export to Lightwave 11:

    • export scale = 1
    • single clip option may be better
    • modeler - rotate left view 90, rotate top view 180
    • layout - parent to null and rotate null heading 180, pitch 90
    • spotlights import as nulls
  • Export to Blender:

    • export scale = 100
    • import setting manuel orient
    • setting forward -Y
    • setting up +Z
    • rotate scene/items 180 in Z
    • bones import as nulls
  • Export to Unreal:

    • Truespace to Unreal Engine(not as old)
    • Exporting for Unreal Engine(old)
    • Unreal collisions only UCX type works
    • use default mode for staticmeshes and add fix yaw 180 to export their animations in a seperate file.
    • Unreal Editor ver 4.12 fbx scene import works but will not position or name skeletal meshes properly. The new actor null export can be used to parent and position these items or skeletal meshes can be placed via the unreal t3d export script.
    • not single clip may be better for ue4
    • ue4 will import animated static meshes as skeletal meshes
    • when import fbx to ue4 Normal Generation Method => Built-in, default is MikkTspace which is good for Blender

Import Options:

truespace fbx import panel

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

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

Only Animation - read only the animation data

Instancing - import as scene instanced materials
Materials - when unchecked only color values are imported

Alpha

  • Invert - some files have reverse alpha/transparency values in the materials relative to truespace. Use this option to flip the alpha values imported.
  • Ignore - ignores the alpha value in the imported file

Lights - load lights from the file

Skeleton Nodes as Joints - interpret collada joints as joint and create an extra bone at the last joint in a chain so it can be used as a deformer. Otherwise reads collada joints as bones ignoring the last joint in a chain.

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.

Mesh as Nulls - creates a cube with no materials for each mesh in the file. good for importing large numbers of items where only the transform properties are important

Null Size set size of the cubes that represent nulls

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

Add 180 Yaw Transform - add an additional 180 degrees transform to the Z axis rotations

Add 180 Yaw Mesh - apply a transform of 180 degrees in the Z axis on the mesh vertices

Auto Encapsulation - 0 = off, otherwise makes encapsulations with the indicated number of imported items per encapsulation

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 or encapsulated to reduce the number of nodes in a scene and the next import will load the next section of the file. Use with slice batch for a slightly smoother user experience.

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.

slice batch - used to keep track of the current file when in slice mode so the user does not need to use a file dialog between slice imports

Import Scale - size multiplier

Import - press to import an fbx, 3ds, obj, dxf, abc or other supported file formats

Transfer Bind Pose - if the skeleton does not line up with the mesh press this button to line it up with the blue bind pose indicators. Note that if the blue indicators aleady line up with the bones this process may make it worse instead of better.

Skin and Transfer Animations - completes the import process for skeletal meshes by skinning from a temp file saved from the plugin and then transferring the animations from the yellow animation indicators to the actor.

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

Transfer if only Anim Imported - transfer the animation information from the fake skeleton, shown as yellow boxes, to the real skeleton

you tube here

Import Notes:

  • autofacet is for files that don't have normals defined
  • the first 2 uv sets will import
  • NURBS patches are automatically converted to polygon meshes.
  • The importer will replace all non-alphanumeric characters with underscores.
  • The plugin can import one actor at a time and only works properly if the existing scene does not have any actors in it.
  • BHV files import sideways.
  • when using slice mode it may be a good idea to:
    • group the items between imports (Encapsulate, not 3D Encapsulate). the auto-encapsulate import option makes this process easier
    • restart truespace between imports
  • There is some kind of memory leak in the import process, so files with many items can crash truespace. To load these files uncheck the import materials option or try scene instanced material import.
  • A large number of import items can make the link editor unwieldy and slow. To load these files :
    • uncheck the material import to prevent crashes
    • set auto encapsulate to 25 so that items are grouped in sets of 25 nodes
    • activate slice mode
    • number of items per slice to about 150 or less
    • set slice batch so that it remembers the file and doesn't open a file dialog each time the plugin is run
    • import
    • repeat the import until the slice mode inputs are cleared. this indicates that the end of the file has been reached.
  • only import animation/xfer anim uses a temporary fake skeleton to load skeletal animations. the name will be something like BONES_ANIM_XXX where XXX is the name of the skeleton
  • fake skeleton name must match real skeleton name in order to transfer animations
  • can import more animations to one object by making new animation tracks and disabling the other tracks before loading a new animation
  • the imported material node will contain a Name node with a Name attribute so the name survives material assignment and save to disk
  • Unreal Notes:

    • UE4 does not export material information
    • use persona to export skeletal mesh animations
    • matinee animation exports are non-standard fbx
    • export of unreal level needs Yaw 180 option.
  • Lightwave Notes:

    • import scale 0.01
    • rotate scene 180 in z
    • mesh of skeletal mesh actor will import 90 degrees off. to fix freeze transforms of the mesh
  • Blender Notes:

    • import scale 0.01
    • rotate scene 180 in z
    • only exports baked animations

General Notes:

  • Installer adds Constant Alpha shader to the Shaders - Alpha Shaders library
  • Installer adds DefaultModelTextureShader to the Shaders - Model Shaders library
  • Installer adds FBXdirectionalLight, FBXpointLight, FBXspotLight and FBXcamera nodes to the Objects - Base library
  • Imports FBX, DXF, OBJ, 3DS, ABC and DAE
  • Exports FBX, DXF, OBJ and DAE.
  • imports and exports BVH, HTR, TRC, ASF, AMC, C3D, AOA and MCD
  • Uses FBX 2019.5 as of July 2020. This is the last FBX version that will work in 32bit environments.
  • 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.
  • Camera and Lights cannot be round-tripped because different techniques are used to get good import export results
  • The is no option to not import cameras...forgot...
  • Spotlight angle animation is not imported.
  • The new (July 2020) scene instanced materials should make it possible to load more complex scene files.

click to get the source code(for programmers) - Clintons3DFBX2019_src.zip contains the source files used to build the Clintons3DFBX2019.rsx plugin
Built with Visual Studio 2013. A previous build using VS 2017 did not load in the Windows XP environment.
The FBX SDK samples for Visual Studio have to be built using cmake and some CMakeLists.txt files will need to be edited to fix the include path to the CMakeSettings.txt file.

Note to self: rsx built on virtual win7 machine on amd desktop

FUTURE: change cameras and lights to use matrix math directly instead of grouping to match the fbx orientations.

June 17, 2022

  • replaced fix yaw option with separate add 180 to transform and mesh verts
  • plugin version 1638423

March 23, 2022

  • fix broken export where parenting was required for it to work
  • plugin version 1638422

February 8, 2022

  • plugin version 1638421
  • fix process materials crash - was assuming d3d material encapsulation
  • fix keyframes only crash - multiple tracks and clip names issue
  • new exports parenting structures from the root scene level
  • updated installer, but only real changes are in the rsx plugin

January 2, 2021

  • plugin version v1638420
  • fix uv and normal indices so exported files will load into FBX2020 importers
  • added triangulate option for export which also solves the FBX2020 import problems
  • crash bug fixed: exported material instancing setting must match the scene material instancing for exported meshes
  • updated installer reset toolbars list

July 14, 2020

  • plugin version v1638419
  • if a texture is not found for a material it will fall back to the trueSpace DefaultMap.dds image
  • fixed bug where emission value was not processed
  • skip creation of material nodes for Alpha and Emission when not needed
  • updated instanced material export will use the Name attribute if available. added this same behavior to non-instanced materials
  • cleaned up some repeating code

July 13, 2020

  • plugin version v1638418
  • updated to use FBX SDK 2019.5 - plugin file size is smaller 6254 Kb vs 9712 Kb
  • new option to import/export scene material instances
  • new selection option to save to older FBX file formats
  • cleaned up and compressed the UI
  • Removed the special Unreal Engine specific export modes. UED now has working imports.
  • installer clears the recent files lists

August 25, 2019

  • rsx plugin version 1638417
  • new documentinfo for scene export
  • metadata/user properties export for objects and scene
  • import filter bad materials names
  • new material name attribute import
  • gltf conversion panel

August 28, 2018

  • vertex color system for exporting
  • rsx plugin version 1638416
  • add toolbar rest to installer "syncPrototype["WinGUID_Bar"] = 1;"

February 24, 2018

  • persistent install v2 compatible
  • compatible with new batch installer

January 12, 2018

  • persistent install
  • removed rsx auto-installer

Sept 16, 2017 - changed installer text

June 29, 2017

  • fix crash bug - animation only option when wavefront obj import
  • add pivots to imported meshes
  • new control for null size with a smaller default value
  • fix yaw 180 option to add an additional 180 degrees in the z axis
  • normalize the mesh normal vectors exported
  • fix crash - installer in scene, added "DoNotProcess" boolean value
  • fix crash - character mesh is grouped and new result if mesh is grouped message
  • legacy character library crash fixes
    • bad mesh normals
    • no mesh normals
    • horse skeleton error
  • rsx file version v.1638415

June 6, 2017

  • ue4 cinematic export mode
  • Newells method for normal calc for import polygon triangulator
  • LOD group export for static meshes
  • new plugin version v.1638414

March 25, 2017

  • import only animation option
  • plugin version v.1638413

September 24, 2016

  • improved z up import and export
  • fix binding transform on export, transform skeleton before bind
  • fix bug keyframe only node name matching
  • new worldspace export option
  • new plugin version v.1638412

June 11 2016

fixed bug non-instanced meshes combined with unique materials crash

June 6 2016

  • export mesh instancing option
  • non-redundant material export
  • export - transform skeleton root after skinning
  • null with actor name and position exported with skeletal mesh
  • rsx plugin version v.1638411

March 8 2016

  • fbx import material loads as a resource and is additive build instead of subtractive
  • much faster material loading
  • removed 16 material limit per mesh
  • slightly better memory use because only the needed elements for material are loaded
  • remove no texture no normal option - used in subtractive material build style
  • plugin version: v.1638410

January 23, 2016

  • if color beyond white, makes it gray - scenes from ue4 come in too white hot
  • uncheck materials creates a simple color only material - fixes memory utilization crash for scenes that contain many items and is much faster

January 10, 2016

  • fix uv import for fbx files containing direct uv indices
  • add autoencapsulation option
  • add slice batch option
  • rsx file version 1638409

August 23, 2015

  • add import of second uv channel
  • rsx version 1638408

May 8 2015:

  • fix for blank bitmap file crash
  • fix to not crash on instanced materials
  • rsx version 1638407
  • ignore renaming bug when using truespace standalone version

Previous history/changes

August 06, 2012
June 5, 2013