bennu3d

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

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Windgate

#225
Funciona! Simplemente he renombrado los parámetros a ix, iy, iz.

En cuanto al problema para poner floats como parámetros Splinter, ¿Existe ese problema finalmente?

EDIT: He descargado los modelos del repositorio y tengo problemas con los modelos .x, ya que ninguno de ellos me lo reconoce con M8E_LOADANIMODEL ( ), con los modelos .mdl también tengo problemas para aplicar la textura, el modelo se carga bien pero el M8E_LOADTEXMODEL ( ) no le aplica su textura correspondiente :(

Como ya dije, estoy ampliando la información de la documentación 3D, y estoy añadiendo junto a las extensiones su compatibilidad (Best, Good, Poor) en función de los problemas que estoy teniendo o no con las distintas extensiones que estoy probando.

Si alguien quiere aportar algo por su experiencia personal bienvenido sea.
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

splinter_work

no, no hay error con los floats... por eso tache el texto ese...

no entiendo que no te funciona... la cosa es que si usas la ultima version, tenes que aplicar parche y tenes que recompilar tus dcb.

gracias por el reporte del bug... me olvide dartelas... asi que un karma...

Prg

QuoteFunciona! Simplemente he renombrado los parámetros a ix, iy, iz.
ehm, y el que te pasé con los parámetros de _bx, _by, _bz no te funcionó?

en cuanto a los formatos que me dices yo solía usar el ms3d, y algunas veces 3ds porqe el ms3d algunas veces da problemas, también el x, pero no se qué versión uses, ya que actualmente no me he actualizado de nada, no he escrito nada de código  :'( ... a ver si luego ...
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

laghengar

Oye, ya que estamos con lo de los modelos, ¿que formato creeis que es mejor para bennu3d?

Assias.
!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

l1nk3rn3l

#229
muchas gracias splinter por contestar las preguntas,
es que estaba fuera de la ciudad en el trabajo,

la fisica para mover caracteres (personajes controlados por las teclas up,down,left,etcccc)

ya esta terminada y se puede ver en el foro de irrlicht, pero
no he tenido tiempo de pasarlo a bennu.. estos dias le dedicare
para por lo menos tener eso, la otra fisica como la de carros
todavia no la he implementado , pero estara disponible despues(en breve),

bullet es tan bueno con colisiones que lo recomiendo con modelos estaticos de tan bajos
poligonos como los de scketup. cosa que irrlicht no es tan bueno(colisiones )

para modelos con animaciones recomiendo milkshape/md2/md3/b3d
si alguien desea modelos en la misma pagina del bennu3d hay para descargas cientos...

estoy implementando un sistema de colisiones con bullet, que hacer algo
sera tan simple como comparar 2 variables..(para saber la colision)

bueno espero volver con buenas noticias.


laghengar

#230
Bueno ahora me pasa otra cosa, cargo el modelo y se muestra muy bien, luego cargo la textura, y no hay problemas (compila bien, la textura la carga pero el modelo se ve saturado de blanco)

El problema es al hacer M8E_LOADTEXMODEL(modelo_robot,textura_verde);

ahí me peta. No se que ocurre, salta un mensaje de error en bgdi.exe tiene que cerrar la aplicación y se va.

Hay un problema con esa función o no lo estoy haciendo bien???

Perdonad, se me ha olvidado poner que el modelo es un 3ds y la textura un bmp.

Gracias por vuestra atención.


!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

Prg

podrías poner el código (completo)...

no debería haber problemas,
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

laghengar

#232
Por supuesto  ;D

[code language="bennu"]
program cargar_mapa_bsp;

include "import1.prg" //aquí inserto los mod necesarios

global
mapa;
entity3d camara,robot;
modelo_robot;
textura_verde;
begin  
set_mode (800,600,32);                    
set_fps (60,0); //max.    
 
M8E_INIT(EDT_OPENGL);
if(M8E_SCREENEXIST()==false)
   let_me_alone();  //kill fenix process
   M8E_FREE();   //free resources
   exit("Fallo en la creación de la escena",0);
   end

M8E_ADDZIPFILE( "bsp\ogretestmap.zip") ; //add a zip file
mapa=M8E_LOADMODELEX("ogretestmap.bsp",128);
camara=Entity3dcamera(0,0,0,100,0,0);
proceso_camara();
Show_Fps(400,10,255,0,0,0);

modelo_robot=Entity3DAnimated(".\media\3ds\robot.3ds");
textura_verde=M8E_LOADTEXTURE(".\media\tex\textura01.bmp");
M8E_LOADTEXMODEL(modelo_robot,textura_verde);             //PETA POR ESTA LÍNEA

repeat
M8E_RENDER(0,0,0,255);

frame;
until(key(_esc))

let_me_alone();  //kill fenix process
M8E_FREE();   //free resources  
end

//////////////////////////////
proceso_camara()
private
_pos3d objetivo;
begin
entityy(camara)=100;
loop
if(key(_left))
   entityroty(camara)+=5000;
   end
if(key(_right))
   entityroty(camara)-=5000;
   end
if(key(_up))
   entityx(camara)+=cos(entityroty(camara))*5;
   entityz(camara)+=sin(entityroty(camara))*5;
   end
if(key(_down))
   entityx(camara)-=cos(entityroty(camara))*5;
   entityz(camara)-=sin(entityroty(camara))*5;
   end
if(key(_w))
   entityy(camara)+=1;
   end
if(key(_s))
   entityy(camara)-=1;
   end
objetivo.x=entityx(camara)+cos(entityroty(camara));
objetivo.y=entityy(camara);
objetivo.z=entityz(camara)+sin(entityroty(camara));
m8e_camtarget(m8e_getactivecam(),objetivo);
frame;
end
end[/code]
!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

Prg

creo que ya encontré el error, el error es que intentas ponerle la textura a algo que no es el modelo.
yo no uso Entity3DAnimated para cargar modelos, yo uso m8e_loadanimodel lo cual devuelve un código que puedo usar con loadtexmodel.

si quieres obtener el código del model tienes que usar la función EntityModel(modelo_robot) donde modelo robot es loque te retorna Entity3DAnimated.

así tu código quedaría:

modelo_robot=Entity3DAnimated(".\media\3ds\robot.3ds");
textura_verde=M8E_LOADTEXTURE(".\media\tex\textura01.bmp");
M8E_LOADTEXMODEL(EntityModel(modelo_robot),textura_verde);           


hay más info en el basic 01. yo no he usado entidades, ni el sistema actual, prefiero el antiguo... je je je... :) pero estoy casi seguro que ese es el error. saludos :)
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

