posibilidad de crear un juego de tablero 3d con bennugd

Started by DCelso, May 05, 2009, 05:27:45 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DCelso

Gracias PRG, al final vas a hacer tu todo el trabajo ;D, mas vale que aprenda pronto.
Por otro lado, he intentado mover el dado con el ratón pero no me sale, a ver si lo averiguo mientras tanto.
Un vídeo muy bueno
http://www.youtube.com/watch?v=VhIvaWUxF1E

Edit
Uala lo que me encontré de chiripa
http://www.youtube.com/watch?v=Wmg0eKHZVRQ
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Prg

je je je, bueno, yo he hecho un código de ejemplo, lamentablemente al hacer las texturas y los modelos de las cartas, pues el peso se disparó a 2 megas... pero ahí te va.

en los modelos agregué luces, agregué luz al ambiente, y las liibrerías que yo uso, ya que las nuevas no las tengo (las bajaré de nuevo para ver si ya van, quiza se me corrompió la anterior descarga), agregué también un ejemplo de cambio de texturas, de giros de models, y quité el código de movimiento de la cámara, es necesario que te diga que al posicionar una cámara el cam_target es el punto al que la cámara voltea, en lugar de los ángulos de cada eje. por lo tanto el movimiento raro que mirabas es completamente correcto, ya que siempre se miraba al tablero, así que se producían giros y cosas de esas. poco a poco lo lograrás, ya verás.  :)

http://www.megaupload.com/?d=HR4HPLC7

esa es la descarga de mi demo je je
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

l1nk3rn3l

lo mejor para modelos sin animar y texturizar a nivel de caras
recomiendo quark, le dices nuevo model y listo lo
salvas como md2 o md3 que son los modelos del quake

http://quark.planetquake.gamespy.com/




y es gratis


Prg

hola, aquí hay algunos models que te  pueden interesar. no son exactamente tableros, pero tiene que ver con los juegos que te interesa hacer:
msa de billar en 3ds
http://artist-3d.com/free_3d_models/dnm/model_disp.php?uid=1761&ad=07misc_items.php&count=count

ajedrez en 3ds
http://artist-3d.com/free_3d_models/dnm/model_disp.php?uid=1845&ad=07misc_items.php&count=count

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

DCelso

PRG, no consigo poner bien la textura a la ficha.
He creado una ficha a partir del perfil y usando la herramienta de SPIN, he conseguido ponerle un material pero al ponerle una textura se me va de madre. Tengo el .blend, ¿qué es lo que tengo que hacer para extraerle ahora la textura y modificarla como hiciste con el dado?
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Prg

hola, tienes el editor uvmap que te pasé?, yo lo hice con él, pues con blender todavía no he revisado cómo hacerlo. para esta ficha (wow felicidades, está increiblemente bien hecha, parece que ya tienes tiempo en esto del modelado) dale (en blender) a file/export/wavefront(*obj), luego lo abres con el uvmapper: file/load_model luego que lo cargas le das a edit/new_uvma y seleccionas la que más se acomode a tu figura (yo utilizaré cilíndrical cap, puedes usar box o la que se ajuste mejor), luego das a file/savemodel y file/save_texture_map ya con eso has creado el modelo con la información de posicionamiento de textura y la textura a rellenar. te prometo que veré cómo se hace en blender cuando pueda

es fácil, tu puedes. este proyecto me llama mucho la atención por lo que comentabas de juego en linea, estaré muy al pendiente  ;)
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Prg

hola amigo, ya pude acomodar las texturas en blender, no encontré ningún tutorial de uvwrap en esta versión, y parece que uvmapping lo eliminaron, así que explicaré más o menos cómo le hago, esperando no cometer errores.

1) abre el model,yo lo hice con el cubo del comienzo
2) divide la venta 3d en dos (click derecho arriba, split area)
3) en el botón inferior izq de la ventana haz click y selecciona uv/image editor
4) haz click en image open y abre la imagen que le aplicarás
5) seleccina el model y haz click en select /linked uv (en la pantalla nueva), asegúrate que la imagen que cargaste se muestre en esta ventana, de lo contrario ha click en una doble flecha que aparece en el menú de abajo y selecciona el nombre de la textura que cargaste
6) en la ventana del model selecciona la vista de texturas (draw type /texture)
7) selecciona los vértices de la cara y luego presiona la u, selecciona uv wrap aparecerá una representación de la cara en la otra ventana, mueve los vértices en la textura para que la cara tome la textura,
8) repite el paso 7 con las caras hasta terminar, luego guarda el model y expórtalo a un formato que bennu soporte, como obj (wavefront). listo,
ya terminaste :)

