Collada plugin for
After Effects

More info here
Plugins and Scripts

WIP

t3d import for blender

io_export_t3d.py

io_import_t3d.py

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

makeSM.py applied to imported fbx mesh, creates smname property and makes material gray instead of black

replaceSMproxies.py 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

Clintons3DFBX2015.rsx plugin version 1638414 adds ue4cinematic mode export which negates the default values x and y position and rotations. static mesh imported to truespace and frozen will export good animations for ue4 in this mode

fbxgroup2

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 fix: 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

misc

working on camera keyframes to ue4 cinematics, fixed rsx plugin to read keyframe data

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

todo make vids for tool usage

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

us 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

clintons3dplugin rsx update

fix for animation keys read past end

source code

need to test with svg animation export

load curves scripts ready on desktop pc for final test with new keyframes rsx also fixed a path bug in the css export

had to use special code to check for empty object returned from keyframe rsx

techniques web page already updated

April 9, 2017

svg curves

load curves scripts ready on desktop pc for final test with new keyframes rsx also fixed a path bug in the css export

  • minor change dont add simple rectangle to freeze curves list
  • new image tags working
  • new option constant color materials
  • css anim export checks ignores disabled clips
  • opacity only keys - fixed bug
  • april 9 fixed a file path bug css anim export - weird should not have worked
  • do more testing then release and move on
April 10, 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

truespace import export all things is good

truespace character/skeletal anim not so good

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 :)

blender

  • 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 - http://mentalfish.com/2009/09/motion-baker/
  • 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

workspace copypaste and fbx concave

polygon to triangles plugin for scripting

feed it a list of vertices space delimited "x1 y1 z1 x2 y2 z2 ..."

get back triangle data "#triangles,i1 j1 k1,i2 j2 k2, ..."

fix fbx import of concave and non-planar polygons by using Newells method to get normals instead of just using the first triangle in a polygon

this might solve the crash problem from using the polytotri c++ code

new Clintons3DPlugin.rsx and Clintons3DFBX2015.rsx and source files for each

workspace copypaste paste have material indices expressed as random color materials, polygon, uv all good

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

  • replace mesh data of selected item
  • 2nd uv set
  • clean code
  • maybe name materials
  • copy portion to match paste
  • seperate buttons for each
May 13, 2017

workspace copypaste and polygons

improved triangle neighbors code

utilityFunctions = System.CreateDO("Clintons3D Package/Utility functions");

result = utilityFunctions.GetTriangleNeighbors(Node.FirstSelected(), 0);

pass mesh and triangle index

result is space delimited list of neighbor indices, -1 indicates no neighbor on that edge

first value is edge along ij, then have jk and finally ki

used triangle neighbors recursively along with face edge(edge visibility) to build a polygon list in jscript

tri neighbor test.RsObjs

created Copy_CopyPaste.RsObj works for simple shapes but found problem object Cylinder and crashes blender when try import complex test cube

May 14, 2017

workspace copypaste and polygons

fixed copy, no crashes and polygons good

    TODO
  • export/copy uv maps
  • replace mesh on paste if mesh selected
  • 2nd uv for paste
  • cleanup paste code
  • paste name materials?
  • polygon copy code to c++, probably not seems fast enough

May 16 - uv set 1 exports/copy

May 18 - copy script export -x and -y to mirror double final result paste from file is same as copy to file, tS round trip is good, start cleaning/organize

May 15, 2017

workspace copypaste and polygons

lightwave paste not working with uv, mesh_edit_op.pntVPMap does not work in LW11

disabled that line of code, works if unweld any red uv vertices. if any red will not round trip copy paste

basically only the worst lw type uvs work

copy writes material

note paste is a little slow, maybe c++

copy exports both uv maps

paste imports 2 uv sets

cannot read lw style uv - ignore if any found

started replace mesh code - only exists on notebook pc

May 20, 2017

workspace copypaste and polygons

paste replaces the selected mesh now

morphs only possible via script, c++ not an option. unless create special named meshes, one for each morph

May 22, 2017

workspace copypaste and polygons

moved file open code to script function set for sharing

did morph testing proof of concept

new files CopyPaste.RsObj and morph tests.RsObj

next diagram out the nodes and make it happen

May 24, 2017

workspace copypaste

morph export working

May 25, 2017
April 7, 2017