[GAME] Proyecto experimental Hiper3D

Proyectos en Desarrollo.

[GAME] Proyecto experimental Hiper3D

Postby SimulatorOne » Wed Nov 07, 2012 3:07 am

Hola

des de hace unos dias, he estado investigando el modulo Hiper3D:
viewtopic.php?f=205&t=1059

y luego intentando buscar recursos 3D y algun editor...
viewtopic.php?f=56&t=4769

Gracias a este editor: MilkShape (DirectX Mesh Tool) y el misfit3dv1.3.8
Ya puedo importar los modelos 3D DirectX(.X)

La conversion es esta: DOGA-L3:DirectX(.X)-> MilkShape (DirectX Mesh Tool):.ms3d -> misfit3dv1.3.8: MD2

y convertirlo al MD2 que soporta el Hiper3D.

Utilizo el DOGA-L3: http://www.doga.co.jp/english/english_t ... ts/L3.html
Japones:(y descarga): http://doga.jp/2008/programs/dogal/dogal3/index.html

Es un sencillo editor de modelos 3D,Render 3D y alguna cosa mas. que funciona por piezas 3D. no se retocan poligonos, solo dejan estiralos,rotarlos.
Image

Esto es una muestra de algunos modelos 3D y algun proyecto 3D con DarkBasic Pro.
Hidden content: Show
ImageImageImageImageImageImage
ImageImageImageImageImageImageImageImageImage


Estas son TODAS las piezas que se pueden utulizar para la creacion de tu modelo 3D:
Hidden content: Show
ImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImageImage


Pues quiero realizar un experimento para comprobar que rendimiento y que puede soportar el modulo Hiper3D.
Lo que esta claro es que contra mas Resolucion/dimensiones tenga el Graph de renderizado 3D, es mas lento...

Mas simple, contra mas pixeles que necesita pintar el Render 3D, mas lento es.
Es decir: si enfocamos con la camara a un objeto muy distante.. que de lejos se ve muy pequeño, hira muy rapido.
pero en contra: si nos acercamos mas y mas al objeto, ira perdiendo velocidad, cada vez ira mas lento...

Todo depende el numero de pixeles en pantalla del Render3D necesita pintar cada frame.

Asi que hay que buscar ese equilibrio entre resolucion de pantalla y rendimiento que no sea muy lento.
todo depende de los FPS que queremos en nuestro proyecto.

De momento solo tengo un sencillo visor3D, para comprobar mis modelos 3D y ver si tienen impacto de rendimiento:
Source Code (Gemix) [ Download ] [ Hide ]
  • Program Visor_3D;
  • GLOBAL
  • M_V2X,M_V2Y;
  • MD2_MESH,MD2_OBJ;
  • MD2_TEXT_IM,MD2_TEXT_TX;
  • begin
  •     VISIBLE=joy_status=false;
  •        
  •         set_mode(640/2,480/2,32,1,2,0);set_fps(60,1);
  •         M_V2X=MODE_GET_WIDTH()/2;M_V2Y=MODE_GET_HEIGHT()/2;
  •  
  •         // Create main surface to render game in this..
  •         graph=MAP_NEW(MODE_GET_WIDTH(),MODE_GET_HEIGHT(),0,0,0);
  •        
  •         // call initializer of hiper3D library..
  •         init_hiper3d(0,graph);
  •        
  •         SCREEN_SET_COLOR(62,62,255);
  •         // set scene in background..
  •  
  •         chdir("MD2");
  •  
  •   MD2_MESH=load_mesh("modelo3d.md2");
  •   MD2_TEXT_IM=LOAD_IMAGE("textura.png");
  •   MD2_TEXT_TX=load_texture(0,MD2_TEXT_IM);
  •   MD2_OBJ=new_object(2,0,0,0,100,100,100);
  •   set_object_mesh(MD2_OBJ,MD2_MESH);
  •   set_object_texture(MD2_OBJ,MD2_TEXT_TX);
  •                
  •         CAMARA3D(250,650);
  •        
  •         WRITE(0,MODE_GET_WIDTH(),MODE_GET_HEIGHT(),8,&FPS);
  •        
  •         z=512;VISIBLE=TRUE;
  •         signal(id,s_freeze);
  •    frame;
  • end
  •  
  •  
  •  
  •  
  • //---------------------------------------------------------
  • process CAMARA3D(z=0,x=0,y=0);
  • begin
  •   visible=false;
  •         write(0,0,0,0,&x);write(0,50,0,0,&z);
  •         write(0,0,10,0,&angle);
  •         loop       
  •                 if(key(_a)or key(_left))angle+=1000;
  •                 SET_OBJECT_ROTATION(MD2_OBJ,0,angle/10,0);
  •                 end
  •                 if(key(_d)or key(_right))angle-=1000;
  •                 SET_OBJECT_ROTATION(MD2_OBJ,0,angle/10,0);
  •                 end
  •                 if(key(_w)or key(_up))x-=5;end
  •                 if(key(_s)or key(_down))x+=5;end
  •                 if(key(_r))z+=5;end            
  •                 if(key(_f))z-=5;enD                            
  •  
  •                 set_camera_position(y,z,x);
  •        
  •                 if(key(_esc));exit(0,0);end            
  •                 frame;
  •         end
  • end
  •  


