Hola, un archivo .x es un archivo que contiene los datos de una malla 3D (de echo, los .x es el formato de directX para mallas), direct X conta con exportadores para 3DStudio Max (y creo que para Malla tambien) para que puedas exportar una malla a tu aplicación.
No e trabajado con el formato .x, pero supongo que debe de tener algun objeto que lea este archivo.
Al fin y al cabo internamente se crea una estructura para cada vertice de la malla, mas o menos asi:
struct VERTEXTYPE
{
float x, y, z;
DWORD color;
float u1, v1;
float u2, v2;
float nx, ny, nz;
}
Donde XYZ son la posición del vertice, color, es el color del vertice (con los componentes ARGB), u1 y v1 son las coordenadas de texturizado para el vertice, u2 y v2 es un segundo canal de texturizado para el vertice (por ejemplo por si quieres poner otra textura por encima con transparencias), y nx, ny e nz son los normales del vertice. Un vertice no necesita de todos estos datos, supongo que habra alguna forma de decirle a direct x cuantos datos quieres tomar. Ademas de estos, debes indicarle a DirectX los datos que as tomado mediante los flags FVF (Felixble Vertex Format).
En cuanto a la animación, creo que el formato .x no la soporta (ahunque no estoy seguro, nunca e usado este formato), y también depende de que tipo de animación quieras (por vertice o por huesos (animación esqueletal)), pero si la idea es la que tu dices, tu haces una malla en un editor como 3DS Max, luego animas esa malla, y luego exportas esos datos a un fichero .x.
Espero haberte sido de ayuda por lo menos a nivel teorico xD.
Un saludo.