T3D Import:
- Scale - import scale applied, default 0.02 matches DeusEx maps
- Clear scene - empty items from the scene, required for first run of ue1/deus ex csg map
- Texture check - check for missing texture files for csg geometry(brushes) of type .png or .dds and list them in the Log view.
Press (esc) to end a long run.
Choose the T3D file below before running the check
- After crash - run after a crash or an (esc) cancel/abort and before pressing Import T3D again to continue
- UE4 map - t3d file was exported from Unreal Engine version 4 or 5
- Brushes - import csg brush geometry
- Static mesh - imports placeholders for static meshes and interpActors in the form of cubes
- Skeletal mesh - imports placeholders
- Lights - include lights
- Cameras - include cameras
-
KActors - import placeholders for level kactors
- Mover brushes - import mover geometry
- Volumes - import special volume brushes
- Preload Brush Materials - import material texture files before importing brush csg geometry
-
"..." - press button to choose the T3D file
-
Import T3D - press buttons to start the import
- Copy Brush Materials - apply the preloaded materials to csg imported geometry brushes and movers
T3D Export:
- Scale - export scale applied(100.0)
- export filename - nothing
-
Only export selected - check to export only the selected objects
-
Export T3D - press to save a UE4
compatible T3D map
file
-
note the time should be at frame zero or the start point
for any animations may be off
T3D Lights - set
the attenuation of all lights in the scene to prevent blowout levels of illumination.
- Constant -
- Linear -
- Quadratic -
- Threshold -
- Apply attenuation button -
T3D MarkMesh - assign
tags to identify static and skeletal meshes and terrains for the
T3D exporter, landscapes use the terrain tag
-
Package - package name for mesh in the
UDK object browser
-
Group - group name of the mesh in the UDK
object browser - test shows this value doesn't seem to
matter, only package name is needed for matching up assets.
For UE4 do use this to use preexisting meshes. for example
set group to Character on a
skeletal mesh named HeroTPP to end
up with a full name of
"/Game/Character/HeroTPP.HeroTPP"
-
StaticMesh Name - name of the mesh
inside the Unreal object browser
-
Apply Static Tag - assign the staticmesh
name to the node
-
Skeletal Mesh Name - name of the mesh
inside the Unreal object browser
-
Apply Skeletal Tag - assign the skeletal
mesh name to the node
- MaxComponentSize - 4 typical value
-
NumPatchesX - set equal to num segments
Width from original plane
-
NumPatchesY - set equal to num segments
Height from original plane
-
Apply Terrain Tag - interprete as a terrain
on export
-
Particle System Name - name of the
particle system inside the Unreal browser
-
Apply Particle Tag - interprete as an
Unreal particle system
-
Load Default Unreal Material - loads the
light and dark gray checker texture into the material editor so it
can be assigned to csg geometry
Utilities
tools for show, hide, materials and the fbx utilities panel
- Show Store Items - select the group or individual items found in the various stores: lights, brushes etc. and press to make them visible
- Hide Store Items - select the group or individual items found in the various stores: lights, brushes etc. and press to make them invisible
- Load Default Unreal Material - loads the
light and dark gray checker texture into the material editor so it
can be assigned to csg geometry
- Load World Space Material loads a world space
checker texture into the material editor so it
can be assigned to csg geometry
- Purple Transparent - convert DeusEx purple material to transparent
- Open T3D FBX Utilities(see below):
Setup
- MoveSpeed - make faster for larger scene navigation, slower for finer control
- RotateSpeed - adjust for a comfortable rotation speed
- Convert View Widget - changes the view widget walk control so it follows the Unreal Editor style of navigation
- RMB - look around from eye position,
- LMB - move with yaw is less sensitive to turning,
- LMB + RMB - move up and down ( tS just RMB )
- MMB (no change) - rotates around selection, or scene origin if nothing selected
This change will revert after a reset default context
- Flatten Booleans - run boolean flatten operation for each csg brush imported
- Rest Frequency - how many minutes to run before "resting". Prevents tS crashes.
- Skip Textures - do not load brush textures - enable preview without texture materials and may be required if no textures are in the level csg geometry
- Auto Booleans - use AutoIt active-x control to run the custom boolean tool
Auto Boolean Delay - wait between automatic mouse clicks in ms
- Backup Period - the time period in minutes between backups
- Fast Boolean options below are no longer required for decent import performance
- Fast Booleans - restart the boolean process fresh when the number of materials is greater than
Max materials,
import can take several hours without this option enabled
- Max materials - the number of materials a mesh will allow before starting a new mesh -
names will be "GSL, xxx". A coresponding collection of T3DSS(t3d subtract store) will also be created.
- Add Brushes - diagnosis tool creates a collection of all the csg add brushes
- Save On Max - when max materials for the current csg geometry is reached, backup save the scene
- Use Preferences Lights load lights from Preferences, this will give UU style lights otherwise simpler light structures are created to save resources.
- Collada Friendly Names - change all ", #"(comma space hash) to "_" so the names are more compatible with the enhanced collada exporter
- Boolean fail recovery - will clean the data and nodes for a continued run instead of saving the failed geometry in the failedCSGStore for later processing.
This was originally created because of multiple failure events, now it is not needed as the only failures are the expected ones from flat geometry facing away from the view.
T3D FBX Utilities
-
Infinite to Directional - convert imported infinite light to a directional light so shadows display
- StaticMesh and SkeletalMesh - color and tag options
-
- Process tags set smGroup, smPackage, smSkeletalMesh and smStaticMesh tags
- Replace color ue4 fbx imports as black, set color to make shapes readable
- Use Texture will replace the color with a world space gray checker texture
- smGroup, smPackage, smSkeletalMesh and smStaticMesh text for skeletal and static mesh tags -
smSkeletalMesh and smStaticMesh can be left blank for automatic naming based on the mesh
- Process StaticMeshes/Process SkeletalMeshes - changes color and tags for selected imported FBX meshes
- FBX source group group of fbx meshes used with t3d placeholders
- T3D destination group group of t3d mesh placeholders for the fbx meshes
- Copy FBX meshes copies each fbx mesh from the fbx source group to the location of the t3d files in the t3d group
- Rename Branch No Anim renames all the childen with a prefix "NoAnimation_" to prevent ue4 from reading the animation on that branch
- Rename Branch Yes Anim removes the "NoAnimation_" prefix from the names
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 the
same rsx plugin.
Installs a button to open the importer/exporter in the panel
view. This script comes in 2 parts. There is the script
itself and a rsx plugin for reading and writing the binary PSK and
PSA file formats. The script installs with the push of a button,
the plugin requires manual installation.
Some old installation and usage notes can be found at this
link.
https://www.gildor.org/en/projects/umodel - used to view and extract assets from the Unreal packages.
DeusEx
- preload the texture materials
- import t3d map to truespace -
using fast boolean option(import in 1 hour instead of 10 hours)
- copy brush materials
- import lwo models to blender using custom script
- import lwo animation model frames to blender
- create morph targets for animation
- use https://github.com/heimlich1024/OD_CopyPasteExternal to copy morphs into tS
- use script to export animation texture for custom vertex shader in game engine
Fast Booleans
Fast Booleans no longer has any speed or stability advantages over more direct means.
you tube here
Older AutoIt Version - for history record
Old version: supports ue3 T3D, PSK and PSA
t3d import to truespace from ue4/ue5
- export t3d scene from ue4 and import to tS, scale 0.01
- static mesh placeholders will be saved to the "t3dStaticMeshStore" 2D group
- export static meshes from the content browser as fbx without collision meshes.
if more than 1 is exported a folder structure matching the content browser will be created
- import fbx static meshes - "Add 180 Yaw Mesh" option checked, scale 0.01
- t3dfbx import export utility - set checkboxes
- process tags
- replaceColor - unless the static mesh has a plain color
- use texture - if static mesh has a texture assigned inside unreal
- select all static meshes and press "Process StaticMeshes"
- 2D encaps/group the fbx meshes
- set fbx source, set t3d destination(t3dStaticMeshStore) to their group nodes
- press "copy fbx meshes" button
- delete fbx encaps and delete t3d encaps
- final result is scene the matches the ue4 level
Utility Notes:
- use naming in ts to control animating parts in ue4 - skeletal mesh animation
- use only part of a skeletons animation in ue4 by renaming joints - does not work with root joint
- cameras and lights will not do full round trip between tS and ue4
Notes:
Idea: combine high speed preview import with fast booleans and somehow transfer the materials from the GSL meshes to the untextured level mesh. If possible can reduce time from 15 hours down to about 3 hours or less.
Final result of idea - 3 step import for csg brushes:
1. read texture files first
2. load level but use simple unique color materials instead of the final texture material
3. copy the texture materials to the level geometry
Total time less than 1 hr for a single piece import, before was 15 hr, and with multiple piece import 1.5 hr with too much cleanup to do
Results are good but still not perfect due to the weird technique used to build the level via interactive boolean tools.
June 9, 2024
- installer load on demand compatible - for the boolean widget
October 27, 2022
- brush import will work with textures exported from ut2k4 and udk using the XXX tool(need link and name)
- doubled the size of csg map container - found that one test map was slightly bigger than the bounds
- fixed ut2k4 staticmesh placeholder import - mostly good but some rotation issues
- fixed mystery disappearing failed csg meshes - bug in tS, Node.Move command creates empty copies
- cleaner bsp map texture check
- failed csg solved - view needed to be closer to be sure to select the mesh for the boolean operation,
all fails are expected now and caused by flat mesh facing away from the view
- set wide fov after import to more closly match the unreal editor
- autobool make slightly more reliable, defalt delay increase 250->500, rest freq 7->5
- new speed controls for the UE style view navigation
- new auto recover option for failed booleans(not needed, actual problem solved)
- bug fix - works with csg levels that begin with add brushes
October 25, 2022
- new fast import technique 15hr run down to 1hr
- fixed light attenuation for UU lights
- new default to old style lights - fewer nodes per light
- removed tsx path creation - not used
- now requires JSON function set
- fixed use light prefs checkbox
- changed timings to match higher rate of import
June 23, 2022
- stable run now possible by adding a truePause of 1 minute every 15 min after boolean operations widget
- the stable crash free run makes several options obsolete
- moved fast boolean option to back tab and turned off by default
- flatten boolean moved to back tab and turned on by default
- removed fbx batch export - is already in the fbx scripts
- new progress indicator for csg brush load
- new utilities tab
- re-added purple material button
- new world centered material option
- lights option to load from preferences - makes UU compatible lights
- brush autosave based on time instead of brush count
June 17, 2022
- reads t3d brush uv values instead of using a cube projection approximation
- meshes of failed boolean operations are set to invisible to prevent interfering with later booleans
- meshes built with central origin point will boolean more cleanly - also true for Blender
- fixed various bugs
- increased material max from 15 to 31
- t3d fbx util add option to replace color with checker shader
- removed yaw -90 button
- removed set purple alpha button
- removed old fix cam and light button
- removed make fake cam or light button
- removed Fix staticmesh transforms button, fixed in fbx importer
- has installer button
November 26, 2021
- fix bug in renaming script - collada friendly
November 17, 2021
- collada friendly name conversion
November 3, 2021
- after crash hide GSLs, subtract and add meshes and floating/free meshes
- new max material option - default of 15
- add brush store - for debugging - not needed, off by default
- new flat mesh store for 3 and 4 sided meshes
- layer assignment for brushes, csg brushes, mover brushes, lights, static and skeletal meshes and flat brushes
- new save on max option to help with unstable crash recovery
November 1, 2021
- added small scale to all brushes for better booleans in most cases - less cleanup work
October 29, 2021
- fix crash caused by too many status line updates
- added new fast booleans option so import of csg map does not take literally all day long, includes subtraction brushes for geometry fixes
- reduced the number of backup saves which are used to recover from crashes
October 27, 2021
- custom t3d boolean widget was missing from the installer
October 25, 2021
- import brush csg textures
- booleans work with textures
- list missing brush textures
- read material flags for transparent and constant shaders
- new installer
August 27, 2018
- new t3d fbx utilities
- import 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, but direct skeletal mesh references no longer exported by ue4
- removed code that adds a pivot to csg geometry and volumes
- added spotlight angle
- added camera import
- set spotlight cone angle export to half value to match ue4 import
- persistent install
May 29 2016:
- unknown changes
- fixes for latest ue4?
April 24 2016:
- unknown changes
- removed support for Unreal Engines less than version 4
- removed PSK/PSA import export
- removed unreal grid
April 2 2015:
- fixed static mesh scale for ue4
- mark mesh works with multiple selections
-
add particle system placeholder export, marker also
added
- export scene check box
-
improved t3d uv (not random anymore) using solidsnake
ase to t3d code -
www.solosnake.com
-
fixed/finalized the skeletal mesh rotation for the t3d
files
- batch process for the fbx exporter
February 14 2015:
- t3d ue4 export
- landscape for ue4 / terrain for udk
-
skeleton mesh orientation in t3d corrects for fbx import
orientation
December 7 2014: - t3d export reads the skeleton root instead of the actor position
April 12 2014:
- t3d export removed extraneous "..." file button
- t3d export point and spot lights as movable if animated
- t3d export spotlight angle
- set material name from the tag panel
March 23 2014:
- do not export invisible items to t3d map file
-
import psk to standard skeleton, no export or animation
import/export yet
- support boolean subtraction for csg export to t3d format
Sept 10 2013: -
option to save entire scene or selection
May 26, 2013:
- combined T3D import and PSK/PSA import export into one UI
- T3D imports InterpActors
-
T3D force uv set 1 for meshes - fixes bug when cubic uv
projector was set to uv set 2 only
- added T3D exporter
- mesh tags for T3D static and skeletal mesh export
- added Unreal Grid
- terrain export
Jan 27, 2013:
- fixed X-axis mirror problem
- psk import random colors for multimaterial meshes
- unique button guid
- automatic script portion installer - rsx still manual install