Ice Cube Opublikowano 16 Maja 2021 Udostępnij Opublikowano 16 Maja 2021 W gierce 3d mam sporo budynków różnej wielkości i pod różnym kątem porozrzucanych po planszy. gdy jestem blisko jakiegokolwiek budynku to wygląda on dobrze, natomiast jeżeli sie oddale od niego dosyć daleko to jego boki migotają, nakłądaja sie na siebie textury scian. bloki sa zbudowane z 4x d3d_draw_wall textury starałem się by miały wymiary 256x256 lub 256x128 pix. Idzie to jakoś poprawić ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 16 Maja 2021 Udostępnij Opublikowano 16 Maja 2021 Niestety to jest związane z precyzją depth buffera, oddalone "piksele" nie mają dostatecznej precyzji aby nałożone na siebie elementy rysowały się w odpowiedniej kolejności, tzw. z-fighting https://en.wikipedia.org/wiki/Z-fighting i nie ma to żadnego związku z rozmiarem tekstur Jednym ze sposobów (i chyba najprostszym) może być przesunięcie elementów o niewielką wartość, aby tekstury rysowane d3d_draw_wall nie nachodziły idealnie na siebie. Ice Cube 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ice Cube Opublikowano 18 Maja 2021 Autor Udostępnij Opublikowano 18 Maja 2021 niestety przesunięcia nic nie dają Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 19 Maja 2021 Udostępnij Opublikowano 19 Maja 2021 A możesz podesłać screena i kawałek kodu odpowiedzialny za rysowanie ścian? Może zmniejszenie odległości rysowania powinno pomóc, zfar z funkcji d3d_set_projection_ext. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ice Cube Opublikowano 26 Maja 2021 Autor Udostępnij Opublikowano 26 Maja 2021 bloki: //1 d3d_draw_wall(1880,1310,80,1940,1310,0,background_get_texture(blok1),1,1); d3d_draw_wall(1940,1310,80,1940,1410,0,background_get_texture(blok1),1,1); d3d_draw_wall(1940,1410,80,1880,1410,0,background_get_texture(blok1),1,1); d3d_draw_wall(1880,1410,80,1880,1310,0,background_get_texture(blok1),1,1); //2 d3d_draw_wall(1990,1420,106,2190,1420,0,background_get_texture(blok2),1,1); d3d_draw_wall(2190,1420,106,2190,1580,0,background_get_texture(blok2),1,1); d3d_draw_wall(2190,1580,106,1990,1580,0,background_get_texture(blok2),1,1); d3d_draw_wall(1990,1580,106,1990,1420,0,background_get_texture(blok2),1,1); itd.. player/camera: DRAW: d3d_set_projection( x, y, z, x + global.camcos, y + global.camsin, z + global.campitch, 0, 0, 1); grafiki nie umiem dodać ,pisze ze max grafiki to 808 b mb , a plik ma 46 kb.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 27 Maja 2021 Udostępnij Opublikowano 27 Maja 2021 18 godzin temu, Ice Cube napisał: bloki: //1 d3d_draw_wall(1880,1310,80,1940,1310,0,background_get_texture(blok1),1,1); d3d_draw_wall(1940,1310,80,1940,1410,0,background_get_texture(blok1),1,1); d3d_draw_wall(1940,1410,80,1880,1410,0,background_get_texture(blok1),1,1); d3d_draw_wall(1880,1410,80,1880,1310,0,background_get_texture(blok1),1,1); //2 d3d_draw_wall(1990,1420,106,2190,1420,0,background_get_texture(blok2),1,1); d3d_draw_wall(2190,1420,106,2190,1580,0,background_get_texture(blok2),1,1); d3d_draw_wall(2190,1580,106,1990,1580,0,background_get_texture(blok2),1,1); d3d_draw_wall(1990,1580,106,1990,1420,0,background_get_texture(blok2),1,1); itd.. Sorry ale nie mam GMa i czasu, żeby sobie rozrysować to na papierze, bo ten ciąg liczb ciężko mi sobie wyobrazić jako bryłę 18 godzin temu, Ice Cube napisał: player/camera: DRAW: d3d_set_projection( x, y, z, x + global.camcos, y + global.camsin, z + global.campitch, 0, 0, 1); Ustaw poprawnie projekcję tak jak rekomenduje to dokumentacja:https://docs.yoyogames.com/source/dadiospice/002_reference/drawing/drawing 3d/3d projections/d3d_set_projection.html Najpierw użyj w tym celu d3d_set_projection_ext i ustaw zfar na jakąś rozsądną wartość, np 2000 albo nawet mniejszą, żeby nie wypaść z precyzji z-buffera. Obrazek wrzuć na inny serwis, np. https://imgur.com/ i zwyczajnie wklej linka Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 27 Maja 2021 Administratorzy Udostępnij Opublikowano 27 Maja 2021 18 godzin temu, Ice Cube napisał: grafiki nie umiem dodać ,pisze ze max grafiki to 808 b mb , a plik ma 46 kb.. Zwyczajnie wklej obrazek jak do painta. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 27 Maja 2021 Udostępnij Opublikowano 27 Maja 2021 12 minut temu, gnysek napisał: Zwyczajnie wklej obrazek jak do painta. Mi nie działa wklejanie obrazków, pokazuje się tylko komunikat "Wykorzystano całą dozwoloną przestrzeń dla załączników" i tyle Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 27 Maja 2021 Administratorzy Udostępnij Opublikowano 27 Maja 2021 8 godzin temu, Konrad-GM napisał: "Wykorzystano całą dozwoloną przestrzeń dla załączników" Faktycznie, 500kb było dla użytkowników, to pewnie przez aktualizację forum. Zmienione Konrad-GM 1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ice Cube Opublikowano 28 Maja 2021 Autor Udostępnij Opublikowano 28 Maja 2021 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rozwiązanie Konrad-GM Opublikowano 28 Maja 2021 Rozwiązanie Udostępnij Opublikowano 28 Maja 2021 Godzinę temu, Ice Cube napisał: Na moje oko wygląda to na z-fighting, precyzji z-buffera w GM nie można zmienić, ale zakładam, że i tak jest ustawiony na 24bity. Niestety pozostaje zmniejszenie maksymalnej odległości rysowania na mniejszą, albo zrobić niewielką przestrzeń między nakładającymi się teksturami, bądź w ogóle nie rysować nakładających się ścian. Ice Cube 1 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ę