espero me hayas ententido, cualquier cosa házmelo saber. si quieres que te ayude en algo, sólo dilo. saludos :)
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

DCelso

Vaya, he intentado seguir los pasos que comentas pero no se me ve la imagen y no puedo seguir, algo raro me ocurre.
Te pongo un video de lo que hize en formato swf a ver si eres capaz de detectar mi fallo.
http://www.mediafire.com/?untdzndwkgn

En cuanto a jugar en red, actualmente existe el programa zuntzu para ello, está muy bien porque es como un tablero real pero digital, osea no tiene reglas forzadas, todos pueden mover todo, dar la vuelta a todo y tirar todo, lo único que no pueden hacer es ver lo que tienen los demás en las manos. Está muy completo solo le falla el no ser 3d que es lo que intento hacer yo en este.
Si quieres pruébalo a instalar y a abrir el chinesenspiel para ver lo que pretendo hacer pero en 3d.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Windgate

Cielos, este hilo ha avanzado una barbaridad :o

He estado ocupadísimo cambiando de XP a Ubuntu y recuperando todo lo que me devoró un maldito virus, espero reenganchar pronto :'(

En cuanto eche el ojo a alguna versión os echo un cable, dejad el código 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

DCelso

Windgate siento desanimarte no hay versión que ver ni nada :(, está demasiado verde aún, na más que la que puse yo justo 12 posts atrás y con la que me respondió PRG justo después.
Estaba ahora haciendo pruebas sobre crear la ficha y ponerle texturas distintas, al igual que hicimos en el dado pero nada.
También empezé a intentar mover el dado con el ratón pero tengo que investigar más para poner un modelo al ratón, ver si ha colisionado con el objeto a mover, capturarlo y soltarlo. Uff mucho mucho queda queda, voy más lento que un caracol :D.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Prg

bien, te explico desde el select que no aparece:
tienes la imagen en un lado y el cubo en otro,
ahora haz click en el modelo y vete a la ventana de edición de vertices (tecla tab)
el modelo estará seleccionado completamente
presiona la tecla u y te aparecerá un mensaje, dale a unwrap, la ventana de la imagen cambiará, (aquí en la ventana de la textura apareciía una opcion que decía select y todo eso, acabo de hacerlo sin eso y funciona)
bien, ahora en la ventana del modelo pon que se visualice la textura, debe verse la textura en todas las cara, ahora selecciona los vertices de cada cara y modificamos su posicioón en la ventana de la textura, verás que conforme mueves los vértices se acomoda la ventana. no se cómo hacer videos como el tuyo, sino te lo enviaba je je je pero ya verás que ahora si podrás.

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

DCelso

Gracias PRG,
He conseguido hacer el dado con blender pero tengo una duda, ¿hay alguna forma de seleccionar un vértice en el modelo y moverlo en el editor UV?
Ahora mismo lo hago a ojímetro moviendo los vértices en en el editor UV y viendo que pasa, esto es un poco rollo :)

Por cierto te paso un videotutorial de cómo hace videotutoriales (toma disparo) por si quieres hacerlos, son facilotes y rapidísimos. Básicamente se reduce en hacer capturas de las pantallas mientras usas el programa y luego retocarlas para añadirle el texto explicativo.

http://www.mediafire.com/download.php?umjntleutnd
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Prg

ok amigo...  ;)

aprenderé a hacer videos.

no se a qué te refieres con
Quote¿hay alguna forma de seleccionar un vértice en el modelo y moverlo en el editor UV?
Ahora mismo lo hago a ojímetro moviendo los vértices en en el editor UV y viendo que pasa, esto es un poco rollo Sonrisa
lo que pasa es que si en la vista del model pones la opción de modo textura, se ve cómo va quedando la textura que aplicas a la cara.

draw type:
textured, shaded, solid, wireframe, boundingbox,
la opción textured te permite visualizar en tiempo real cómo va quedando la textura. es la opción donde ponde
este botón se encuentra a un lado de donde dice objet mode y edit mode .

