Skocz do zawartości

"Kręcenie" modelem 3d


Exigo

Rekomendowane odpowiedzi

GML
d3d_transform_set_rotation_x(angle) Sets the transformation to a rotation around the x-axis with the indicated amount.

d3d_transform_set_rotation_y(angle) Sets the transformation to a rotation around the y-axis with the indicated amount.

d3d_transform_set_rotation_z(angle) Sets the transformation to a rotation around the z-axis with the indicated amount.

Dokumentacja.

Odnośnik do komentarza
Udostępnij na innych stronach

d3d_transform_set_identity();

d3d_transform_set_rotation_x(15);

d3d_transform_set_translate(x,y,z);

d3d_draw_block(blablabla);

d3d_transform_set_identity();

 

Voila :)

Odnośnik do komentarza
Udostępnij na innych stronach

d3d_transform_set_identity();

d3d_transform_set_rotation_x(wartość);

d3d_transform_set_translate(x,y,z);

d3d_draw_block(10,10,10,-10,-10,-10,textura,1,1);// wartości obiektów 3d powinny być bez x i y i środek będziesz miał na środku

d3d_transform_set_identity();

 

w zależności jak ustawisz wartości obiektu "d3d_draw_block();" środek obrotu i w ogóle punktu możesz zmieniać

zgaduje ze wartości mosz pokićkne

Odnośnik do komentarza
Udostępnij na innych stronach

Mam coś takiego:

 

Create Event:

execute code:

 

angle = 0;

 

Step Event:

execute code:

 

if keyboard_check(vk_left)

{angle -= 1;}

if keyboard_check(vk_right)

{angle += 1;}

 

 

Draw Event:

execute code:

 

d3d_transform_set_identity();

d3d_transform_add_rotation_x(angle);

d3d_transform_set_translation(0,0,0);

d3d_draw_block(x+sinus,y,0,x+5+sinus,y+5,5,sprite_get_texture(tex_statek,1),1,1)

;

d3d_transform_set_identity();

 

I nie działa, znaczy... nie "kręci". Poprawcie, to jakoś się połapię, a tak to będziemy błądzić. :P

Odnośnik do komentarza
Udostępnij na innych stronach

Mam coś takiego:

 

Create Event:

execute code:

 

angle = 0;

 

Step Event:

execute code:

 

if keyboard_check(vk_left)

{angle -= 1;}

if keyboard_check(vk_right)

{angle += 1;}

 

 

Draw Event:

execute code:

 

d3d_transform_set_identity();

d3d_transform_add_rotation_x(angle);

d3d_transform_set_translation(0,0,0);

d3d_draw_block(x+sinus,y,0,x+5+sinus,y+5,5,sprite_get_texture(tex_statek,1),1,1)

;

d3d_transform_set_identity();

 

I nie działa, znaczy... nie "kręci". Poprawcie, to jakoś się połapię, a tak to będziemy błądzić. :P

mówiłem że masz pokićkane wartości jak już to

 

Draw Event:

execute code:

 

d3d_transform_set_identity();

d3d_transform_add_rotation_x(angle);

d3d_transform_add_translation(x,y,2.5); // tu był błąd @ down down i tu też już poprawiłem

d3d_draw_block(2.5,2.5,2.5,-2.5,-2.5,-2.5,sprite_get_texture(tex_statek,1),1,1); // i tu był błąd teraz masz centralnie na środku ustawiony punkt obrotu

 

d3d_transform_set_identity();

 

Edit : ups jeden minus zjadłem, poprawione

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...