trueSpace 6.6/gameSpace 1.5 Project Libraries for Torque DTS Creation
(for use with DarkIndustries' DTS Exporter 2.0)

Hastily thrown together by Luke Derossi



Summary
-------
This is a small trueSpace (and I expect gameSpace) project folder that has some helpful materials, objects and scenes for DTS production.  Unzip this archive in the Projects folder of your trueSpace/gameSpace install directory.  Then within the application click the 'Projects' library button and load the 'Torque' project.




Materials
---------
There are four simple materials created in this project, set up as required by the exporter for different purposes.  Default, self-illuminating, env-mapped and material transparency materials are supplied.  For environment mapped, an image with an alpha channel will need to be added to the env-map shader.  For material transparency, the texture image itself needs an alpha channel.

Objects
-------
A selection of correctly named markers/groups with decent default positioning.  The objects are shaped as such so their orientation are easy to identify.




Scenes
------
There are two scenes in the scene library.  One is a default DTS-ready scene with nothing but a base01 group containing a detail marker and a collision marker.  The other is a fairly simple example of some of the exporter's functions including animations (_sequence markers with notes attached), billboards, auto level-of-detail (see note attached to TorqueBall64 object; levels 32 and 16), manual level-of-detail (levels 64, 2 and 8), and player-character markers.  The shape, once exported, will work in the Torque HEAD as of 8-27-04 in place of player.dts provided that the player.cs in the player shapes directory is edited so no DSQs are loaded (just delete all the sequence## lines.)


Layers
------
I use layers to organize the different aspects of a DTS shape.  This makes for easy hiding/unhiding of sets (ie. while working on a shape, there is no need to have all the markers and bounds in your way.)  I've kept my personal layer arrangement in the supplied scene files in case someone else finds it useful.





Scale normalizer
----------------
Included in the archive is my scaleNormalizer.tsx.  This is a very very VERY quick hack no-frills plugin that will, most of the time, perform object scale freeze which eliminates the need for converting to .X format and back.  It works for me very well, however there is a known bug!  If you use this at all (and I take no responsibility for the results) make sure to SAVE before using it, and watch the shape closely when you click it.  See below for the bug details and workaround.


Installation: 

  Move the scaleNormalizer.tsx to the application's 'tsx' folder.  Click the '3D' plugin icon in the application, find the scaleNormalizer file and select it.  This should add the icon to the toolbar.  The icon looks like the standard scale tool icon with a big red letter 'N' over it.  


Usage: 

  Select an object or group of objects and click the icon.  If you selected a group, it iterates through and applies the normalization to all shapes contained within that group.  That's it.  There are no dialogs, warnings, confirmations, compliments, beeps, whistles or notices.  When you click the button, watch the shape(s) closely, it shouldn't change *at all*.  You can test if it worked by clicking trueSpace's 'Normalize Scale' button.  If the shape doesn't pop back to its original size, it worked.

  If you make *any* scale changes to an object, this must be done again.  When its working right you can use it as many times as necessary.


The known bug:

  This happens when a shape is rotated so its axes are at an odd angle such that when the object is scaled, more than one object-axis is being manipulated.  For example, create a cube; rotate it 20 degrees around the Z axis.  In the 'front' orthoganal view, scale it along the X axis.  In reality, the shape is scaling along its own X and Y axis AND being rotated around the Z axis as it scales.  For some reason the odd position of the axes and the scaling that happens confuses scale normalizer.  You can work around it by selecting the axes and using 'normalize rotation' on it before using scale normalizer.  Perhaps, someday, I'll try to fix it.  But I doubt it'll be anytime soon.



Any questions, comments, etc. please feel free to email them to:


t.z.lderossi@neverbox.com