Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: wako91 en Septiembre 13, 2010, 03:35:02 PM

Título: utilizar modelos 3D
Publicado por: wako91 en Septiembre 13, 2010, 03:35:02 PM
He buscado varios post sobre colocar objetos 3D y no me aclaro.

Tengo hechos unos edificios en 3D y simplemente quiero que aparezcan en el mapa como lo aria usando una sentencia Draw_sprite.

Tambi?n si pudiera rotar la c?mara ser?a genial aunque no preciso, pues lo que quiero es que el jugador pueda rotar el edificio sin tener yo que guardar un mont?n de posiciones de cada edificio para poder hacerlo con una funci?n draw.

Puedo trabajar en formato .obj o en cualquiera de los que trabaje Google sketch pro. El que consider?is m?s f?cil o mejor
Título: Re: utilizar modelos 3D
Publicado por: Ge en Septiembre 13, 2010, 06:21:49 PM
Para poder rotar la camara, en esta comunidad hay muchos ejemplos de juegos en primera persona que describen como hacerlo. Ademas en YoYo Games, en la parte de ejemplos podes encontrar un ejemplo paso a paso para poder crear un juego con estilo DOOM 2.  ;D

Con respecto a los modelos, para dibujarlos es: d3d_model_draw
http://www.comunidadgm.org/index.php?topic=10914.0
El link solo habla de como cargar los modelos con formato *.d3d, originarios del game maker  :GM8:. Pero existen conversores en la pagina de Yoyo Games, para convertir los modelos en formato *.obj en *.d3d. Solo es cuestion de buscarlos (Si los encuentro te copio los links  XD )

Contame que onda  :-[
Título: Re: utilizar modelos 3D
Publicado por: wako91 en Septiembre 13, 2010, 07:22:45 PM
Okas ya los he visto pero de todas formas la c?mara ahora mismo me da igual y los de d3d ya lo hab?a visto, adem?s uso el formato .obj

Tambi?n hab?a buscado ya en la p?gina de yoyogames y s?lo encontr? un conversor a obj que para m?s inri no funcionaba (era para la versi?n 6 o as?)

?En fin si tu eres capaz de encontrar algo y poner los enlaces te lo agradecer?a!
Título: Re: utilizar modelos 3D
Publicado por: Ge en Septiembre 14, 2010, 02:09:03 AM
http://gmc.yoyogames.com/index.php?showtopic=246230
;D Este es el que yo usaba, en realidad no es un conversor pero funciona muy bien !

Para converir el modelo:

1-Carga el modelo en formato *.obj con el script de arriba
2-Utiliza el comando d3d_model_save(ind,fname)
      fname , lo reemplazas por el archivo donde queres convertir el modelo
      ind , el valor te lo devulve cuando usas d3d_model_create()

XD Espero que te ande !

Hay que tener en cuenta que cuando exportes en modelo en formato *.obj , no tiene que ser binario y tampoco tiene que estar comprimido.  :o
Título: Re: utilizar modelos 3D
Publicado por: wako91 en Septiembre 14, 2010, 06:24:19 PM
eso no va ?que hago copio el script a mi jugo y ya est?? y luego que, como creo un modelo?

model=d3d_model_create()
d3d_model_load_ext(model,fname,flipnormals,fliptexcoords,scale)

d3d_model_draw(model,x,y,z,texture);

?que tengo que poner en model,fname,fliptexcoords y scale?
?como cargo las texturas? las subo primero como sprites?

Título: Re: utilizar modelos 3D
Publicado por: Ge en Septiembre 14, 2010, 07:02:58 PM
que hago copio el script a mi jugo y ya est?
Tecnicamente Si, despues de que tenes el Script se carga de esta manera:

Evento Create:
CitarPiedraTextura = sprite_add("graficos/Piedra.jpg",1,false,false,0,0)
PiedraModelo = d3d_model_create()
d3d_model_load_ext(PiedraModelo,"modelos/Piedra.obj",false,true,1)

//Opcional:
d3d_model_save(PiedraModelo,"modelos/PiedraConvertirda.d3d")


Evento Draw:
Citard3d_model_draw(PiedraModelo,x,y,0,sprite_get_texture(PiedraTextura,0))


En mi caso es el modelo de una piedra con su respectiva textura, ambos se ubican fuera del juego, en dos carpetas graficos y modelos. Cambia los valores dependiendo de tu juego.
Podes encontrar los modelos que el script soporta desde el link que subi.
El comando que le puse como //Opcional , funciona para guardar una copia convertida al formato GM *.d3d de nuestro modelo *.obj




Paso a explicar:
   flipnormals , con este valor podemos dar vuelta las caras para que queden mirando en sentido inverso al original. Por lo general es false , pero dependiendo de que formato de modelos usemos y con que editor los creamos puede llegar a usarse el true.

    fliptexcoords , si tenes experiencia con los editores en 3d, las texturas se ajustan con coordenadas X e y. A cada vertice del modelo se le agregan estos dos valores. Esta opcion lo que hace es invertir el valor X e Y de las coordenadas de la textura. Por ejemplo si son -5;+7 quedan como +5;-7. Esto tambien suele ser false, pero en el caso de que notes que las texturas se movieron o estan distorcionadas podes probar cambiando a true.

    scale , simplemente es la escala/tama?o con el que queres importar tu modelo, suele ser 1.

Espero que te sirva ! y segui experimentando !
Suerte !  ;D
Título: Re: utilizar modelos 3D
Publicado por: wako91 en Septiembre 14, 2010, 08:02:26 PM
?Y para objetos con mas de una textura? ?no se pueden usar los archivos mtl? se supone que contienen todas las texturas ?no? xD no se jaja.

?Y para rotar las figuras en e juego?

Edito: lo he probado y no se si porque faltaban texturas pero el objeto no se ve.

salu2 y muchas gracias por tu ayuda, espero no aburrirte demasiado ;)
Título: Re: utilizar modelos 3D
Publicado por: Gabriel Moreno en Septiembre 17, 2010, 03:49:38 PM
Cita de: wako91 en Septiembre 14, 2010, 08:02:26 PM
?Y para objetos con mas de una textura? ?no se pueden usar los archivos mtl? se supone que contienen todas las texturas ?no? xD no se jaja.

