Autor Tema: bennu3d  (Leído 317371 veces)

l1nk3rn3l

  • Hero Member
  • *****
  • Mensajes: 2004
  • Karma: 257
Re: bennu3d
« Respuesta #105 en: Mayo 13, 2009, 10:23:52 pm »
dentro del editor hay un tutorial bien completo para crear niveles.. en PDF

y por cierto josebita se ofrecio para crear la version de linux
osease compilarlo para linux ya que la libreria es 100% portable,
en cuanto termine la fisica habra una version para linux,

y claro haber quien se ofrece para traducirlo se incluye el archivo
de openoffice del tutorial, ya que no quedo tiempo.(dentro del paquete esta)
« última modificación: Mayo 13, 2009, 10:34:02 pm por l1nk3rn3l »

josebita

  • Administrator
  • *****
  • Mensajes: 4039
  • Karma: 257
    • BennuGD Mobile Worklog
Re: bennu3d
« Respuesta #106 en: Mayo 14, 2009, 12:42:49 pm »
Cuando lo tengas, avisa.

Prg

  • Hero Member
  • *****
  • Mensajes: 1569
  • Karma: 140
    • Mi pagina
Re: bennu3d
« Respuesta #107 en: Mayo 17, 2009, 11:10:13 pm »
hola amigo, disculpa ¿hay alguna función para saber si un punto está dentro del campo de visión de la cámara? ... gracias.
otra cosa:
los terrenos no se pintan completamente, hay partes donde aunque hay colisiones, el terreno no se ve. (en un extremo), como si no se terminara de crear
« última modificación: Mayo 18, 2009, 12:08:14 am por Prg »
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

l1nk3rn3l

  • Hero Member
  • *****
  • Mensajes: 2004
  • Karma: 257
Re: bennu3d
« Respuesta #108 en: Mayo 19, 2009, 02:57:29 pm »
¿hay alguna función para saber si un punto está dentro del campo de visión de la cámara?
no, pero la incluire como sugerencia..

los terrenos no se pintan completamente?
bueno, lo revisare, que funcion usas para el terreno

otro preview este es un efecto postproceso llamado "invertido"


« última modificación: Mayo 19, 2009, 03:24:23 pm por l1nk3rn3l »

Prg

  • Hero Member
  • *****
  • Mensajes: 1569
  • Karma: 140
    • Mi pagina
Re: bennu3d
« Respuesta #109 en: Mayo 19, 2009, 09:33:16 pm »
el efecto se ve genial, es el efecto negativa, utilizado al morir, o para algunos poderes especiales... (ya le estoy encontrando usos  :D)

así cargo el mapa y se ve el problema.
[code language="bennu"]/*
  MODE8 ENHANCED ENGINE
  ColDev (C) 2004   
  ----------------------                 
 
  -M8EE 3D Engine, Fase Beta -
 
  TEST  LOAD TERRAIN
 
  PRUEBA DE CARGA MAPA DE ALTURAS 
 
*/

include "m8ee.h"

global
  modelo,camara;
  terreno;

  float posx,posy,posz;
  cambio=false;
 
  i,tercolision,animadorcol;     
end;
       
       
       
       
 //camera process                     
process camarappal()
private
    _Pos3D pos1,pos2,pos3;
    actualizarpos,actualizartarget;
    vel=2;
    vel_giro=60;
   
   
begin
  actualizarpos=false; actualizartarget=false;

  pos1.x=0; pos1.y=0; pos1.z=0;
  pos2.x=0; pos2.y=0; pos2.z=0;
  angle+=vel_giro;
  M8E_GETPOSMODEL(camara, pos3); //get camera position
   
    pos3.x+=pos1.x; pos3.y+=pos1.y; pos3.z+=pos1.z;
    
    actualizarpos=false;  M8E_POSMODEL(CAMARA, pos3);                                                                               
    actualizartarget=false; M8E_CAMTARGET(CAMARA, pos2);     
   
    pos1.x=0; pos1.y=0; pos1.z=0;
