Collada plugin for
After Effects

More info here
Plugins and Scripts


t3d import for blender

import reads basic transorm info and imports as nulls

adds proxy_smname custom property to staticmeshes

April 8, 2017

make static mesh / replace static mesh proxies for blender applied to imported fbx mesh, creates smname property and makes material gray instead of black copy fbx imported static meshes to the t3d proxy standins then deletes the proxy standin nulls

now scene in blender matches ue4 level

April 8, 2017

fbx for truespace

static mesh imported to truespace and frozen will export good animations for ue4 in this mode

camera import to ue4 is bad unless copy keyframes from a mesh object instead. fov animation imports ok

export skeletal mesh:

in content browser
right click
Asset Actions > Export...
import to truespace not good
skeleton outside actor and 180 degrees off and connections are wrong

should be:
mesh -180 yaw
mesh ownermatrix -> skeleton wldmatrix
skeleton ownermatrix -> transform wldmatrix
root joint -180 roll, 180 yaw

1 fix connections
2 copy skeleton into actor
3 remove skeleton from scene
4 rename skeleton( remove ",1")
5 proper connections

export from animation editor get good result in truespace
import blender - both work but different naming

can fix arm of walk in tS by
1 weight paint mode
2 find bone influence bad part
3 is "upperarm_twist_01_lBone" and "lowerarm_twist_01_rBone"
4 find joint in anim view fcurve
5 select all tx keys and move them

after import animation truespace performance better after restart - or maybe after deselecting it

blender has 26 frames after import, starts at 1 tS has 30 frames lightwave from 0 to 30 with uneven spacing tS, Lightwave and Blender all have same animation import problems from walk animation ue4

blender preset units centimeters(scale=0.01, metric) before import -> good scale is 1

April 3, 2017

t3d for truespace

t3d import utility.RsObj

use directional light instead of infinite light name t3d placeholder mesh for skeletal mesh, staticmesh already had it

April 3, 2017

unreal for truespace

unrealimport utility.RsObj

script node:

mark imported fbx as skeletal or static with auto color so not black and freeze staticmesh
copy fbx mesh to scene based on t3d meshes - uses encapsulated t3d scene and encapsulated fbx meshes
result: t3d import while using fbx static/skeletal meshes ready for full scene export to ue4, also verify orientation of things imported via fbx and t3d, fbx are 180deg off on import so needed transform freezing
get better result than pure fbx scene export from ue4, better lighting

obj imports as stair mesh parent to null with proper name, no 180 degree in z, colors are good
maybe better than fbx for this

textures must be in the same folder as the obj file
mtl file must start with a comment line or not work for anyone
blender can read the obj with full textures
truespace can only get diffuse textures
export from blender as fbx then truespace can read spec and normal - with error messages
fbx converter does not make spec and normal good from obj file - explains why tS cannot read obj spec and normal
lightwave will ask for the location of the textures if not with obj file
lightwave reads all textures but only applies diffuse - maybe autodesk limitation again?

best obj - copy textures to obj path,edit mtl file add #line at top load into blender(centimeter)

April 3, 2017

ue4 cinematic notes

easy to animate and export fbx

blender is easy - for staticmesh use default Yup and -Z forward, for cinematics use Zup and Y forward, no smoothing groups error for staticmesh

tS parent camera to "fake camera" and set camera matrix roll and pitch to -90 to match unreal camera with 0 rotations also note that imported staticmeshes are fully frozen to work
camera fov anim imports and if no transform changes they are ignored

April 15 - export camera and light from blender to cinematic still needs work? checking now did not test with notes listed here, confirmed still bad - position is good but rotation is wrong and see no way to fix it, quick test shows non camera/lights are good

only attributes that change make it into cinematics ue4

April 7, 2017


scene tree view messes up undos

t3d import names inner mesh node to ue4 content browser name

copy tS node attributes - improve this and maybe button and installer or web interface

finished javascript review and nelson lessons so move forward with micmac project

blender will show realtime shadow for spotlight

  • must set light clip start and end
  • falloff constant
  • display shading enable bakcface culling
  • display mode material

blender sunlight shadow = use blender game render and make frustrum large

text notes unreal engine4 2017

April 7, 2017

ue4 summary notes

need a utility to make and key a fake camera

  1. parent node to camera
  2. set matrix roll=90, yaw=90
  3. step parent through keyframes and copy transforms to fake camera and key it

use static camera from t3d file, fbx from ue4 is bad

use naming in ts to control animating parts in ue4

scene tree view messes up undos

blender key imports off because of 25fps issue

next add fbx mesh copy to t3d placeholders and add tags to fbx meshes

