Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Md5 Exporter

Iniciado por BeRSeRKeR, 23 de Agosto de 2004, 04:01:10 AM

« anterior - próximo »

BeRSeRKeR

 Ya he añadido soporte para multi-materials. Lo he probado poco pero parece funcionar. También he solucionado un pequeño problema con el cálculo de las bounding boxes. He actualizado tanto el exporter para MAX como para gmax.

Descargar MD5Exporter para MAX
Descargar MD5Exporter para gmax

De todas formas se puede seguir trabajando sin multi-materials. El exporter lo maneja indiferente.

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

Lord Trancos 2

 (uoh)

Assias  (ole)  
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)

BeRSeRKeR

 Bueno, como ya dije, estoy con el visor de modelos de D3. Aún no soporta animación ni shaders (ya lo sé, wireframe sucks! :lol:). Aquí tenéis una captura.



Como podéis ver, el visor lo podéis poner en una ventana e incluso asociarlo a un viewport de MAX. Una de las ventajas que tiene es que lee todo el  material de D3 sin necesidad de descomprimir los packs. :)

Ahora mismo estoy con la animación y luego me pondré con los shaders por lo que tendré que hacer un parser de los shaders de D3, cosa chunga ya que no tengo documentación oficial sobre la sintaxis y aunque en algunas cosas es parecido a los shaders de Q3 (que los conozco bastante bien :)), otras cosas han cambiado mucho. Ahora son bastante más complejos.

Pues nada más. Espero poder sacar una primera versión pronto. También tengo pensado sacar una versión stand-alone para aquellos que no tengan MAX. Pero eso será cosa fácil ya que el visor está encapsulado en un ActiveX. (ole)

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

donald

 Fantástico !

Yo me bajo todas las versiones, por si acaso...


Ah, berseker...


estuve un poco brujuleando, ahora que se ha dicho indirectamente por discreet que se puede usar pa cosas comerciales si no se revienta, pues...estuve viendo las posibilidades. Encontre un curioso script en una página en francés, para exportar en formato OBJ...

bueno, todo esto, no era relacionado con animación de personajes, sino...bueno, Gmax es un excelente creador de niveles, como Max. Tiene ajuste a grid, y eso no lo tiene Wings, y Metasequoia o Blender, no lo tienen aún tan avanzado.  

Pues ví que sip, que es totalmente legal exportar con el md3 de mojo, pero no con el de Id, el Tempest. Tempest no es para uso comercial. Y encima, el de el otro usuario solventa problemas técnicos. Y parece incluso aceptado oficialmente, lo usa todo el mudno tb. Marrón del md3 para niveles...aunque se puede convertir a x o lo que sea con una versión beta que no expira del 3d exploration 1.5, el marrón está en el límite de triangulos, por diseño 8192. (y 4000 y pico vertices)Chungo pa un nivel. Sé que la gente está creando el nivel entero con ese pedazo de set de herramientas que tiene gmax, y luego exportan a trozos, y los funden en un programa gratuito. Un coñazo que tiene sus problemas.

Así que me trinqué ese script, y probe a subdividir una caja hasta que tuvo creo que 100.000 caras...quería ver qu epasaba exactamente al ejecutar el script, con la ventana del listener...

y fué curioso. lo exportaba todo a la ventana, pero claro, luego solo te deja seleccionar un trozo muy pequeño de texto. El caso es que creo que la version no "caducante" , una antigua que no caducaba, de Snag IT, de los de Camtasia, tiene un modo de captura de contenido de ventana, similar a la utilidad qu etu has hecho,  que permite tb eso (perdona, me acordé haciendo lo del script...de todos modos, snag it no es gratuito...es solo que aunque era de 45 días (en serio, sin hacerle nada raro) no dejaba de funcionar...de las políticas de empresa no me preguntes... :?   )

Pero daba rabia. Ahí estaba mi OBJ de 100.000 caras entero, y yo sin poder sacarlo..podrá haber usado tu utilidad, pero vaya, que daba igual, estaba trasteando, nada más.

Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S

BeRSeRKeR

Cita de: "donald"Así que me trinqué ese script, y probe a subdividir una caja hasta que tuvo creo que 100.000 caras...quería ver qu epasaba exactamente al ejecutar el script, con la ventana del listener...

y fué curioso. lo exportaba todo a la ventana, pero claro, luego solo te deja seleccionar un trozo muy pequeño de texto.
Pero entonces, ¿pudiste guardar el contenido del listener con el Snag It?. Si no, ¿probaste con mi utilidad? :lol:

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

donald

 euh...llegó el vecino pa echar una partida semanal lan con el unreal tournament 2003, y ...peté el gmax a posta, tras haber estado yo no se cuantos minutos leyendo el chisme coordenadas (se veía en la status bar)...las prioridades son las prioridades ... ;)


así que no me enteré de si rularía...en realidad era para un tío que quería usar algo para hacer niveles, un exportador pa gmax...le encontré ese script de obj, e hice la prueba... pero mi vecino llegó en el peor momento...:)

hubiera probado antes con tu utilidad, en cualquier caso..desde luego, algo así la pondría a prueba...parece que era un chorro de memoria...

