[Homebrew] [VDP1] Cargando Una Tetera De 3dStudio »  Mostrar los mensajes de    a     

SEGASaturno - Saturn, SEGA y Videojuegos


Desarrollo - [Homebrew] [VDP1] Cargando Una Tetera De 3dStudio



FacundoARG [ 02 Octobre 2009, 06:54 AM ]
Título del mensaje[Homebrew] [VDP1] Cargando Una Tetera De 3dStudio
Bien, a pedido de los marinos que siguen en este barco .
Por fin traigo el tuto de como levantar un objeto en 3D, modelado a su gusto . Ando un poco complicado, es que se me rompió el rígido de la PC.


YouTube Link


Si no sabes cómo empezar, mira este link primero. Como simpre usaremos el ejemplo S_2_2 .


Bien, vamos a mostrar una tetera creada con 3Dstudio max 7, es la que sale en la solapa teapot; obviamente le vamos a tener que bajar la cantidad de caras.

teapot

Tampoco tocaremos el tema de herencia sobre los modelos, solamente la carga y el pintado.



Una vez creada la tetera, exportamos el archivo como teapot.dxf


Ahora viene un proceso tedioso, yo recomendaría hacer algún batch file para que lo haga automáticamente.

Primero arrojamos el archivo a C:SaturnOrbitTOOLS

Abrimos una ventana de comandos, y escribimos RB_SaturnDXF.EXE teapot.DXF -o teapot.DXF -x
Luego movemos el archivo a, C:SaturnOrbitTOOLSSSSDK

En la misma ventana de comandos, escribimos y ejecuatamos DXF2SG3.EXE teapot.DXF

Básicamente esto filta los datos innecesarios y ademas lo traduce a las coordenadas de SegaSaturn.




Luego de esto, abrimos el archivo teapot.sg3 con el 3dEditor del SDK.
Podemos ver, que se ve la tetera. Bien ahora lo vamos a "Save as" y colocamos la opción ".MDL "
Bien con esto obtenemos el archivo con todos los datos el cual debemos incluirlo en nuestro código.
Esto ocupara Ram del sistema principal.


Un MDL, tiene la siguiente estructura:

  • POINT point_0[] : vector que indica donde estan todos los puntos en el espacio.
  • POLYGON polygon_0[] : vector que indica como esta unida cada cara.
  • ATTR attribute_0[] : vector que indica por cada cara los atributos que posee, textura, grourad, etc.
  • XPDATA xpdata_0[] : vector que indica el tamaño que ocupa en memoria.
  • OBJECT object_0[]: vector que contiene las coordenadas de origen sobre el objeto.


Nuestra variable a manejas sobre este objeto es xpdata_0

Bien ahora vamos con el código. Es muy sencillo incluir un modelo 3D.
Creamos una carpeta dentro del proyecto, "Polygon" donde incluiremos todos nuestros modelos. Lo colocamos ahí.




Dentro de nuestro código debemos incluirlo.
Código: [Ocultar]
  1. #include "Polygon/teapot.mdl"  
  2.  


cree estas variables para manejar la tetera.
Código: [Ocultar]
  1. FIXED pos1[XYZ];  
  2. ANGLE ang1[XYZ];  
  3.  
  4. pos1[X]=toFIXED(0.0);  
  5. pos1[Y]=toFIXED(35.0);  
  6. pos1[Z]=toFIXED(220.0);  
  7.  
  8. ang1[X]=ang1[Y]=ang1[Z]=DEGtoANG(90.0);  
  9.  
  10.  


Dentro del while principal
Código: [Ocultar]
  1. slPushMatrix();  
  2. //Guardamos en la pila la matriz actual  
  3. {  
  4. slTranslate(pos1[X],pos1[Y],pos1[Z]);  
  5. //trasladamos el objeto a las posiciones espezificadas.  
  6.  
  7. slRotY(ang);  
  8. //Lo rotamos de acuerdo al angulo.  
  9.  
  10. slPutPolygon((PDATA *)&xpdata_0);  
  11.  
  12. //lo mostramos  
  13. }  
  14. slPopMatrix();  
  15. //Sacamos de la pila la matriz  
  16.  


Personalmente tuve un problema con este objeto y tuve que editarlo a mano (no queda otra opción), algunas coordenadas al ser tan precisas el 3Deditor las transforma como #IND, el cual deberemos reemplazarlo con 0000.
Nuestro compilador no interpreta que es eso, y nos marca que no reconoce lo siguiente -1.#IND entonces nosotros debemos cambiarlo por -1.0000 .
Con un editor de texto, lo hacemos en 2(dos) segundos.

El tema de las matrices es algo complejo, donde se puede usar la herencia entre los distintos objetos 3D.
Requiere de otro tutorial más específico.

PD: envien un MP para el que quiera el proyecto y la iso. No quiero sobre cargar el foro .


DonGloton [ 02 Octobre 2009, 11:39 AM ]
Título del mensajeRe: [VDP1] Cargando Una Tetera De 3dStudio
Sonic and the magic teapot! Dentro de poco en todas las Sega Saturn!!!

Eres muy bueno tio, espero de verdad que le saques partido.

Un saludo!


FacundoARG [ 02 Octobre 2009, 02:17 PM ]
Título del mensajeRe: [VDP1] Cargando Una Tetera De 3dStudio
DonGloton escribió: [Ver mensaje]
Sonic and the magic teapot! Dentro de poco en todas las Sega Saturn!!!

Eres muy bueno tio, espero de verdad que le saques partido.

Un saludo!


Jaja, Gracias se hace lo que se puede. Y el nombre del juego no esta nada mal, tenemos a Sonic en cada cosa que no me extrañaría que estuviese dentro de una tetera dando vueltas.


Jean La Montarde [ 03 Octobre 2009, 01:09 PM ]
Título del mensajeRe: [VDP1] Cargando Una Tetera De 3dStudio
Gracias por responder a las peticiones de un pedigueño xDD

Buenisimo como siempre , asi da gusto seguir dandole vueltas a la saturn.

Suerte con los problemas del rigido y a ver si se recupera todo


FacundoARG [ 03 Octobre 2009, 10:56 PM ]
Título del mensajeRe: [VDP1] Cargando Una Tetera De 3dStudio
Jean La Montarde escribió: [Ver mensaje]
Gracias por responder a las peticiones de un pedigueño xDD

Buenisimo como siempre , asi da gusto seguir dandole vueltas a la saturn.

Suerte con los problemas del rigido y a ver si se recupera todo


Gracias, a uds. Todavía estoy peleando con el rígido.

Ya voy a subir lo que falta. Luces, cámara y las texturas de un objeto 3D.


saturn_worship [ 04 Octobre 2009, 11:55 PM ]
Título del mensajeRe: [VDP1] Cargando Una Tetera De 3dStudio
Facu muchisimas gracias por esto otra vez...

Espero poder pasarte resultados bien pronto.

Saludos!!!! Si es que estoy en 50000 cosas!!!!!!!!!!




Powered by Icy Phoenix