Collada plugin for After Effects

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

Collada DAE Importer for trueSpace7.61

A plugin and script for reading Collada mesh and animation data into truespace. 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.

persistent base install required

Clintons3dDAE.rsx is required

Clintons3dPlugin.rsx is required for the status messages.

Status Message install required

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

Microsoft Visual C++ 2008 Service Pack 1 Redistributable may be required to run the rsx plugin.

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

A sample video on how to install an rsx plugin for truespace can be found here.

Usage:

import dialog

Import Scale - scale factor for import

Animations - import animations

Cameras - import cameras

Lights - import lights from the file

Meshes - import mesh geometry

Materials - import materials, otherwise only import color to a simple generic material. This option is good for importing scenes that have hundreds of items

Skeletons - import actors (skeletal meshes)

as Joints - interpret joints as joints and create an extra bone at the last joint in a chain so it can be used as a deformer. Otherwise reads joints as bones ignoring the last joint in a chain. trueSpace uses a joint/bone/joint structure, so uncheck if importing a dae file created by trueSpace. Other programs and the collada format don't have bones and have the skin assigned to the joints.

leaf bone scale - set the size of the last bone in each chain of the skeleton hierarchy.

Joint trans range - will setup the joints xyz translation limites to plus or minus the original and this value. Zero value will cause translation animations to be filtered out during the transfer animation post import Actor Animation.

Clear Scene - delete all items from the current scene

Import - run the plugin portion of the import process

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 Actors and Actor Animations are only needed for skeletal animations.

  • Keep Rotation Order - when reversing transform nodes maintain the original order of the rotation transformation nodes. This is specifically for Blender exports.
  • Reverse Transforms - reverses the node ordering for rotation, translation and scale as read from the collada file. Specifically for Blender sourced dae files. Green means no reversed transforms were found in the colldada file. If the indicator is yellow, some reversal was found in the file.
  • 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. The animations are also compiled down from the helpers to the final base nodes.
  • Process Actors - moves the mesh into position, copies the bind poses and sets the skin weights for the skeletons/actor objects. It copies the bind pose(purple) to a fake skeleton(orange) then copies the transform values from the fake skeleton to the real skeleton and finally reads the skinning data from a data node and applies those values to the mesh.
  • Actor Animation -copies the animation from the fake skeleton joints(orange) to the real skeletons inside the actors. A long animation can take a 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.
    This may be removed. Results are iffy. (unverified crash bug?)
  • Scene Integration - the importer places everything except for actors into a temporary holding place so that name conflicts are avoided. This will clear out the temporary helper nodes and copy all items into the scene.
you tube here

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.

Notes:

  • not compatible with multi root skeletal meshes
  • A scene with a large number of items can crash trueSpace. Uncheck the material option to load scenes with large item counts.
  • SkeletonStart2 node to the \\Rs Main Libraries\\Biped Limbs folder
  • It will not read in morphs or physics.
  • Meshes are limited to 128 materials, 2 uv texture maps and must be made of triangles or convex polygons.
  • No scene instancing support.
  • Only one skeleton per file and one mesh per skeleton is allowed.
  • The process for importing skeletal meshes:
    • Import the collada file
    • Reverse the transforms if indicated
    • Clean the hierarchy
    • Process the actors
    • Process the actor animations which show as the moving orange joint indicators
    • Scene integration to clean up and add all items to the main scene
    • adjust for Y-up files if needed
  • The bind pose is found in the "BONESBIND_" group and the fake joints are purple colored. The animation is found in the "BONESANIM_" group and they are orange in color.
  • 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.
  • The original intent of the Clear Scene function was to prevent name clashes and tS crashes
  • Mesh normals don't always come in properly.
  • All imported items except actors 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.
  • 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.
  • Is compatible with the Null Objects
  • works with convert light types. Is useful for converting infinite lights to shadow casting directional lights
  • Will not support morphs since shape keys out of blender dont work.
  • Rotations will handle up to about 900 degrees for pitch and more for roll and yaw. Truespace rotations goes crazy when the pitch gets near 90 degrees.

click to get the source code (for programmers to build the rsx file), also requires the collada dom code base