loop

  if(key(_d) or key(_right))
      angle+=vel_giro;
      M8E_GETPOSMODEL(camara, pos2);
      pos2.x+=get_distx(angle,100);   
     pos2.z+=get_disty(angle,100);
     actualizarpos=1;
  end 
  if(key(_a) or key(_left))
     angle-=vel_giro;
     M8E_GETPOSMODEL(camara, pos2);
        pos2.x+=get_distx(angle,100);   
     pos2.z+=get_disty(angle,100);
     actualizarpos=1;
  end   
  if(key(_w) or key(_up))
    pos1.x+=get_distx(angle,vel);
    pos1.z+=get_disty(angle,vel); 
   
    M8E_GETPOSMODEL(camara, pos2);
    pos2.x+=get_distx(angle,100);   
   pos2.z+=get_disty(angle,100);     
    actualizarpos=true;
  end     
  if(key(_s) or key(_down))
    pos1.x-=get_distx(angle,vel);
    pos1.z-=get_disty(angle,vel);
   
    M8E_GETPOSMODEL(camara, pos2);
    pos2.x+=get_distx(angle,100);   
   pos2.z+=get_disty(angle,100);     
    actualizarpos=true;
  end
  if (actualizarpos or actualizartarget)
    M8E_GETPOSMODEL(camara, pos3); //get camera position
   
    pos3.x+=pos1.x; pos3.y+=pos1.y; pos3.z+=pos1.z;
    
    actualizarpos=false;  M8E_POSMODEL(CAMARA, pos3);                                                                               
    actualizartarget=false; M8E_CAMTARGET(CAMARA, pos2);     
   
    pos1.x=0; pos1.y=0; pos1.z=0;
  end;
   
  frame;       
End;
   
end;

   
   
   
 
   
begin

  full_screen=false;
 
  set_mode (640,480,32);
  set_fps (0,0); //max.
             
   M8E_INIT(edt_direct3d8);   
   
 
if (M8E_SCREENEXIST()==1   ) 
   M8E_SETTEXTFLAG(ETCF_CREATE_MIP_MAPS,1);
   M8E_SETTEXTFLAG(ETCF_OPTIMIZED_FOR_SPEED,1);   
   
//CARGA TERRENO   

   terreno=M8E_LOADTERRAIN("media\text\heightmap.jpg");         
   M8E_LOADTEXMODEL(terreno,M8E_LOADTEXTURE(  "media\text\Fluidos10.jpg"));
   M8E_MODELSCALE(terreno, 150, 4.4, 150);
   M8E_MODELSETMATERIAL(terreno, EMF_LIGHTING,0); 
   
   M8E_MODELMATTYPE(terreno, EMT_SOLID);//"solid" is fast render with terrain                           
   

   posx=255*150-1000; posy=255*2; posz=255*150-1000;
   
   camara=M8E_ADDCAM(posx,posy,posz, 2397*2,343*2,2700*2);;//camara en primera persona
   M8E_CAMSETFAR(CAMARA,12000);             
 
   
//--------------------------------------------     
//adiciona colision
   //tercolision=M8E_ADDCOLTERRAIN(terreno);//collision terrain

//adiciona un animador de colisiones para q responda automaticamente 
//create collision animator(auto response)
   //--->M8E_ADDANIMCOL(colision,model, ellipsoidRadiusx,y,z,  gravityPerSecondx,y,z,   ellipsoidTranslationx,y,z)
   //M8E_ADDANIMCOL(tercolision,camara, 10,10,10,  0,-3,0,  0,0,0);   

   
   //-->M8E_ADDCOLTERRAINFAST(model,terrain,navHeight,MaxHeight,GlueEnable,Gravity x,y,z)
   M8E_ADDCOLTERRAINFAST(camara,terreno,20,1150,true,0,0,0); //coldev fast terrain collision

   camarappal();
   
   Show_Fps(450,50,  255,255,255,255);
   
   loop           
         
    if (key(_esc) ) break; end;   
   
    M8E_RENDER(0,0,0,0);    //(alpha, r,g,b)     
    frame;       
  end;                     
 
end; 
         
  let_me_alone();       
         
  //libera recursos 
  M8E_FREE(); 

 
end[/code]
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

l1nk3rn3l

  • Hero Member
  • *****
  • Mensajes: 2004
  • Karma: 257
Re: bennu3d
« Respuesta #110 en: Mayo 20, 2009, 06:05:00 pm »
hay una opcion de la camara creo que set_far

debes incrementarlo para que se vea mas lejos

creo que debe ser eso..

bueno el editor bsp tiene ya un manual en español
http://3dm8ee.blogspot.com/