De momento no tengo detalles precisos sobre el rendimiento y el detalle 3D que puede soportar.
depende de los FPS y la resolucion de salida del render 3D. y tambien si cuando la camara de juego enfoca a un objeto(o mas de uno) de tal manera que tape topa la region de dibujo del render 3D.
Esta claro que contra mas pixeles necesita pintar, mas lento funciona.

Que estoy haciendo ahora:
Por ahora voy creando un modelo 3D un poco LowPolygon... aun asi, me permitido mas poligonos de lo normal.
y de momento tengo suerte.
por ejemplo la mano que se ve en el editor 3D... con todo el brazo y cuerpo...
un total de 232 poligonos
y me lo aguanta bien.
Yo lo exporto como 2 Objetos 3D, la razon es para aplicar una textura a cada OBjeto 3D

limitacion de Hiper3D y MD2:
por desgracia del formato MD2 que no es capaz de soportar multiples archivos de texturas(Varios Materiales/Grupos)a la vez, en un unico Modelo3D.
Asi que no tengo otra que Dividir el Modelo3D, por las texturas que usa.
1 modelo 3d/Objeto 3D == 1 Textura.


COSAS QUE NO EXISTE EN HIPER3D :cry: :cry: :cry: :cry:
-Una IMPORANTE limitacion del Render Hiper3D(y quizas el MD2) es que NO soporta Texturas con transparencias/canal Alpha. :cry:
-Tampoco no se puede setear a un Objeto 3D que tenga un grado de transparencia un alpha, como un proceso normal 2D con la Local Alpha.
-Faltaria Iluminacion(un punto de luz) y Foggin(niebla como el modo7)

Si tubiera esas cosas, yo ya tendria suficiente, para un buen resultado 3D.


De momento voy practicando en crear, exportar, y probar el resultado.

Quizas me atreva a cargar un complejo Modelo3D de unos 512 o 1000 poligonos, aver si es capaz de cargarlo , mostrarmelo en el Render3D y ver que rendimiento tiene.
Si veo que el Render3D no le afecta mucho el numero de Poligonos del Objeto (o Objetos) pintado, quiere decir que solo hay que tener cuidado con la Resolucion de pantalla del Render3D.

de momento con 232 Pologonos a la vez, visto en toda la pantalla, me tira bien a 60FPS :)

Sigo investigando.

PD: por favor no me recomienden OTROS editores 3D, me resultan muy complejos. ya estoy bien con el sencillo DOGA-L3.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [GAME] Proyecto experimental Hiper3D

Postby SimulatorOne » Thu Nov 08, 2012 2:24 am

280 poligonos y suviendo... de momento va muy bien, no noto relentizaciones. :)


ya he probado de usar una textura PNG de 32bits con canal apha...

pero el Render 3D, no es capaz de pintarme tras el color transparente de la textura...
si no que NO pinta el pixel de color que corresponde a un objeto de atras...

en cambio NO pinta ese pixel de la textura transparente, pero SOLO queda bien en un fondo sin nada xDD

Flechas Rojas, indico donde esta el fallo de pintado de la transparencia de la textura, pintando el color del fondo, y no el color del objeto 3D tras la textura...
Flechas Verdes, donde queda bien la transparencia de la textura, solo se ve el fondo.

Para algunas cosas puede quedar bien... pero para otras cosas no.
es una limitacion que la destaco mucho y me fastidia mucho.
no tengo otra que ELIMINAR ese canal alpha y pintarlo en opaco, quedando muy cutre....
You do not have the required permissions to view the files attached to this post.
User avatar
SimulatorOne
 
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona

Re: [GAME] Proyecto experimental Hiper3D

Postby KingPirux » Wed Dec 19, 2012 2:39 pm

interesante!! :D tendrías que arriesgarte y usar algunos diseños predefinidos y sobrecargar el soft para ver hasta donde aguanta, y luego ir retirando objetos para ver cual sería el limite en tu maquina.
Hay que recordar que sin importar el soft, el hardware será quien tenga la ultima palabra sobre renderizados en 3d
User avatar
KingPirux
 
Posts: 91
Joined: Mon Dec 17, 2012 1:22 am
Location: Argentina


Return to Proyectos WIP

Who is online

Users browsing this forum: No registered users and 6 guests