bennu3d

Started by l1nk3rn3l, May 21, 2008, 01:08:52 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

laghengar

ok, no lo sabía, es que no vi que se empleara esa función en el basic01. Después del comentario de windgate miré los modelos y vi que el basic01 era un md2, entonces fué cuando probé poniendo luz ambiente y woila, ya tengo textura. :P
!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

Windgate

¿Entonces el modelo .3ds y su textura funcionan correctamente? ¿De dónde has sacado modelos .3ds?

Como dije, estoy testeando los distintos formatos y ampliando un poco la info en la "documentación" de Bennu3D. Sobre el formato .x tras cansarme de probar estoy a punto de poner NO SOPORTADO, porque siempre me da error. Sobre el formato .3ds sólo hice una prueba con Link, del videojuego Zelda, y me salía su cabeza abajo...

¿Has probado suficientes .3ds como para asegurar que es al menos semi-compatible con Bennu3D? ¿Podrías pasarme los .3ds para hacer una pruebecitas y guardarlos en mi... colección privada? :-*

¿Los .3ds incluyen o al menos pueden incluir una animación como ocurre con los .md2 que a veces los cargas y ya salen animándose?
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

laghengar

No se tio, tendré que probar todo eso. El 3ds que llevé es de un ejemplo que viene con el curso de 3ds max que ahora estoy repasando. No tengo más modelos, sorry. Es posible que los vaya haciendo yo. Por cierto, lo de tener que poner luz ambiente para verse la textura me ha hecho pensar si sería posible luz dinámica, también tengo que hacer una prueba sobre eso.
!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

Windgate

Claro que se puede poner luz dinámica, añade al identificador de una luz una animación, por ejemplo lineal, y tendrás la luz moviéndose por el escenario de la misma forma que puedes mover un modelo.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Prg

Quoteok, no lo sabía, es que no vi que se empleara esa función en el basic01. Después del comentario de windgate miré los modelos y vi que el basic01 era un md2, entonces fué cuando probé poniendo luz ambiente y woila, ya tengo textura.
lo que pasa es que existe una propiedad que dice que la luz no los afecte, eso hace que no necesites hacer m8e_setambientligth para que se vean bien. la propiedad es:
M8E_MODELSETMATERIAL(modelo, EMF_LIGHTING,0);//not light in material
si pones 1 entonces la luz si lo afecta.

Quote¿Entonces el modelo .3ds y su textura funcionan correctamente? ¿De dónde has sacado modelos .3ds?
si, si funcionan, incluso algunas veces mejor que los ms3d :) yo los uso para árboles

QuoteComo dije, estoy testeando los distintos formatos y ampliando un poco la info en la "documentación" de Bennu3D. Sobre el formato .x tras cansarme de probar estoy a punto de poner NO SOPORTADO, porque siempre me da error. Sobre el formato .3ds sólo hice una prueba con Link, del videojuego Zelda, y me salía su cabeza abajo...
bueno, depende del model, tenía árboles que los ms3d no funcionaron, pero el x y 3ds si, así que no le pongas no soportado, mejor ponle que prueben con varios formatos.

Quote¿Has probado suficientes .3ds como para asegurar que es al menos semi-compatible con Bennu3D? ¿Podrías pasarme los .3ds para hacer una pruebecitas y guardarlos en mi... colección privada? Beso

je je, yo tengo algunos :) si quieres luego te los paso,y también una página llena de ellos

Quote¿Los .3ds incluyen o al menos pueden incluir una animación como ocurre con los .md2 que a veces los cargas y ya salen animándose?
no

con mi visor 3d que viene en el editorfpg pueden ver qué modelos cargan las librerias... bueno, es más fácil hacer un código vd? je jeje
QuoteClaro que se puede poner luz dinámica, añade al identificador de una luz una animación, por ejemplo lineal, y tendrás la luz moviéndose por el escenario de la misma forma que puedes mover un modelo.
puedes agregarle el identificador a un animador o puedes moverlo directamente con m8e_posmodel :)
y modificar sus propiedades para cmabiar su color y radio y demás propiedades :)
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Windgate

Je je je, eres una Biblia Prg.

¿Tienes algún .x y .3ds que puedas pasarme para probar que ese formato sí que está soportado y añadirlo en mi "edit" del "manual" de Bennu 3D?

Desde el blog del m8ee accedí a la sección de modelos y el pack de Star Wars son todo .x y probé unos 10 sin que ninguno me funcionase.

Y hablando de otra cosa, estoy preparando una sencilla función cargar_modelo que le pasas una string con la ruta del modelo y automáticamente le aplica tanto el material como la textura en la misma ruta, con el mismo nombre pero extensión .png (El formato de imagen que siempre uso).

¿Alguien sabe alguna función SENCILLA para obtener la subcadena quitando el ".loquesea"?

Se me ocurre hacer substr 1 a 1 hasta llegar al punto, pero si hay alguna función como las de C que te "corta" la cadena al llegar a un determinado char... Odio las funciones de cadena, si nadie sabe la solución mágica me pongo a probarlas una a una y ya está :P
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Drumpi