estaba pensando en hacer un código para ratón, no se si pueda como estaba pensando (no recuerdo bien eso de vectores en 3d, tengo mi libro a la mano, pero está medio complicado pasar de problemas escritos a la realidad... je je je), si puedo te lo paso (gui y raycol, como el ejemplo del xna)
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

DCelso

Me refería a que cuando ya doy a unwrap en la ventana de la imagen aparecen los vértices pero no se identificar qué vertice corresponde con cada uno del modelo. Así que lo que hago ahora es seleccionar un vértice de la imagen y moverlo para ver como va quedando el modelo, un poco tosco. Preguntaba por si había alguna forma de identificar los vértices.

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Prg

QuotePreguntaba por si había alguna forma de identificar los vértices.
ya entendí, la verdad no se, quizá buscándole por ahí, aunque la verdad lo dudo.
¿ese es el dado?

ray col no está funcionando en la versión actual de las librerías, así que no podré hacer lo que quería, te paso un ejemplo de cámara y el ratón, para que el ratón detecte colisiones con objetos 3d esta es mi teoría:
un raycol que salga desde la posición de la cámara + la posición del ratón menos la mitad del ancho de la pantalla, y finalizando en un punto creado con una distancia grande, utilizando los ángulos de la cámara para crear un vector unitario algo así como
x=get_distx(angulox_camara*1000,1000);
le falta mucho, pero sin el raycol no puedo avanzar nada.

[code language="bennu"]process camara()
private
    _POS3D pos1,pos2;
    actualizarpos,actualizartarget;
    id_camara;
    float angulo;
    float dist=10;
begin
pos1.x=5;
pos1.y=10;
pos1.z=5;
pos2.x=0;
pos2.y=0;
pos2.z=0;

id_camara=M8E_ADDCAM(pos1.x,pos1.y,pos1.z,pos2.x,pos2.y,pos2.z);
light=M8E_ADDLIGHT(posicion.x,posicion.y+3,posicion.z+5,  250,250,250, 150);
while (not exists (id_tabl))
frame;
end
  M8E_CAMTARGET(id_camara, id_tabl.posicion);
  pos1.x=id_tabl.posicion.x+get_distx(angulo,dist);
     pos1.z=id_tabl.posicion.y+get_disty(angulo,dist);
     M8E_POSMODEL(id_camara, pos1);
loop
//camera position

if (exists(id_tabl))

m8e_getposmodel(id_tabl.modelo,&posicion);
    if (key(_up))
    dist+=0.1;
         pos1.x=id_tabl.posicion.x+get_distx(angulo,dist);
     pos1.z=id_tabl.posicion.y+get_disty(angulo,dist);
     M8E_POSMODEL(id_camara, pos1);
    end;
    if (key(_down))
    dist-=0.1;
      pos1.x=id_tabl.posicion.x+get_distx(angulo,dist);
     pos1.z=id_tabl.posicion.y+get_disty(angulo,dist);
     M8E_POSMODEL(id_camara, pos1);
    end;
    if (key(_left))
    angulo+=0.07;
      pos1.x=id_tabl.posicion.x+get_distx(angulo*1000,dist);
     pos1.z=id_tabl.posicion.y+get_disty(angulo*1000,dist);
     M8E_POSMODEL(id_camara, pos1);
    end;
    if (key(_right))
    angulo-=0.07;
      pos1.x=id_tabl.posicion.x+get_distx(angulo*1000,dist);
     pos1.z=id_tabl.posicion.y+get_disty(angulo*1000,dist);
     M8E_POSMODEL(id_camara, pos1);
    end; 
    if (key(_w))
      pos1.y+=0.1;

     M8E_POSMODEL(id_camara, pos1);
    end;
    if (key(_s) & pos1.y>id_tabl.posicion.y+2)
      pos1.y-=0.1;

     M8E_POSMODEL(id_camara, pos1);
    end;   
   

     M8E_CAMTARGET(id_camara, id_tabl.posicion);
     end
    frame;
  End;
end;

process raton();
private
mitextura;
mou;
begin
mitextura= M8E_LOADTEXTURE("resources\flecha.png");
mou=M8E_GUIADDIMAGE(mitextura, 320,90, true); //(texture, x,y,  usealpha)
loop
M8E_GUImove(mou, mouse.x,mouse.y);
frame;
end
end[/code]

pd: coloca id_tabl en global en lugar de local
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)