Exporting to .x
3d Studio Max supports the use of plugins that allow you to save a model or
animated mesh to some format that 3d Studio Max does not directly support such
as the .x file format.
You can install a plugin simply by copying the plugin to the plugins directory
of 3d Studio Max. On my computer this directory is named
"C:\Program Files\Autodesk\3ds Max 2014\plugins"
There are a few exporter plugins available that support exporting to the DirectX format .x
Alin's exporter is quite good; it supports exporting animation and texturing. If you do
a search you can find this and download it. I have also written my own
exporter that supports saving multiple map channels which you may find useful,
however it only works with 3d Studio Max 2014 64 bit. My exporter is completely
free to use and you can download it here download plugin.
Save the file to the plugins directory and restart 3d Studio Max to use it.
If you followed my previous tutorials on creating characters then all you need
to do is select the character you want to export and choose "Export" from
the 3d Studio Max file menu, after installing the plugin of course(See Figure 1).
Choose the exporter plugin from the menu(See Figure 2).
If the character has the "Skin modifier" then the animation data will be saved to the
.x file when you choose "Animation" from the plugin interface.
Here is an example of typical options you can use to save to the .x format:
To export animation check the animation box and add some animation sets for example "walk", "jump".
To do this you can type the name of the animation set, e.g. "walk", the start frame, end frame and
then click Add Animation Set(See Figure 4).
Under the General heading you can choose how the vertex normals/face normals are generated.
Soft vertex/face normals uses an averaging algorithm to create normals that produce
softer lighted models when used with a typical Diffuse lighting algorithm. Flat makes the
vertex/face normals have the same direction as the face they belong to rather than
the average of the direction of adjacent faces.
When you pass vertex data to an HLSL shader you can use the TEXCOORD0, or TEXCOORD1
semantics to get the texture coordinates for a vertex; Map Channel 2 allows you
to give vertices a second set of texture coordinates that you can use to achieve certain
effects like blending one texture into another using multiple sets of texture coordinates.
That's about it.