esto es un pIV a 2,4 geforce ti 4200 y 512 mb ddr 400, el disco muy rápido... y no veas lo que tardaba el script en procesar los 100 mil tris...


Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S

BeRSeRKeR

 ¿Podrías decirme la dirección del script que exporta a obj?. Es que quiero ver cómo exporta él los vértices para ver si puedo hacer que mi exportador procese más rápido los vértices.

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

donald

 La estoy buscando y no la encuentro....me temo que no la añadí a bookmarks...


bueno, lo más rápido me ha parecido pastearte aquí el código.... es que en realidad, no hay nada más...es un archivo *.ms con este código :

(pegalo en un archivo con extension ms , si eso...)


global baseVertex = 0
global baseTVertex = 0
global baseNVertex = 0

function toDec f = (
local i = f as integer
return i
)

function outputHeader =(
format "\n"
format "Copy and paste the following lines into a\n"
format "text editor, and save them as a .obj file.\n"
format "\n"
format "# -----------------\n"
format "# Start of obj file\n"
flushStringStream
)

function outputFooter =(
format "# end of obj file\n"
format "# ---------------\n"
format "\n"
flushStringStream
)

function outputNode node = (
format "o %\n" node.name

local m = snapshotAsMesh node
for v = 1 to m.numVerts do (
local vert = m.verts[v]
format "v % % %\n" vert.pos.x vert.pos.y vert.pos.z
flushStringStream
)
format "\n"

if m.numtverts > 0 do (
-- Texture coordinates

for vt = 1 to m.numtverts do (
local tvert = getTVert m vt
format "vt % % %\n" tvert.x tvert.y tvert.z
)
format "\n"

-- Also print out the normals, because some importers
-- can't handle faces with textures but not normals

for f =1 to m.numFaces do (
local vn = getFaceNormal m f
format "vn % % %\n" vn.x vn.y vn.z
flushStringStream
)
format "\n"
)

local mv = m.verts
for f =1 to m.numFaces do (
local vface =getface m f
local x = baseVertex + toDec(vface.x)
local y = baseVertex + toDec(vface.y)
local z = baseVertex + toDec(vface.z)

if m.numtverts > 0 then
(
local tvface = gettvface m f
local tx = baseTVertex + toDec(tvface.x)
local ty = baseTVertex + toDec(tvface.y)
local tz = baseTVertex + toDec(tvface.z)
local n = baseNVertex + f
format "f %/%/% %/%/% %/%/%\n" x tx n y ty n z tz n
flushStringStream
)
else (
format "f % % %\n" x y z
)
)
format "\n"
baseVertex = baseVertex + m.numVerts
baseTVertex = baseTVertex + m.numtverts
baseNVertex = baseNVertex + m.numFaces
)

function PrintObj = (
outputHeader()
for c in rootNode.children do outputNode c
outputFooter()
)

PrintObj()
Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S

BeRSeRKeR

 Como me imaginaba exporta dos listas de caras. Una para las coordenadas de vértice y otra para la de texturas de forma que en algunos casos el número de caras de coordenadas de vértice y de textura no coinciden y se debe hacer justo lo que hago yo para evitar vértices duplicados, etc.

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

BeRSeRKeR

 Esto no tiene nada que ver con mi exportador pero sí con gmax.

Resulta que me he enterado de una forma muchísimo más sencilla de copiar el contenido del MAXScript Listener de gmax. Lo único que hay que hacer es, pinchar con el botón izquierdo del ratón al principio del texto a seleccionar y sin soltarlo, arrastrar hacia abajo hasta que todo el texto esté seleccionado. Una vez seleccionado el texto, y sin soltar el botón izquierdo, presionáis el botón derecho del ratón y lo soltáis (repito, todo eso sin soltar el botón izquierdo). Ahora ya podéis soltar el botón izquierdo. Al soltar el botón derecho, os aparecerá el menú contextual de edición en el que podréis copiar el texto seleccionado y pegarlo donde queráis. :lol:

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

donald

Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S

BeRSeRKeR

 He actualizado los exporters de MD5 para MAX y GMAX.

Ahora soporta cualquier cosa como bone, siempre y cuando el modificador Skin lo soporte. Por ejemplo se podrían utilizar los bones estándar, biped, CAT...

He modificado algunas cosas más, pero todas ellas a nivel de código, el funcionamiento sigue siendo el mismo.

Descargas:
De momento el exporter para Character Studio lo he dejado de lado porque hay problemas con algunos tipos de pesos. Además, siempre se puede echar mano de la utilidad de Discreet (phy2skin) que te permite pasar un modelo con Physique aplicado, a Skin y entonces utilizar éste exporter para pasar a MD5. ;)

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

Lord Trancos 2

 Zankius por el update (ole)  
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)

donald

 cañero


gracias!

Mucha gente usa el biped pero con el skin(yo lo prefiero; nunca vi una desventaja que gmax no tuviera physique (si que no tuviera biped)).... :)

aparte de ese plugin, hay otros trucos para pasar  skin modifier ;)
Me paso por aquí de cuando en cuando (1 vez cada 3 o 4 meses) ...así que si no respondo a algo no es por antipático. ;) Posteo, y me acuerdo del foro tres meses después... ;)    :-S






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.