hola, vuelvo con otra pregunta 3d, y espero que sea la ?ltima XD, lo que me gustar?a saber es como hacer que algo siempre mire a la c?mara, en el angulo x, y, y z, en este caso, la c?mara sigue a un objeto plano, dibujado con d3d_draw_wall..., como puedo hacer que este objeto siempre apunte a la c?mara?
gracias por leer, un saludo
Aqui te dejo una camara con vista panor?mica, lo dej? tbm a otro usuario pero de todas formas te lo dejo a ti, espero te sirva XD XD XD:
C?digo:
[b]En create: [/b]
//INICIAR CAMARA
d3d_start();
d3d_set_perspective(true);
d3d_set_hidden(true);
d3d_set_lighting(false);
draw_set_color(c_white);
d3d_set_fog(true,c_gray,1,2048);
d3d_set_culling(true)
d3d_set_shading(false);
texture_set_interpolation(true);
//asignar valores
z=0;
zdirection=0;
//crear instancias
instance_create(x,y,obj_Character);
[b]En step:[/b]
//MOUSELOOK
//Mostrar dimensiones
display_w=display_get_width();
display_h=display_get_height();
change_x=(display_mouse_get_x()-display_w/2)/12;
change_y=(display_mouse_get_y()-display_h/2)/12;
//mover cam
direction-=change_x;
zdirection-=change_y;
//limitar zdirection
if zdirection<-90 then {zdirection=-90;} else if zdirection>90 then {zdirection=90;}
display_mouse_set(display_w/2,display_h/2);
[b]EN draw:[/b]
//draw camera
x=Personaje.x;
y=Personaje.y;
z=Personaje.z+32;
//Aqui calcula los puntos de vista base con respecto a la direccion de la camara
xf=x-cos(degtorad(direction))*64;
yf=y+sin(degtorad(direction))*64;
zf=z-sin(degtorad(zdirection))*64;
if zf<1 then zf=1;
xt=x+cos(degtorad(direction))*128;
yt=y-sin(degtorad(direction))*128;
zt=z+sin(degtorad(zdirection))*128;
d3d_set_projection_ext(xf,yf,zf, xt,yt,zt, 0,0,1, 50,1.33,1,1024+256);