Go to File -> Export -> Torque (.dts)
in the menu or press spacebar and search for Export DTS
in the quick menu. The steps are the same for DSQ, only the operator is named Export DSQ
.
Go to File -> Import -> Torque (.dts)
in the menu or press spacebar and search for Import DTS
in the quick menu. The steps are the same for DSQ, only the operator is named Import DSQ
.
I have colored/textured materials on my model in Blender but the model appears white when I export it.
Torque uses texture files for materials that are looked up by the name of your material. For a material named "boxTrapOrange", you will need a PNG/JPG file with the same name. For solid colors (diffuse in Blender), you will need a texture as well. You will need to either create these yourself or use the option to generate colored textures on export.
Select your mesh and press Ctrl-A
to apply location, rotation or scale. This will apply the mesh transforms to the actual geometry and clear them, which you need to do because DTS does not support them.
Check the "Transparency" setting under material properties.
Check the "Shadeless" setting under material properties.
Add a custom property named "blendMode" and set it to "subtractive" in the material properties.
Set the following custom properties on the material:
iflName
iflFirstFrame
iflNumFrames
iflTime
I have yet to figure out how they work myself, so I can't quite document them yet.
Either use the # suffix (the name "foo#bar" would look for texture "foo") or set the custom property "texture".
Make sure your texture resolution is a power of 2 (..., 128, 256, 512, 1024, ...).
The exporter will automatically triangulate all meshes on export, and certain UV mappings you can do on quads (or n-gons) are impossible on triangles. Instead, triangulate the geometry yourself in Blender and do your UV mapping on that to get correct output.
Right now you are limited to 21845 triangles. Explanation: You are limited to 65536 vertex indices and each face (triangle) uses three. 65536 / 3
.
There is effectively no limit, but stay below 256 as anything higher sends invalid node update packets and will have random bad effects on clients.
The exporter will use the object group name as the detail level name if present. If your mesh is named "Col-X" it will put it in "Collision-X". Otherwise it uses "detail32" by default.
First of all, each LOD should be a separate mesh, and as stated in the previous question, set the object group name for each. Since Blender does not allow multiple objects with the same name, you will need to change the name.
For this reason the plugin ignores any part of a name after and including a # character. I recommend using something related to the LOD as the suffix. For example, horn#32
and horn#128
for an object named horn
in detail32
and detail128
.
Add a mesh named "Col-X" where X is a number from 1 to 8(?). It must be in the "Collision-X" detail level, but the exporter will automatically do this for you based on the name.
Add a mesh named "LOSCol-X" where X is a number from 9 to 16(?). It must be in the "LOS-X" detail level. The exporter should automatically do this for you but that hasn't been implemented yet.
I think it's because your mesh is concave instead of convex.
Set the object group name ('detail level') to "__ignore__".
Ideally this is where the FAQ would just say "use bones", but this plugin does not support bones. It's basically the biggest remaining feature.
Regardless, create an empty for each node (visual type does not matter) and parent them to each other in Blender.
Name one of your meshes "bounds".
No. It will export from every layer.
This is because the animations are "blending into each other", so to speak; the last keyframes of animations placed earlier in the timeline are staying and affecting later animations. A solution would have to be a root pose keyframe on every node inbetween animated animations, but the importer doesn't do this yet.
Create a marker at the start frame and end frame of your animation on the timeline and name them appropriately: if your animation should be called "glide" then name them "glide:start" and "glide:end".
Yes.
It should have the same length in-game and in Blender. It will evaluate and export the animation at the scene FPS (24 by default).
How do I make an animation cyclic? How do I set the priority of an animations? How do I make an animation blend?
You need to create a text block (in the Text Editor view) named "Sequences" and list the properties of your animations. Here is an example of the format (in this case, the properties of the default player animations):
activate: priority 64, blend
activate2: priority 64, blend
armattack: priority 64, cyclic, blend
armreadyboth: priority 14
armreadyleft: priority 14
armreadyright: priority 14
back: priority 12, cyclic
crouch: priority 20
crouchback: priority 21, cyclic
crouchrun: priority 21, cyclic
crouchside: priority 21, cyclic
death1: priority 128
fall: priority 7
headside: priority 0, blend
headup: priority 0, blend
leftrecoil: priority 64, blend
look: priority 8, blend
plant: priority 64, blend
root: priority 0
rotccw: priority 64, blend
rotcw: priority 64, blend
run: priority 12, cyclic
shiftaway: priority 64, blend
shiftdown: priority 64, blend
shiftleft: priority 64, blend
shiftright: priority 64, blend
shiftto: priority 64, blend
shiftup: priority 64, blend
side: priority 12, cyclic
sit: priority 64
spearready: priority 14, blend
spearthrow: priority 14, blend
standjump: priority 8, blend
talk: priority 0, cyclic, blend
undo: priority 64, blend
wrench: priority 64, blend