..

« última modificación: Mayo 20, 2009, 06:19:07 pm por l1nk3rn3l »

Prg

  • Hero Member
  • *****
  • Mensajes: 1569
  • Karma: 140
    • Mi pagina
Re: bennu3d
« Respuesta #111 en: Mayo 20, 2009, 11:13:55 pm »
mmm setfar lo que tiene es que incrementa el campo de visión de la cámara, mi problema es que el mapa no se pinta, aunque esté pisándolo. provaste el código de arriba? verás que apareces en una zona en que el mapa no está pintado, pero hay gravedad, y es una zona que de acuerdo a la medida del jpg multiplicada por el escalado el mapa debería pintarse.
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Prg

  • Hero Member
  • *****
  • Mensajes: 1569
  • Karma: 140
    • Mi pagina
Re: bennu3d
« Respuesta #112 en: Mayo 22, 2009, 05:32:21 pm »
te paso un heightmap para que veas lo que pasa:

en este, deberían haber 4 paredes de montañas en los  lados del mapa, pero en el terreno de bennu sólo se pintan 2, las otras dos no alcanzan a ser pintadas.

oye, exactamente qué hace cada una de estas ....., algunas ya las he utilizado, pero hay muchas que no se qué hagan exactamente

EMF_WIREFRAME=1h;  //hace que el model se presente en trama de alambre
EMF_POINTCLOUD = 2h;
EMF_GOURAUD_SHADING =4h;
EMF_LIGHTING=8h;        //activa que se calcule la luz en la superficie
EMF_ZBUFFER =10h;
EMF_ZWRITE_ENABLE =20h;
EMF_BACK_FACE_CULLING=40h;
EMF_FRONT_FACE_CULLING= 80h;  //parece que cambia las caras que se pintan de atrás hacia adelante (yo para eso las uso)
EMF_BILINEAR_FILTER =100h;
EMF_TRILINEAR_FILTER =200h;
EMF_ANISOTROPIC_FILTER =400h;
EMF_FOG_ENABLE=800h;             //activa la niebla en el cuerpo
EMF_NORMALIZE_NORMALS= 1000h;
EMF_TEXTURE_WRAP = 2000h;
EMF_ANTI_ALIASING= 4000h;
EMF_COLOR_MASK= 8000h;
EMF_COLOR_MATERIAL= 10000h;

//se pueden tener varios a la vez en un solo modelo
y todas las otras?


y de estas

EMT_SOLID =0;           //render más rápido
 EMT_SOLID_2_LAYER =1;
 EMT_LIGHTMAP =2;
 EMT_LIGHTMAP_ADD =3;
 EMT_LIGHTMAP_M2 =4;
 EMT_LIGHTMAP_M4 =5;
 EMT_LIGHTMAP_LIGHTING =6;
 EMT_LIGHTMAP_LIGHTING_M2 =7;
 EMT_LIGHTMAP_LIGHTING_M4 =8;
 EMT_DETAIL_MAP=9;
 EMT_SPHERE_MAP = 10;
 EMT_REFLECTION_2_LAYER =11;        //como material reflejante
 EMT_TRANSPARENT_ADD_COLOR = 12;                       //transparencia como flags 4
 EMT_TRANSPARENT_ALPHA_CHANNEL =13;                  //activa transparencia alpha
 EMT_TRANSPARENT_ALPHA_CHANNEL_REF =14;
 EMT_TRANSPARENT_VERTEX_ALPHA =15;
 EMT_TRANSPARENT_REFLECTION_2_LAYER =16;           //pensé que sería reflejo con transparencia, a´si que la puse a mi agua, pero no hizo nada
 EMT_NORMAL_MAP_SOLID =17;
 EMT_NORMAL_MAP_TRANSPARENT_ADD_COLOR =18;
 EMT_NORMAL_MAP_TRANSPARENT_VERTEX_ALPHA =19;
 EMT_PARALLAX_MAP_SOLID =20;
 EMT_PARALLAX_MAP_TRANSPARENT_ADD_COLOR =21;
 EMT_PARALLAX_MAP_TRANSPARENT_VERTEX_ALPHA =22;
 EMT_ONETEXTURE_BLEND = 23;
 EMT_FORCE_32BIT =24;