The source assumes to be added into c:\sdk_tS761B8\Examples\ with collada dom source built into c:\collada-dom-2.2\collada-dom\dom\

August 25, 2023

  • updated rsx file fixes 2 errors - version number no change
  • fixed specular map not importing
  • fixed same issue for bump maps

August 23, 2023

  • fixed translation animation - bug from really bad assumption
  • plugin version 16838426
  • import infinite lights instead of directional lights
  • texture model shader - bitmap compression on and removed unused InputColor node

August 11, 2023

  • plugin version 1638425
  • added "reverse transfoms found" status
  • animation range fix for Actor Animation - was reading whole scene animation range
  • fixed error bug in Actor Animation

August 10, 2023

  • plugin version 1638424
  • lights and cameras load from preferences in memory instead of disk
  • matrix using 1/10 rotations - untested, blender set to matrix export does decompose instead
  • clean hierarchy status bar fixed "Clean Animation..."
  • added joint translation range to fix wolf crazy jaw sample - did not fix it
  • if bone is not found in the bind list, remove all influeneces for the bone that were added by tS automatically
  • fixed the assumption of always having a transform on skinned mesh - which also solved some mesh line up with skeleton issues
  • fix material import for invalid specular or bump textures - was an oversite and a crash bug
  • fix binding for case of not all bones assigned to binding

July 30, 2023

  • plugin version 1638423
  • fix mesh not lined up with the skeleton

July 29, 2023

  • plugin version 1638422
  • fix multi material mesh vertex colors
  • show vertex colors in the material
  • fix polygon import where all indices are shared - crash bug
  • fix crash cause by invalid material
  • fixed alpha issues - TODO need more tests
  • fix shininess less than 1 - use inverse to get into proper phong shading range
  • fixed crash caused by uvw mapping, read but ignore the w value
  • ask to remove "Vray, PhotoRender, and Layers Info nodes"
  • SkeletonStart2.RsSkel instead of RsObj so it has a nice icon
  • fixed crash if skeletonstart2 file is missing
  • FakeJoint.rsobj not needed anymore
  • increased limits - 32 skeletons per file and 32 meshes per skeleton

July 28, 2023

  • actor skinning will use sid if present - needed for Blender exported files
  • multiple actors can be loaded from one file
  • add missing SkeltonStart2.rsobj to the installer
  • integrated Null, Pitch and Empty into the plugin as a resource instead of loading from disk
  • now imports vertex colors
  • enhanced rotation animation with tricks - rotations encoded at 1/10 their values to stop crazy tS flipping
  • compatible with the null object - nulls and fake skeleton joints are tagged as null objects
  • reverse transform order for use with Blender exports - reverse but maintain rotation order
  • status messages during plugin run and script processing
  • roll, yaw and especially pitch values are scaled to keep them small and avoid tS flipping values
  • new installer

September 14, 2021

  • fix lambert shader lack of model shader
  • plugin version 1638420

October 31, 2020

  • previous changes were never uploaded and were lost - rerelease of Sept 18 changes
  • updated toolbar reset list

September 18, 2020

  • break dae import portion of rsx plugin out from the other functions
  • installer clears recent files list and opens clintons3d toolbar
  • plugin version v.1638419 is a new rsx plugin file

August 25, 2019

  • new name attribute for material import
  • fix transparency alpha
  • remove symbol for material matching - now matches by order of appearance
  • fix no visual scene crash
  • remove ambient color from the diffuse color
  • plugin version v.1638414

February 24, 2018

  • persistent install v2 compatible
  • compatible with new batch installer

January 12, 2018 - persistent install

July 1 2017 - improved material handling

  • load material nodes from resource instead of the file system
  • removed obsolete clean shaders, connect normal and remove normal map options
  • more stable and new upper limit of 128 materials per mesh
  • added shininess import to the texture model shader
  • alpha reads both transparency and transparent tags
  • reads normalmap from blender
  • rsx file version v.1638409

January 31 2016:

  • new option to not import materials
  • new option to remove normal maps during the import process
  • fix to remove 1 extra material node

July 30 2013:

  • import as a standard truespace skeleton
  • option to import as bones or joints
  • cleaner appearance

December 20 2012:

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

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.

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

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
February 18, 2010
June 5, 2013