-DirectX Exporter Documentation

1-How do I use the exporter?
-The exporter might work with several meshes, but it's strongly recommended to export one armature and one mesh parented to it, at once(I've tested it with one armature, one mesh parented with the armature and another single mesh)
-The location and the rotation of the armature and the mesh parented to it must be the same.In Blender this can be easily done.For the location select the armature, press Shift+S then Cursor-To Selection.Then with RMB select the mesh,open Editing Window(F9) and select Center Cursor.
For the rotation unparent the mesh by the armature(select both and press Alt+P+1).Then press Ctrl+A for both and confirm. This ensures a good result in the exported file(it's not needed always)
-After exporting the console window may contain some error messages.This messages are explained below.

2-What does it mean the error "the mesh contains faces with less then 3 vertices" and how can I solve it?
-It means that the mesh has vertices which doesn't create a face(single vertices or single edges).The file exported will be not a valid .x file.The problem can be solved by detecting these vertices and deleting them.In Blender 2.35(or higher) select the object, go in edit mode (Tab)and select all vertices(A).Then in the menu bar press Mesh-Script- Cleanup Meshes-Edges:not in a face and Vertices:free standing

3-What does it mean the error "the material contains '.' within" and how can I solve it?
-In Blender the materials some times are named with a point within(Material.001, Grey.002...).It happens for the bones too.The scripts below take off the point in material names(the first one) and bone name(the second one).
import Blender
from Blender import Material

for mat in Material.Get():
	nm = mat.name
	nam = ""
	for sy in range(0, len(nm)):
		if nm[sy] != ".":
			nam = nam + nm[sy]
	mat.setName(nam)

-This script will rename bones if they have points within their names.Select the Armature and execute the script
import Blender
from Blender import Object
obj = Object.GetSelected()
arm = obj[0].data
for bon in arm.getBones():
	nm = bon.name
	nam = ""
	for sy in range(0, len(nm)):
		if nm[sy] != ".":
			nam = nam + nm[sy]
		
	bon.setName(nam)



4-Can I export the animation which uses Inverse Kinematics in Blender?

-Directly it's not possible.Anyway it's simple to keyframe all the bones in Blender.If you have an Action (skeleton animation) which uses Inverse Kinematics it can be baked by clicking over "Baked" button in the Action Window menu and the animation will have keyframes for all the bones.Use the new action(will be named Action.Baked)to export the animation.


5-Can I export the skeletons which uses separated chains?

-No you can't.Before exporting parent the separated chains or bones with their parents.