:GM8:
Hola foro uso game maker y ya estoy creando 3d me gustaria girar el angulo de camara para poder observar los 360 grados.
Osea que al pulsar "X" la camara rote 90 grados.
sin mas remedio aqui les dejo lo que he puesto en el objeto de camara
Create:
d3d_start()
d3d_set_lighting(false)
d3d_set_culling(false)
d3d_set_perspective(true)
draw_set_color(c_white)
d3d_set_fog(true,c_black,0,300)
Draw:
d3d_set_projection(marmol.x-120,marmol.y,60,marmol.x,marmol.y,marmol.z,0,0,1)
Aqui veran que marmol es el judador.
Que me falta agregar?
Bueno gracias espero me puedan ayudar.
en create
agrega:
d3d_set_hidden(true)
y
en draw:
d3d_set_projection(x,y,60,marmol.x,marmol.y,marmol.z,0,0,1)
porque (x,y,z(60)) es donde esta la camara. y (marmol.x,marmol.y,marmol.z)
hacia donde mira la camara
Bueno, esto es un poco de matematicas :P,
yo siempre lo hago asi:
imagino un sistema de fuerzas y lo descompongo, supongamos que miramos un objeto a 9mtros, y estas parado en la coordenada (x,y)
(http://img704.imageshack.us/img704/475/imagenyn.png) (http://img704.imageshack.us/i/imagenyn.png/)
lo de rojo indica donde estoy parado y lo de azul hacia donde miro
d3d_set_projection(objeto.x,objeto.y,20,objeto.x+cos(DIRECCION)*90,objeto.y+sin(DIRECCION)*90,20,0,0,1)
yo uso de modulo 90, pero mientras mayor sea este numero, mas adelante estaras viendo
despues en eses objeto le pones que al apretar la tecla direccional izquierda (<---) direction+=1 recorda que el + va al lado de direccion porque es una variable acumulativa y contadora, y con eso vas a poder rotar en 360?
espero haberte ayudado... o si no te sale, avisame y te subo un engine que hice.
gracias amigo usando la tactica mencionada mi juego parece un juego de first person shoter jaja gracias
jeje tengo otra duda el codigo funciona al 100
pero mi duda es como le hago para que donde apunte mi jugador y si pulso por ejemplo arriba el jugador avanze para enfrente (dependiendo de donde este mirando)