#246
Si: substr(cadena,0,-4)
Con eso eliminas los 4 últimos caracteres... ahora, si la extensión es de menos o de más entonces si que tendrás que ir examinando la cadena de atrás a adelante.

Por cierto ¿se soporta el .max? lo digo porque el 3DSMax sólo guarda en ese formato. Tiene la función "exportar" a 3DS pero no se si funcionaría ni lo que exportaría.

EDIT: espera, había una función que separaba la cadena en subcadenas dándole el caracter que quieres que las divida, a ver....... no me acuerdo.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Windgate

Sí Drumpi, lo había pensado, pero el formato .x se salta la regla xD

En cualquier caso creo que podría prescindir de ese formato, lo odio, lo he probado mucho y no consigo que me cargue bien ningún modelo >:(

Prueba a exportar, no he exportado con 3D Max, pero con Wings 3D me dejó bastante satisfecho la experiencia, simplemente funciona.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Prg

el max no funciona. creo.
usa find(".") en la cadena invertida con strrev() o algo así y mételo en el substr de esta forma busca el primer punto del nombre.

aquí hay un modelo extención x y uno 3ds de árboles, verás que se cargan muy bien, eso si, no se cargan con el alpha activado, pero se hace mediante código en el bennu3d, sin embargo si se cargan correctamente :)

http://www.mediafire.com/download.php?zimntiv3zmj
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Drumpi

He encontrado el nombre de la función, la tenía en una copia de seguridad.
En Fenix se llamaba "split", tendrás que echar mano de wikis y demás para buscar info:

DWORD SPLIT(STRING expresión, STRING cadena, POINTER array, INT tamaño)

Descripción

A partir de una expresión regular, esta función divide la cadena original en partes. Para ello debe recibir un puntero a un array de STRINGs, y un número máximo de elementos, que será la longitud del array en sí. Por ejemplo, si la cadena original es "12/04/1980" y la expresión regular es "/", la función guarda las cadenas "12", "04" y "1980" en las tres primeras posiciones del array y devuelve 3.

Es importante notar que la cadena con los separadores es una expresión regular. Es posible por ejemplo poner clases de caracteres, por ejemplo, así que la cadena "[/- ]" dividiría la cadena allí donde hubiera un caracter "/", un caracter "-", o bien un espacio. El uso de expresiones regulares es un concepto avanzado en sí mismo, se recomienda consultar la función REGEX para obtener más información.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Windgate

Arg, estuve utilizando split en su día para algo... En Fenix, y no me convenció su funcionamiento, luego pasé a Bennu y tuve tanto por hacer que abandoné ese proyecto...

La idea de Prg me parece válida, me haré una FUNCTION string quitar_extension ( string cadena ) y aunque sea "fea por dentro" mientras funcione bien me sirve.

Grasias a los 2!

PD: Probando esos modelos Prg, si tengo algún problema te humillaré!
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Windgate

Modelos probados y funcionan, tanto el .x como el .3ds

Pero tengo una pregunta, me has pasado 2 modelos y 3 archivos de textura, ¿Hay alguna forma de aplicar 2 texturas al mismo modelo o algo así? ???

Luego he probado a "mejorar" la apariencia de los modelos así:

M8E_MODELSETMATERIAL ( identificador , EMF_ANISOTROPIC_FILTER + EMF_GOURAUD_SHADING + EMF_ANTI_ALIASING , 1 );

En teoría lo anterior aplica Gouraud y suavizado de bordes, entre otras cosas. Gouraud consigue una sensación de iluminación que hace que las aristas no se distingan y que se disimulen los polígonos, pero he hecho la prueba y veo que en algunos modelos no se aplica bien, especialmente los árboles que me has pasado, al iluminar el tronco algunos polígonos se quedan totalmente amarillos (Color de la luz) y no debería ser así.

No sé si será problema de Bullet... El algoritmo de Gouraud lo tengo en Bennu para mi visor 3D y funcionaba perfectamente, aunque seguramente el código no sea el más eficiente del mundo :P
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

l1nk3rn3l

los .X solo se pueden cargar los que tengan formato assci (texto)
no se soportan comprimidos ni encriptados... creo que no aguanta animaciones
no he probado..

modelos animados solo soporta(.MD2,MILKSHAPE MS3D, MD3, B3D, )

ver             
http://irrlicht.sourceforge.net/features.html

modelos estaticos creo que el resto de formatos...

.

Windgate

Lo de los modelos animados que soporta estaba probándolo y me temía eso, gracias, me lo anoto xD

En cuanto a los .x he probado varios del pack de modelos de star wars y logro visualizarlos como documento de texto correctamente, pero dan error al cargarse... Seguramente sea por el tipo de codificación, lo tendré en cuenta cuando vuelva a probar.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Prg

hola, existe alguna versión actual de las librerías 3d que funcione con la nueva estructura de bennu (Me refiero a que no de el error de "bgdrtm.dll nof found")?

quedo en espera de la respuesta, saludos :)
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)