?Y para rotar las figuras en e juego?

Edito: lo he probado y no se si porque faltaban texturas pero el objeto no se ve.

salu2 y muchas gracias por tu ayuda, espero no aburrirte demasiado ;)
No creo que sirvan los mtl ... Solo 1 Textura Por 1n Obj.
Para rotar los objs. tines que ocupar esto en Draw:
Citard3d_transform_set_identity();
d3d_transform_add_rotation_z(dir)//o la direccion que quieras;
d3d_transform_set_identity();

Y El Edit te respondo tambien:
Eso Pasa Porque Te Falta una textura, la cargaste mal o la imagen es muy peque?a.
Título: Re: utilizar modelos 3D
Publicado por: Ge en Septiembre 17, 2010, 08:28:50 PM
Citar?no se pueden usar los archivos mtl?
Nop  :D
Citarse supone que contienen todas las texturas ?no?
Nop, es informacion de los colores del material. el game maker no puede leerlos.
Citarno se si porque faltaban texturas pero el objeto no se ve.
Tambien asegurate de antes de dibujar el modelo, poner lo siguente:

draw_set_alpha(1)
draw_set_color(c_white)
d3d_model_draw(PiedraModelo,x,y,0,sprite_get_texture(PiedraTextura,0))
Título: Re: utilizar modelos 3D
Publicado por: wako91 en Septiembre 18, 2010, 12:16:43 PM
?Como que no se pueden modelos con m?s de una textura??entonces que gracia tiene usar 3D? Es imposible usar un objeto minimamente complejo(un ?rbol por ejemplo!) ?o como?

No se, no sabia que Game Maker era tan tiquismiquis/delicado con el 3D xD
Título: Re: utilizar modelos 3D
Publicado por: Gabriel Moreno en Septiembre 18, 2010, 05:16:28 PM
Mira...
Título: Re: utilizar modelos 3D
Publicado por: wako91 en Septiembre 19, 2010, 03:00:02 PM
Pero lo que hacen en ese juego es dibujar las cosas con el game maker, no importar modelos 3D de fuera.
Título: Re: utilizar modelos 3D
Publicado por: Gabriel Moreno en Septiembre 19, 2010, 03:38:46 PM
Pero...Mira Mi Firma   :P
Hay dice : Como importar ...
Presionas Lees
Y Ademas en FAQ Tambien hice un post de como importar archibos .d3d

PD:Utiliza el buscador  ;)
Título: Re: utilizar modelos 3D
Publicado por: wako91 en Septiembre 24, 2010, 11:28:52 PM
que si, que muy bien, pero quiero saber que pasa si tienes varias texturas
Título: Re: utilizar modelos 3D
Publicado por: ricky031 en Septiembre 25, 2010, 07:54:22 AM
Yo tenia una engine donde dibujan el logo de yoyogames en puro lenguaje cada figura tiene un color,peor a lo que voy es a que de x forma puedes poner los "sprites" o texturas sobre-puestos,por encima,que es como hicieron con las palabras en el engine del que hablo