karolo320 Opublikowano 11 Lutego 2013 Udostępnij Opublikowano 11 Lutego 2013 Siemka. Moje cylindry, bloki, podłogi i ściany w 3d nie chcę się obrócić, a czegoś takiego, jak d3d_draw_block_ext nie uświadczę. Jak żyć? :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 11 Lutego 2013 Udostępnij Opublikowano 11 Lutego 2013 GML d3d_transform_add_scaling( scalex, scaley, scalez ); d3d_transform_add_rotation_x( Roll ); d3d_transform_add_rotation_y( Pitch ); d3d_transform_add_rotation_z( Yaw ); d3d_transform_add_translation( x, y, z ); // teraz funkcje rysujace d3d np model albo figurę d3d_model_draw( jakis_model, xOffset, yOffset, zOffset, jakas_textura ); d3d_transform_set_identity(); Jest parę rzeczy które trzeba wiedzieć używając tych funkcji by nie nadziać się na jakieś bugi. 1. Ważna jest kolejność transformacji. Najpierw trzeba skalować, potem obracać potem dopiero przemieszczać obiekt. Oczywiście można pominąć którąś z tych rzeczy ale kolejność jest ważna. 2. funkcje d3d_transform_add_* od d3d_transform_set_* różnią się tym że set zanim wykona jakie kolwiek transformacje najpierw wyzeruje wszystko. To znaczy że d3d_transform_set_* są połączeniem funkcji d3d_transform_set_identity(); z d3d_transform_add_* 3. Po dokonaniu transformacji i narysowaniu figury należy pamiętać by zresetować macierz transformującą za pomocą d3d_transform_set_identity(); Bo inaczej transformacja przejdzie do kolejnych obiektów. 4. Normalnie bez transformacji gdy rysujesz jakąś figurę np boxa i chcesz go przemieścić to wpisujesz współrzędne w pierwszych sześciu argumentach d3d_draw_block(x1,y1,z1,x2,y2,z2 jednak gdy używasz przemieszczenia funkcją d3d_transform_add_translation() to te współrzędne wpisujesz właśnie w niej a te z d3d_draw_block(x1,y1,z1,x2,y2,z2 będą zmieniać origin obiektu nie pozycję Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 11 Lutego 2013 Autor Udostępnij Opublikowano 11 Lutego 2013 Dzięki Ci wielkie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
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ę