Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Cargar modelos animados en nintendo DS

Iniciado por trabis, 06 de Febrero de 2007, 01:03:35 PM

« anterior - próximo »

trabis

Saludos,

estoy realizando un proyecto para nintendo DS y necesito cargar modelos animados. De momento me he decido a usar el formato .X exportado por milkshape y tengo hecho ya una aplicación windows que lee modelos no animados y los convierte a funciones en c++ para cargar los modelos en opengl. El problema lo estoy teniendo para crear el cargador de un modelo con animaciones pq ya no me servirá con convertirlo a una función en opengl. Ahora tendré que meter los datos del modelo en variables para después poder crear las interpolaciones de la animación. Había pensado en introducir la información de los vértices de un modo como este vertice[Frame][nVertice][coordenada], mexplico:

vertice[0][0][0]=0.0f; vertice[0][0][1]=0.0f; vertice[0][0][2]=0.0f;
.
.
.

Así por cada vértice de cada frame de animación.

Ahora los ruegos y preguntas :/

¿Voy bien por este camino o debería de enfocarlo de otra manera?
Hay una forma para acceder al sistema de ficheros de la nintendo DS pero no se como va, aunque me ahorraría la parte de convertir el modelo a un formato para opengl. ¿Merecería la pena?

Zaelsius

¿Por qué no incrustas los ficheros de datos (.x,.jpg,etc..) dentro del binario?

Tu makefile debería ser capaz de hacer eso, generando una cabecera (.h) personalizada para cada recurso. Luego desde tus .cpp, podrías acceder a los ficheros usando:



// suponemos que quieres trabajar con el fichero "modelo.x"

#include "modelo_x.h"

// la cabecera anterior contiene definiciones para usar:

modelo_x;  // es un puntero a los datos del fichero
modelo_x_size; // es un entero que indica el tamaño del fichero




Lo mejor es que le eches un vistazo a los ejemplos de Libnds, con sus makefiles. Si usas PaLib, estoy seguro de que tambien habrán ejemplos que incrusten datos en el binario, ya que es la manera más común de acceder a recursos.

Se puede acceder al sistema de ficheros FAT de un flashcart pero no te lo recomiendo, no te hace falta.

Tambien te aconsejo que no uses .X directamente en el juego, mejor hazte un conversor a un formato propio más simple de cargar y procesar.

Y si vas a interpolar luego mediante keyframes, recuerda que la Nintendo DS no tiene soporte de coma flotante por hardware, así que todo lo que hagas con floats va a ser más lento de lo crees(quizá tengas que reducir el número de vértices de tus modelos).

trabis

Pues no sabía que eso se pudiera hacer así que me pondré a buscar en los ejemplos a ver que averiguo. Respecto a los float creo recordar que había para nds otra variable, creo que era f32, que no era coma flotante pero permitía trabajar con decimales. Será lo que deba hacer sino me veo abriendo otro hilo por aqui  :oops:

Por cierto el blog de Kana DS es genial, todo muy bien explicado y además cosas muy útiles. De momento trabajo con PAlib pero me gustaría aprender luego libnds, de todas maneras lo tendre muy en cuenta :D

Gracias por la ayuda!






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.