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
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 :-[
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!
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
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?
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
?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 ;)
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.
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))
?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
Mira...
Pero lo que hacen en ese juego es dibujar las cosas con el game maker, no importar modelos 3D de fuera.
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 ;)
que si, que muy bien, pero quiero saber que pasa si tienes varias texturas
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