Download the latest in-progress version here:
Tack's Deus Ex Mesh Tool, version 0.02 (169
K)
IMPORTANT: If you are "bug-intolerant", avoid downloading this. There are known bugs and limitations with this version - if this was a commercial product, it would be considered pre-Alpha. When this program gets to the point where the major bugs are fixed and the rest of the functionality is finished, I will start calling it version 1.0, etc.
Tack's Deus Ex Mesh Tool is a stand-alone Windows utility for extracting and converting Deus Ex meshes.
The Mesh Extractor allows you to to export meshes from the game into MilkShape 3D and Lightwave 6.5 formats. It is similar to the mesh extractor in the WOTgreal utility (which as of this writing you can find here: WOTgreal), with a few differences:
* Native MilkShape support. Why is that important? MilkShape's
Unreal importer does not handle multiple surfaces and materials. As
a result the UV mapping does not get imported when you import a pair of Unreal
format .3d files. Since my mesh tool supports the .ms3d format directly,
the issue is bypassed, and you get all of your surfaces and UV mapping.
* Native Lightwave 6.5 support. Why is that important? Because
I use Lightwave! And I ran into similar issues that I did with MilkShape
(UV texturing, etc).
* Animation frame support. Exporting animation from Deus Ex is tricky
business, since it is stored as a series of point positions. This
really limits what you can do. While WOTgreal does export animation
in the .3d files, there isn't really a way to make changes to them. I
added a brute force method of supporting animation - the mesh extractor can
create a file for each animation frame. This isn't great, but it's
better than nothing. It's also the way I plan on supporting conversion
of meshes back to .3d format for importing into Deus Ex.
* Automatic texture extraction. Just leave the "Export Mesh
Textures" checkbox checked, and all of the required .PCX files will be
exported when the mesh is exported. If a generic character mesh is
selected, a list of all characters that use that mesh will be displayed and
the chosen character's textures will be exported.
The Mesh Converter will allow you to convert directly from Lightwave 6.5 to Deus Ex formatted .3d files, and may include MilkShape support as well. I'm currently writing that part of the utility.
MilkShape/Lightwave screen shots of extracted models
There is no installation program to run. Just copy the .EXE file somewhere and make an icon for it.
The Mesh Extractor is pretty straightforward. Use the Open button
to select a Deus Ex package. These are in your \DeusEx\System folder.
The following packages have meshes in them:
DeusExCharacters.u
DeusExDeco.u
DeusExItems.u
MPCharacters.u (if you have the multi-player patch installed)
You'll want to create an output folder to hold your exported files. Select that with the Select button.
You can export multiple meshes at once. Hold the Ctrl button down to select individual meshes. To select a range of meshes, select the first one, hold the Shift button down, and select the last one. To select all meshes, press the Select All button. Be careful when exporting multiple meshes and using the animation options. You could end up with a huge number of files.
MilkShape 3D Notes
When you first fire up MilkShape 3D, the OpenGL preview window will be set to "Smooth Shaded". Right-click in the OpenGL window and select "Textured" or it will look weird.
Currently, there doesn't seem to be a way to set the "special" polygons
within MilkShape. Until the Mesh Converter part of this utility is complete,
you might want to head over to the polycount
Unreal tools section: http://www.planetquake.com/polycount/resources/unreal/tools.shtml
and check out UnrealFX. It
lets you set the special polygons, such as translucent, unlit, masked, weapon,
and so on.
Lightwave Notes
Only Lightwave 6.5 format is supported. That's because the type of UV mapping I'm using was introduced in veresion 6.5. If you try to load an exported .lwo file into Lightwave 6, it may work somewhat, but the UV texturing will not show up. Versions of Lightwave prior to 6.0 will definitely not work.
In Modeler, set your Content Directory to point to your extraction output directory. The references to the .PCX texture files in the .LWO files will not include any path information, so if you don't set your content directory, you'll get those annoying windows asking you to locate the textures.
* The main nasty bug happens when you close the mesh extractor window. It
crashes the program. This happens quite often. It doesn't
appear to be a memory leak or anything, just some sort of unhandled exception
somewhere, so you shouldn't have to reboot or anything - just pull it back up.
* The OpenGL shading in the MilkShape export is not too functional yet. For
now, all surfaces will be set to 100% emissive, which will make untextured surfaces
look weird. I'm hoping to fix this eventually.
* There isn't any support just yet for "special" polygons, such as
unlit, translucent, masked, etc, but it's coming.
* For technical reasons, the following meshes cannot be exported: Fly (in DeusExCharacters.u),
EidosLogo, IonStormLogo, DXText, and DXLogo (in DeusExDeco.u). They won't
show up in the mesh list, so you probably wouldn't have even noticed it. :)
Steve Tack
stack@planetdeusex.com