por cierto, las librerías son muy rápidas, en el test 1 alcanzo hasta 2364 fps :)
gracias por las librerías :)
« última modificación: Mayo 22, 2009, 06:08:00 pm por Prg »
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

l1nk3rn3l

  • Hero Member
  • *****
  • Mensajes: 2004
  • Karma: 257
Re: bennu3d
« Respuesta #113 en: Mayo 22, 2009, 06:36:53 pm »
te paso un heightmap para que veas lo que pasa...
lo revisare..



//se pueden tener varios a la vez en un solo modelo
y todas las otras?

SI TOdas a lavez excepto el wireframe porque por
ejemplo puedes tener wireframe y transparente, seria raro?
por eso usan falso y verdadero para activarse, puedes probar
combinaciones, pero por lo general no las he usado..



« última modificación: Mayo 22, 2009, 06:39:45 pm por l1nk3rn3l »

Sandman

  • Sr. Member
  • ****
  • Mensajes: 298
  • Karma: 48
Re: bennu3d
« Respuesta #114 en: Mayo 22, 2009, 11:48:45 pm »
Someone needs your help: http://www.bennugd.co.uk/viewtopic.php?id=20 .
1: Adding light sources doesn't seem to work.
2: How to draw dynamic text.
-- Sandman

Windgate

  • Hero Member
  • *****
  • Mensajes: 2930
  • Karma: 124
    • TRINIT Asociación de Informáticos de Zaragoza
Re: bennu3d
« Respuesta #115 en: Mayo 24, 2009, 10:21:56 am »
Una duda existencial... Aunque la Bennu3D va a cambiar, ¿Las funciones van a seguir siendo las mismas y/o con los mismos parámetros o va a haber cambios significativos?

Lo pregunto porque veo vuestros ejemplos de código y los veo calcados a la Bennu3D "anterior".

Ahora ando con Ubuntu a ver si puedo ejecutar mis juegos en Bennu3D con el Wine... No entiendo muy bien cómo funciona el Wine así que si alguien ha tenido algún contacto previo para usar Bennu3D que me diga algo please ???
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

  • Hero Member
  • *****
  • Mensajes: 1569
  • Karma: 140
    • Mi pagina
Re: bennu3d
« Respuesta #116 en: Mayo 24, 2009, 04:02:23 pm »
Citar
Una duda existencial... Aunque la Bennu3D va a cambiar, ¿Las funciones van a seguir siendo las mismas y/o con los mismos parámetros o va a haber cambios significativos?

link dijo que intentaría dejarlas lo más parecido posible para no afectarnos en nuestros anteriores proyectos.

disculpa link, en la física cómo vas, qué tan mejor será la nueva, sería bueno que nos presumieras algunos detalles frescos sobre esto...  ;)
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

l1nk3rn3l

  • Hero Member
  • *****
  • Mensajes: 2004
  • Karma: 257
Re: bennu3d
« Respuesta #117 en: Mayo 26, 2009, 03:57:15 pm »
http://3dm8ee.blogspot.com/


nueva version con las sugerencias incluidas ver basic03.prg

voy despasito pero a buen paso..

la fisica todavia no esta incluida, pronto pronto,, sed pacientes

Windgate

  • Hero Member
  • *****
  • Mensajes: 2930
  • Karma: 124
    • TRINIT Asociación de Informáticos de Zaragoza
Re: bennu3d
« Respuesta #118 en: Mayo 26, 2009, 05:24:02 pm »
Espero la física y la iluminación ansioso cual sabueso en época de celo :o

Lo primero que haré será probar directamente mis programas en el "antiguo" Bennu 3D a ver qué sucede y qué no xD
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

  • Hero Member
  • *****
  • Mensajes: 1569
  • Karma: 140
    • Mi pagina
Re: bennu3d
« Respuesta #119 en: Mayo 26, 2009, 09:11:18 pm »
http://3dm8ee.blogspot.com/


nueva version con las sugerencias incluidas ver basic03.prg

voy despasito pero a buen paso..

la fisica todavia no esta incluida, pronto pronto,, sed pacientes

ahhh, somos pasientes, pero cuando!!! ja ja ja,
la verdad me emociona mucho saber cómoo será la nueva física, estoy en periodo de examenes, pero aún así me doy mis escapaditas para deambular sobre terrenos 3d, ambientación e imaginar formas de usar la física de bennu 3d.
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)