Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Como empezar a crear un plugin con el IGame de Max8?

Iniciado por alex_tkd, 13 de Marzo de 2007, 09:42:08 PM

« anterior - próximo »

alex_tkd

Hola estoy tratando de hacer un exportador que use la libreria igame de max 8, pero no se como empezar, si alguien sabe como comenzar el proyecto de cero, a mi me da palo eso. Gracias por adelantado y please hellllpppppppp  :(

BeRSeRKeR

Si no recuerdo mal, en el propio SDK de MAX viene un ejemplo que utiliza la IGame. Podrías empezar con ese.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

CoLSoN2

No se si te servirá, pero Astat publicó en Edevi un artículo de iniciación a la creación de plug-ins para Max: El Max y Tú:
Preludio de "Una historia de amor y odio"
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

alex_tkd

Si ya lo vi, esta muy bueno, aunque no es con el Igame, pero bueno ayuda bastante, por ahi puedo seguir, deja ver que pasa ahora, a ver si no da palo. Cualquier otro comentario sera bienvenido.

BeRSeRKeR

Se ve que los ejemplos vienen con MAX9. Aquí tienes ejemplos que utilizan la IGame.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

alex_tkd

Los estoy revisando, no me quedan claras algunas cosas, pero ahi sigo, vamos a ver que sale, la parte que me tiene con duda es la parte de XML, por lo demas creo que todo bien. Bueno saludos  y cualquier cosa tiren pa` aca.

BeRSeRKeR

Cita de: "alex_tkd"la parte que me tiene con duda es la parte de XML, por lo demas creo que todo bien.
Por si las moscas, piensa que no necesariamente tienes por qué escribir en XML tu formato.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

alex_tkd

Siiiiiiiiiiiiiiiii que buena noticia esa, la verdad eso me tenia loco, BeRSeRKeR eso era lo que me tenia loco de verdad, cada ves que veo un ejemplo usan XML para todo, ya hasta pensaba que era obligatorio o algo asi, llebo dias revisando codigo y leyendo y todo lo almacenan con eso, bueno ahora creo que voy a empezar a ver que sale. Una ultima cosa, el sdk de max permite incluir tambien, una lista de las stl como "vertor" por ejemplo, lo digo porque quiero guardar primero la lista de mesh y despues la lista de splines, para ir exportando todas las mesh primero y despues todos los spline, para a la hora de cargar el fichero sea cargar un bloque completo, no se si me hago entender.

  Saludos a todos  :D y si saben algo de esto, tire pa` aca.

BeRSeRKeR

Cita de: "alex_tkd"Una ultima cosa, el sdk de max permite incluir tambien, una lista de las stl como "vertor" por ejemplo, lo digo porque quiero guardar primero la lista de mesh y despues la lista de splines, para ir exportando todas las mesh primero y despues todos los spline, para a la hora de cargar el fichero sea cargar un bloque completo, no se si me hago entender.
No sé si te entendí bien pero sí, puedes utilizar las STL con el SDK de MAX. De todas formas, puedes utilizar la lista que viene implementada en el SDK de MAX. Si no recuerdo mal es Tab:

Tab<IGameMesh> meshes;

Echale un vistazo a la referencia del SDK para ver los método/propiedades de ese tipo de lista.

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

alex_tkd

Realmente a eso me referia, primero quiero ir guardando en una lista todas las mesh con Tab<IGameMesh> mesh y otra con todas las polylineas Tab<IGameSpline> spline para a la hora de exportar, exportar toda la informacion de todas las mallas en la escena y luego todas las polylineas. Con esto lo resuelvo, es que quiero que el formato tenga organizacion, primero todos los objetos de un tipo y despues del otro.

   Bueno Miiiiiiiiiillllllllllll   gracias a todos en especial a BeRSeRKeR que como se dice a lo cubano, esta escapao`(sabe mucho). De todas formas seguire posteando mis avances en este pos y dudas que aparescan en el camino.
                        :D I am Happy  :D  :D  :D

alex_tkd

Una ultima cosas, conque funcion optengo el camino donde se va a almacenar el fichero, es decir cuando en el 3dmax le das exportar y seleccionas un camino, no se si me hago entender.

    Gracias por adelantado.

alex_tkd

Hola nuevamente, ya obtengo el camino donde se guardan las cosas, pero estoy fajado con la parte de llenar las listas, aqui pongo el troso de codigo para ver si encuentran algo mal hecho, el problema es que no quiere entrar a ningun case en el switch.

   IGameNode     *node        = pIgame->GetTopLevelNode(i);
   IGameObject     *v_object   = node->GetIGameObject();

if((HideGeometry == FALSE) && !node->IsNodeHidden())
{
switch(v_object->GetIGameType())
         {
            case IGameObject::IGAME_MESH:
               {
                  IGameMesh *v_TriMesh = (IGameMesh*)v_object;
                  l_TriMesh.push_back(v_TriMesh);
                  l_INode.push_back(node);
                  l_Materials.push_back(v_material);
               }
               break;
            case IGameObject::IGAME_SPLINE:
               {
                  IGameSpline *v_PolyLine = (IGameSpline*)v_object;
                  l_PolyLine.push_back(v_PolyLine);
                  l_INode.push_back(node);
                  l_Materials.push_back(v_material);
               }
               break;
         }
      }

alex_tkd

Hey aqui estoy de nuevo, veo que no saben mucho del tema ya que he posteado varias veces y nada, pues les dire que ya arregle todo, ya guardo las listas de geometrias y lineas y todos sus atributos en un fichero execto uno, me esta dando palo las normales de los vertices, cuando creo un objeto siempre me sale que no tiene normales de vertices es decir que la funcion
t_VertexNormalQuantity     = mesh->GetNumberOfNormals();
retorna 0, si alguien sabe que pueda ser tiren pa` aca y si alguien se anima a hacer un exportador igual puedo ayudarles, con el igame claro.  :wink:

BeRSeRKeR

Siento no poder ayudarte ahora mismo pero el trabajo no me deja mucho tiempo y cuando llego a mi casa ya es tarde y además ahora mismo no tengo Internet.

En cualquier caso, si nadie te responde primero o lo sacas por tí mismo, a ver si puedo sacar un hueco...

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

alex_tkd

OK entonces espero por tu respuesta, es que no he dado pie con bola en esta parte, cuando le doy al mesh una funcion necesaria antes de exportar las normales.

mesh->SetCreateOptimizedNormalList()

y le doy exportar al 3dmax, despues de haber liberado la memoria con ReleaseIGame() se cuelga, algo esta pasando, y sigue dando cero la cantidad de normales en el mesh.


 Saludos a todos






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.