laghengar

Bueno, después de trastear un poco, solo he conseguido que ahora el modelo en vez de verse blanco, se ve negro saturado  ;D. No enlaza la textura, no se, tendré que explorar un poco el m8ee.h a ver.

textura_verde=M8E_LOADTEXTURE(".\media\tex\textura01.bmp");
modelo_robot=M8E_LOADANIMODEL(".\media\3ds\robot.3ds");

M8E_LOADTEXMODEL(modelo_robot , textura_verde );

Gracias por todo.

Por cierto prg. he visto que en el basic 01 , el modelo se carga con ent=entity3danimated(); cuando ent es una estructura tipo entity3d. he intentado hacer eso mismo pero me salta un error de estructura. Lo curioso es que compilando el basic01 que tiene la misma operación, termina perfectamente. entonces no entiendo. Lo dicho, tengo que estudiarme el m8ee.h

Un saludo.
!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

Windgate

La única vez que probé con un .3ds me cargó la cabeza del muñeco en los pies, y creo recordar que la textura ya la tenía incorporada... En cualquier caso, si se te ve todo negro podrías probar a aplicarle un material por defecto y una luz, no vaya a ser que los .3ds requieran un foco de luz para poder verlos... No lo sé a ciencia cierta, es lo primero que se me ocurre :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

laghengar

na. gracias tio de todas formas. Se me ha ocurrido que puede ser por ser un 3ds, aunque no lo veo lógico. Bueno voy a buscar las otras extensiones a ver que tal.
!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

Windgate

Prueba a exportar a .obj o similar... Hace tiempo que no uso 3D Studio y no probé a exportar y volver a cargar.
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

Tio, ya está solucionado. Vale todo lo que tenía hecho, pero faltaba esto:

M8E_SETAMBIENTLIGHT(255,255,255,0);

.........
textura_verde=M8E_LOADTEXTURE(".\media\tex\textura01.bmp");
modelo_robot=M8E_LOADANIMODEL(".\media\3ds\robot.3ds");

M8E_LOADTEXMODEL(modelo_robot , textura_verde );
.................
Ahora si muestra la textura. Manda huevos.  :-[. Bueno por lo menos ahora se por donde tirar un poco.

!!!Blender Blender Blender yuhuuuuuuu¡¡¡ novato o_O

Prg

esto lo que hace es pone una luz ambiental. lo que pasa es que tenías la luz por defecto 0,0,0,0, lo cual es todo negro, pero al poner esta linea hay luz y las texturas se ven :)

M8E_SETAMBIENTLIGHT(255,255,255,0);
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)