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


scene tree view messes up undos

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

April 7, 2017

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

June 12, 2017


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

January 17, 2018
August 26, 2018

3Delight NSI render for truespace

Uses workspace tcp sockets to control a 64bit python script used to render NSI data in 3Delight

test scene with 3 sample scripts

NSI camera test.RsScn uses hdr file for lighting and backdrop - dont know if can share online

osl files
place in C:\Program Files\3Delight\python\examples\live_edit\ folder

emitter.osl hdrlight.osl spotlight.osl ubersurface.osl

3delight python file that takes text commands from tS and executes them on the fly, must be running before tS starts sending data,
place in C:\Program Files\3Delight\python\examples\live_edit\ folder

note that hooks exist for 3delight render buttons/interface

requires Clintons3dplugin v.1638413 (April 2019 version)

3Delight NSI is beta and too difficult to convert Dribble to use it - not enough information and huge job

did do some tests with tsx socket to check feasibility - comm did work

Unreal4 LiveLink for truespace

Uses workspace udp sockets to send animation data to the Unreal engine

Python 2.7 test

    import socket
    TCP_IP = ''
    TCP_PORT = 54321
    BUFFER_SIZE = 1024
    MESSAGE = '{"mything":[{"Name":"root","Parent":-1}]}'
    MESSAGE = '{"mything":[{"Location":[1,2,200],"Rotation":[0,0,0,1],"Scale":[1,1,1]}]}'
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect((TCP_IP, TCP_PORT))
    #data = s.recv(BUFFER_SIZE)
    #print "received data:", data

trueSpace test

    // Execute 
    // Called to execute the command 
    function Execute(params)
        var util = System.CreateDO("Clintons3D Package/Utility functions");
        var result = util.SocketComm('{"mything":[{"Name":"root","Parent":"-1"}]}',"", 54321, 300, true)
        var result2 = util.SocketComm('{"mything":[{"Location":[1,2,200],"Rotation":[0,0,0,1],"Scale":[1,1,1]}]}',"", 54321, 300, true)
        var result3 = util.SocketComm('{"mything2":[{"Name":"root","Parent":"-1"}]}',"", 54321, 300, true)
October 15, 2019
April 7, 2017