
Si.... tiene una pinta genial, pero entonces empezaron los problemas. Se me había ocurrido una idea para un ejemplo en el que Master Chief quedaría de lujo, pero necesitaba dos cosas:
- Encontrar un escenario acorde con el personaje / ejemplo.
- Cambiarle la pose al Chief.
Al principio el primer punto fue sencillo, encontré un escenario a mi gusto en uno de los ejemplos del SDK de DirectX10. El problema es que a los de Microsoft se les ha ocurrido dejar de dar soporte a su formato de modelos .X en favor de un nuevo formato llamado sdkmesh que ellos mismos indican que es una mierda. Bravo.
Pero bueno, según ellos en el SDK han incluido una herramienta que convierte modelos entre los dos formatos. Lo probé y efectivamente funciona perfectamente al hacer la conversión .X -> .sdkmesh, pero no había manera de conseguir el paso inverso.
Después de trastear un poco con el código fuente del programa, encontré la siguiente condición en la función que carga el modelo de entrada:
if( nLength == 2 && pszExt && wcscmp( pszExt, L".x" ) == 0 )
{
CLoaderXFile loader;
hr = loader.Load( szFileName, requestedBHT );
m_pIntermediateMesh = loader.GetMesh();
}
Es decir, que sólo es capaz de pasar de .X a sdkmesh. Pues a la mierda el escenario.
El segundo punto no fue mejor. Yo no tengo ni idea de edición de modelos en programas estilo 3dStudio, Maya o XSI, pero conseguí cargar el modelo y cambiarle la pose. El problema es que los pesos están mal y a la hora de moverlo se le va la olla.
Al final me cansé de importarlo en varios programas, trastear, exportar, volver a importar, etc... Así que a la mierda el Chief (al menos hasta que contacte con un amigo que controla del tema).
Total, que me he cabreado y me voy a poner con otra cosa, porque eso de estar dos días sin parar para no conseguir nada me pone de mala leche. Lo volveré a intentar otro día...