April 7, 2017

t3d fbx import export helpers

t3dfbx import export utility collected all ue4 helpers in one

  • fix transforms on imported camera and light from ue4 full level fbx export
  • fix mesh black color from ue4 fbx export
  • convert infinite to directional light to get shadows
  • mark individual items imported as static meshes and freeze transforms and color fix them
  • mark individual items imported as skeletal meshes and color fix them
  • copy static and skeletal meshes to t3d import placeholders
    • encapsulate skeletal and static meshes then press set fbx source encaps
    • encapsulate the t3d placeholders and press set t3d destination
    • copy fbx meshes - will copy the fbx meshes to the placeholder locations and delete the placeholders
    • final result is scene the mirrors the ue4 level
  • make fake camera or light with animations copied onto it in a ue4 cinemtatic compatible form.
    • animate light/camera as normal truespace object
    • press make fake cam or light - new animated object with name_Fake
    • fbx export camera/light in ue4cinematic mode
    • fbx export the fake camera/light in ue4cinematic mode
    • import regular camera or light into cinematic then import the fake version to get good transform animation
  • use only part of a skeletons animation in ue4 - does not work with root joint
    • if rename joints before animation export those joints will be ignored when imported to ue4. can do the same for tS imports but less useful and more awkward
    • select a joint then...
    • press rename branch no anim will rename the joint and it's descendents with a NoAnimation_ prefix
    • rename branch yes anim will remove an existing NoAnimation_ prefix
April 15, 2017

final thoughts

blender camera/light export import not so good

blender all else animation much better

need joint renaming to use blender properly with apollo project - need to learn

blender imports at 25 fps, but will export at 30fps fine

fix 25 fps by

  • open graph editor
  • set pivot point to 3d cursor
  • press s then x then type 1.2 which comes from 30/25s, result is span of 30 frames with one missing in the center(weird), but should be doable :)


  • set scene before import to centimeter 0.01 scale
  • rotate light in local Y -90deg
  • view clip end to 50 meters or so
  • backface culling
  • shadows = render blender game, spot light -> clip start and end in meters, falloff constant, size 1024/2048
  • can easily lose shadows - difficult, clip start and end are key
  • ue4 cinematics zup y forward, regular use defaults yup -z forward
  • note from blender 2.77a tests fbx export smoothing = edge

old note lightwave fbx import from ue4 scale keys not timed correctly, rot and trans ok, no realtime shadows, sideways import - only real limitation apollo project needs rt shadows to position things, vpr looks promising

lightwave probably good for animation - test this

pretty much ready to release all tS stuff and officially note blender stuff - April 15 2017 9 pm

April 16, 2017

final thoughts 2

truespace import export all things is good

Export FBX > Animation uncheck NLA Strips and All Actions

if not then multiple anim stacks and only first is read into ue4 cinematics

looks like need one and only one animstack exported

    blender camera motion export
  • select cameraA
  • object > snap > cursor to selectedAA
  • make empty - type Arrows
  • add camera to selection - then ctrl p to parent
  • object properties cube - rt click rotation > copy all to selected, seems backward but ok
  • rotate x so z is up rel to camera -90 deg
  • rotate z so x forward 90 deg
  • object animation > bake action, all checked except last
  • export fbx selected only and usual uncheck NLA Strips and All Actions,Zup Yforward
  • note: fov animation does not export

pretty much ready to release all tS stuff and officially note blender stuff - April 17 2017 9 pm

April 17, 2017

more not so final thoughts

blender enable back face culling

tried youtube vid from sept 2016 for camera to ue4 - didn't work for me

    success blender camera export
  • parent null to camera
  • object > parent > clear parent inverse
  • position 0,0,0
  • rotation -90,90,0 now null has z up and x forward which matches ue4 viewport widget for camera
  • fbx export selected, uncheck all actions, z up, y forward

lightwave cannot export selected item so no can export a null "copied" from camera

April 29, 2017

ue4 fbx level -> lightwave

no scale on import

materials black - need script to fix them

light rotation fix(camera too?) - may need another rotation

  • add null
  • parent null to light, not in place
  • unparent null, in place
  • parent light to null, in place
  • Add to Rotation 90 heading on light

scene imports sideways

  • add null
  • parent all top level items to the null
  • set rotation of the null 90 pitch

lightwave camera -> ue4 cinematics

  • add null
  • parent camera to null
  • parent the null to the level 90 pitch null
  • set 90 pitch null to 0 value for pitch
  • add null
  • parent null to camera, not in place
  • add null
  • parent to previous null, not in place
  • set heading -90, set pitch 90
  • add null, grid shape
  • set motion rot,loc same as item previous null, result will be -z up and x forward relative to camera
  • use lscript to bake -
  • remove all other animated items
  • fbx export only animation option checked

