Exigo Opublikowano 22 Września 2008 Opublikowano 22 Września 2008 Da się jakoś transformować obiekt 3d?... mam na myśli model. Po prostu tak jakoś 'obrócić', hm... coś jak image_angle, ale w 3d. :P
Harv Opublikowano 22 Września 2008 Opublikowano 22 Września 2008 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.
Driger Opublikowano 22 Września 2008 Opublikowano 22 Września 2008 http://64digits.com/games/index.php?cmd=vi...ame&id=5027
Exigo Opublikowano 22 Września 2008 Autor Opublikowano 22 Września 2008 @Harv: Czytałem dokumentacje, i próbowałem z tym... no ale nie kręciło obiektem, lecz całym ekranem. ;d
LionX Dagger Opublikowano 22 Września 2008 Opublikowano 22 Września 2008 @Harv: Czytałem dokumentacje, i próbowałem z tym... no ale nie kręciło obiektem, lecz całym ekranem. ;d bo na końcu kodu musisz dać : d3d_transform_set_identity()
Exigo Opublikowano 23 Września 2008 Autor Opublikowano 23 Września 2008 Mam tak: d3d_draw_block(blablabla); d3d_transform_set_rotation_x(wartość); d3d_transform_set_identity(); No i niestety niczym nie kręci. :unsure:
PsichiX Opublikowano 23 Września 2008 Opublikowano 23 Września 2008 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 :)
Exigo Opublikowano 23 Września 2008 Autor Opublikowano 23 Września 2008 Hmm, powiedzmy że jest ok, ale dziwadła się dzieją. Bowiem tak: Wiecie o tzw. współrzędnych na roomie?.. te X i Y. No i tak... jeśli obiekt (ten klocek) odsunę od punktu x=0 i y=0 na jakąś odległość, to jakoś dziwnie "lata".. jakby miał "środek" daleko od siebie.. O_o
LionX Dagger Opublikowano 23 Września 2008 Opublikowano 23 Września 2008 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
Exigo Opublikowano 23 Września 2008 Autor Opublikowano 23 Września 2008 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
LionX Dagger Opublikowano 23 Września 2008 Opublikowano 23 Września 2008 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
Exigo Opublikowano 23 Września 2008 Autor Opublikowano 23 Września 2008 Nadal się nie rusza. :blink: PS: Poprawiłem minusa jak by co.
LionX Dagger Opublikowano 23 Września 2008 Opublikowano 23 Września 2008 Nadal się nie rusza. :blink: PS: Poprawiłem minusa jak by co. hmm to nie wiem , musiał bym zobaczyć plik , to co dałem powinno działać albo daj mi sekundę ja zaraz zrobię Mam d3d_transform_add_translation(x,y,2.5); // tu powinno być add a nie set
Exigo Opublikowano 23 Września 2008 Autor Opublikowano 23 Września 2008 Yaaaay!!! Działa! A więc, dziękuję za pomoc. :P
Rekomendowane odpowiedzi
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ę