note if lw camera not start at same location/orientation of ue4 camera then need all values to change or they will be filtered out. so be sure x,y,z and h,p,b all change over the course of the animation

mesh animation goes straight in, if parented to 90p null can properly see/compare with ue4 result. still need to remove other animations

import anim to content browser? - wont import without mesh, only one animation for all imported

April 30, 2017

material node info

found how to create materials from scratch - Space.AdjustMatManager operates on material list or chunk manager to provide the missing connectors

May 13, 2017


tests - Lightwave will export vertex colors from Layout, base morph must be selected to export morphs from LW

Blender will export LOD via trick(python) and Lightwave does not do LOD

June 4, 2017

ue4 get organized

need to update ue4 information plus helper scripts and blender scripts

June 6, 2017

t3d for truespace

from earlier but not clear before: use directional light instead of infinite light
name t3d placeholder mesh for skeletal mesh, staticmesh already had it

ue4 4.16 changed actor class format - fixed unreal import export.RsObj, but now no more skeletal mesh import from t3d because radical new format or bug because old one had both sk mesh and bp

when t3d imports the item name is from the level, but the mesh inside the node name is from the staticmesh/skeletalmesh

t3d import export utility script - staticmesh full and skeletalmesh full buttons are for individual fbx imports to set their tags en mass since tag will be same as the node name imported, note: no check to be sure only static or only skeletal meshes are selected. is for fbx imported items placed on import t3d map

notes: unrealEngine4Notes_2017.txt

June 7, 2017

t3d import and notes - see notes file

fbx is the best format to transfer a scene from ue4 to truespace. bad parts: black materials, no camera fov, skel mesh

obj scene no cameras or lights

t3d no skel meshes, seperate fbx import but includes volumes and proper camera fov

t3d import added camera

t3d import added spotlight angle

new t3d: unreal import export.RsObj
update notes: unrealEngine4Notes_2017.txt

import from ue4 anim editor and all is good

import ue4 anim editor skel mesh then anim only also good

June 8, 2017

truespace fbx import and orientations

when import fbx to ue4 Normal Generation Method => Built-in, default MikkTspace needs tangents I believe this is good for Blender since it uses the same

June 9, 2017

truespace fbx fix

also keyframes only mode reads directly from the curve editor which can go crazy when things go beyond 90 degrees

t3dfbx import export utility organized some and added now defunct 180 degree processing for static meshes - maybe still useful, fix cam and light no longer valid

need translation of imported lights and cams to truespace raw

straight import camera from cinematics and it's good, inconsistency between import and export

raw camera export is good and encapsed camera import is good - camera is set

raw light export is good and encapsed light import is good - light good to go, spot no angle or color animation

check my code cam anim vs static - they sb the same if not make static match anim

import code shows no difference

do not want pure round trip, import special cam and light encapsulated, export raw camera and lights

just need a translation from encapsulated light-cam to raw light-cam, this may be the last thing

sometimes go crazy when things go beyond 90 degrees rotation - THIS IS A TIME WASTER watch out for it

note imports to blender from tS look good

June 10, 2017

truespace ue4

basic tS staticmesh to ue4

  • export staticmesh from tS no fixyaw
  • import ue4 built-in normal mode
  • add to level - looks good
  • animate in tS export animation with fixyaw = good anim in ue4

basic tS skel mesh to ue4 - NO fixyaw

  • export skelmesh from tS
  • add to level - looks good
  • export animation from tS
  • import to content browser animation only - need work out how name stuff in tS
  • use animation in cinematics - looks good

important note - only changing animated attributes will change item, so if animated at location 10,10,10 it will show at 0,0,0 or whatever the original item position in the level

TODO - full scene export run test static, skel and t3d all together, also final cleanup of UI's

June 11, 2017

truespace ue4 skel mesh tests

skel mesh from ue4 animation editor is good

skel mesh from content browser needs fixing - maybe write script

    test on SK_Mannequin skel mesh
  • remove SK_Manenequin "null" from the actor, first disconnect all connectors
  • export the Transform null's WldMatrix
  • copy SK_Mannequin, 1 from the scene to the actor, then delete original
  • rename by removing ", 1" to get "SK_Mannequin"
  • connect SK_Mannequin OwnerMatrix to Transform WldMatrix
  • connect SK_Mannequin WldMatrix to SK_Mannequin_MESH OwnerMatrix
  • set SK_Mannequin_MESH Matrix to -180 degree yaw
  • now bind then skin and xfer anim like normal

tS Animation NOTE: Story view has poor performance, switch to DopeSheet or FCurve for good performance

June 12, 2017

check ue4 fbx export tS import


updated text of fbx install node - ready to publish

    tests on third person example map and content browser etc.
  • Content > Mannequin > Character > Mesh > SK_Mannequin - needs manual adjustment
  • ThirdPersonCharacter from map - needs manual adjustment, maybe not good for animation re-export
  • Export Asset button > Animation Data - cleanest import to tS, option of include mesh
  • Content > Mannequin > Animations > ThirdPersonRun - only export animations, no mesh option
  • ThirdPersonExampleMap - skelmesh manual adjustments similar to character from map
  • use fbx t3d import export utility to fix materials, convert infinite light to directional for shadows and add tags for t3d export

fbx to tS is good

September 16, 2017

check ue4 fbx tS

notes updated

  • ue4 cinematics camera transform and fov animations to tS are good
  • ts camera to ue4 good - must set sensor size to match
  • render from tS and ue4 shows camera aimation matches at keyframes
  • ue4 scene lights and camera fbx to tS is good, except no fov data on camera
  • skel mesh(blueprint) pose is default inside truespace, in ue4 looks like fame of idle animation

fbx to tS is still good

September 17, 2017

check ue4 t3d tS

notes updated

unreal import export.RsObj - removed code that adds a pivot to csg geometry and volumes

much of t3d workflow is not needed because of fixes to ue4 fbx

  • t3d over fbx get volumes, but requires more steps
  • fbx over t3d scene - one import and get skel meshes, but no volumes
  • make fake cam or light is not needed anymore - ue4 fbx has been fixed
  • t3d will not import skel mesh blueprints
  • fbx need convert infinite to directional light for shadows

t3d import to truespace

  • export t3d scene from ue4 and import to tS, scale 0.01
  • export static meshes from the content browser
  • encaps the t3d mesh items
  • import fbx static meshes - no fixyaw, scale 0.01
  • t3dfbx import export utility - set checkboxes
    • process tags
    • fix staticmesh transforms
    • replaceColor
  • select all static meshes and press "Process StaticMeshes"
  • encaps the fbx meshes
  • set fbx source, set t3d destination to their encapses
  • press "copy fbx meshes" button
  • delete fbx encaps and delete t3d encaps

final conclusion: export and import fbx scenes is easier and better overall. adding new items to a scene t3d maybe best way

next test - export scene tS to ue4 t3d vs fbx, completely untested with new ue4 fbx changes

October 2, 2017

check ue4 fbx and t3d tS

unreal import export.RsObj - set spotlight cone angle export to half value to match ue4 import

fbx tS to ue4 level

  • use yaw fix 180 if import static mesh into level
  • do not use yaw fix 180 if import to content browser
  • normalmap use built in option
  • create level actors option
  • fbx cameras and lights imported to level look good but structures don't match ue4 cam and light structures, import as actors not spotlight and camera

t3d tS to ue4 level

  • use *.* filename trick to import t3d files
  • level goes black -> save to fix it
  • cameras and lights are good and structures match built in ue4 structures

t3d may be better for lights and camera export to ue4 because structure matches built in cameras and lights, fbx is easier overall

I think that's it, all major testing is done, TODO: clean up the t3dfbx import export utility next

real final conclusion - fbx for almost all import export except maybe some unkown special cases

October 3, 2017

persistent tS installs


start project for persistent script installs for truespace. something that can survive a context reset

  • note: tS cache effect on script dev
  • have button that lives in the workspace nav menu
  • button opens a custom frame
  • custom frame has button to open the toolbar control frames
  • scripts and other nodes are copied to a store in tS folder.../Scripts/clintonobject
  • uses ClintonToolbarFrame instead of CustomFrame for button display
  • dont forget cannot delete toolbar, must close the window instead
  • works with layout switch

fix for ai creating s type curves for svg - remove symetry in the geometry of the curve. changing some point types in inkscape also seems to fix it

December 16, 2017

more persistent tS installs

December 29, 2017

more persistent tS installs - animation and import

December 31, 2017


items now updating toolbar

ready for final test and publish

January 1, 2018


looks like it may be "easy" to add curve import to the tS -> blender plugin

January 17, 2018

offline renderer

setup offline render hooks for jscript - plugin version 1638410

only works in full version of truespace

now need the render buttons for the toolbar for flawless integration

steps to install offline renderer

  1. open the offline preferences
  2. create the node in the now visible Offline renderers node
  3. now can call the offline script hooks
January 17, 2018
April 7, 2017