Ignatus Opublikowano 15 Kwietnia 2015 Udostępnij Opublikowano 15 Kwietnia 2015 Dwa szybkie pytanka 1.Po załadowaniu do gry wyższej jakości tekstur (na podstawie zdjęć) gra drastycznie spowolniła akcję( o jakieś 40%)- jest jakiś sposób żeby chodziła normalnie ale nie pozbywać się lepszych tekstur? 2.Niektóre tekstury zostawiają jakąś "magiczną" linię na poziomie na którym się kończą (jakby wzdłuż górnej krawędzi-np na przykładzie drzewa- linia idzie poziomo ponad jego czubkiem).Nie było by w tym nic niezwykłego gdyby to była wina tekstur- ale błąd pojawia się dopiero po uruchomieniu gry (wcześniej nigdzie nie ma śladu).Co więcej wiem już jak się z nim uporać-należy odciąć dolną część obrazka(wymazać kawałek dołu) wtedu linia na górze znika - nie mam pojęcia co to ma być i dlaczego usunięcie dołu pomaga- przetestowałem z wieloma i cały czas błąd wyskakuje i można tak go rozwikłać( tekstury to zdjęcia).Dlaczego tak się dzieje? To bardzo uporczywe bo ciąć dół trzeba za pomocą gumki już w GM - a to bardzo nie precyzyjne i w ogóle cała sytuacja absurdalna... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 16 Kwietnia 2015 Udostępnij Opublikowano 16 Kwietnia 2015 1. Która wersja GMa? (nie powiesz mi chyba, że to GM6.1 ;o) 2. nie pokazałeś screena tego psucia się, więc z tego co wywnioskowałem, chodzi Ci o texture bleeding, co oznacza, że pixele graniczne tekstury podczas interpolacji (czy to zmiennoprzecinkowa pozycja obiektu na ekranie, czy to źle dopasowana kamera - dosłownie cokolwiek, będzie sprawiać, że będą powstawać na krawędziach nieprzyjemne półprzezroczyste (bądź koloru sąsiedniej tekstury atlasu - GMS) paski). 3. to się naprawia dodając jednopikselowe obramowanie tekstury, ale w GMie może to być toporne tak, ja to opisałeś. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 16 Kwietnia 2015 Udostępnij Opublikowano 16 Kwietnia 2015 Zakładam, że to nie pomoże, bo to dla GMS Pro, ale może ktoś w przyszłości znaleźć to w google i mieć problem z głowy, czy coś... poza tym nienawidzę poranków i muszę coś ze sobą zrobić. Łatwe rozwiązanie mogę dać tylko dla GMS pro w wersji professional, gdzie masz w ustawieniach globalnych "texture page". Nie wchodząc w szczegóły istnienia tych linii, możesz im zapobiec w gms:pro wchodząc w global game settings > Texture Groups. Następnie wybierając grupę tekstur i zmieniając wartość w "Texture Border Width(texels)". Im większe tekstury tym większa może być potrzebna granica. Ważne jest to, że zwiększa to objętość stron tekstur, mniej się na nich mieści, więc będzie ich więcej, a to oznacza większe zużycie zasobów. Jeżeli chodzi o poprawę wydajności, to zależy od platformy. To co tu napiszę jest dla platform nie-windowsowych, na windowsie po prostu nic to nie zmienia: Skoro już zakładamy, że masz dostęp do gms:pro, możesz utworzyć grupy tekstur. Jak pogrupujesz, zależy od Ciebie. Całym sensem jest, aby było pogrupowane tak, abyś mógł wyrzucić z pamięci. Może to być pogrupowane według roomów, żebyś np. nie trzymał w pamięci grafik z menu głównego gdy już z niego wyszedłeś, albo jeżeli korzystasz z unikalnych grafik dla każdego poziomu(lub serii poziomów), pogrupować je tak, żebyś mógł mieć wczytane tylko te, które są potrzebne dla obecnego poziomu. Tekstury można wtedy wyrzucić z pamięci za pomocą draw_texture_flush();, ale powinno się po tym spróbować wczytać po 1 zasobie z każdej strony z której chcemy skorzystać, aby nie zmuszać programu do wczytywania tekstur w pośpiechu kiedy są już potrzebne "na teraz". Teoretyczne, toporne rozwiązanie dla każdego innego gm'a: Powiększ każdą teksturę o kilka pikseli. Problem jest taki, że będziesz musiał korzystać z funkcji które wyświetlają tylko kawałek sprite'a, jak draw_sprite_part, draw_background_part. Bonusowe punkty, jeżeli na te nowe dodatkowe piksele będą "smugą" z pikseli na krawędzi starego obrazka. To tak zwany clamping. Przykład jak to wygląda poniżej: Ale to opcjonalne chyba w Twoim przypadku. I pracochlonne. Bezpieczna szerokosc pikseli zalezy od wielkosci tekstury, wiec zakladam ze w Twoim przypadku starczą 1 do 4 pikseli. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 16 Kwietnia 2015 Autor Udostępnij Opublikowano 16 Kwietnia 2015 Używam GMS:Pro Niestety ustawienie Texture Border Width(texels) nawet na max nic nie zmienia http://zapodaj.net/bb8cc4d4951cd.jpg.html Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 16 Kwietnia 2015 Administratorzy Udostępnij Opublikowano 16 Kwietnia 2015 A zaznaczyłeś, że to są tekstury do 3D w sprite? Bo używasz ich z tego co widzę w 3D. Zajrzyj do manuala do czego służy ta opcja :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 16 Kwietnia 2015 Autor Udostępnij Opublikowano 16 Kwietnia 2015 Nie są w 3D i nie używam ich w 3D , wygladaja tak dziwnie bo to poprzerabiane zdjecia.Po prostu wstawione jako background nic poza tym Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 16 Kwietnia 2015 Udostępnij Opublikowano 16 Kwietnia 2015 Dziwna ta krecha. Spróbuj wejść w global game settings > Windows > Graphics i wybierz "Preview" przy rozdzielczości teksture page. Zobacz czy ta krecha jest na texture page. Edit: Jeżeli zmieniasz rozdzielczość gry polecam również zmianę wielkości application_surface. Może to to. GML surface_resize(application_surface,nowa_szerokosc,nowa_wysokosc) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 16 Kwietnia 2015 Udostępnij Opublikowano 16 Kwietnia 2015 Czemu ta linia jest pod kątem? Obracasz to jakoś? Musimy takie szczegóły wiedzieć. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 16 Kwietnia 2015 Udostępnij Opublikowano 16 Kwietnia 2015 @Up - Dlatego powiedzialem ze jest dziwna. Dobra, głupi wild guess. Przypadkowo rozciągnąłeś obiekt drzewa przez cały room i obróciłeś i go nie zauważyłeś. Sprawdź room editor. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 16 Kwietnia 2015 Autor Udostępnij Opublikowano 16 Kwietnia 2015 Kreska też jest na texture page (ale nie widać jej nigdzie przy przeglądaniu samej grafiki).Problem nie dotyczy tylko tej jednej grafiki drzewa- jakikolwiek obrazek w wysokiej rozdzielczości(czyli przerobione foto) daje taki sam efekt- nawet jeżeli nic przy nim nie kombinuje-i zawsze to znika jak poucinam dolną krawędź. Obraz jest przechylony bo kamera zmienia delikatnie kąt przy poruszaniu postaci w danym kierunku, a to screen z gry(ale akurat bez postaci widocznej) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 16 Kwietnia 2015 Udostępnij Opublikowano 16 Kwietnia 2015 Wyjaśnij jeszcze co rozumiesz przez wycięcie dolnej krawędzi, bo może to oznaczać wiele rzeczy. Jak duże są twoje grafiki? To są tła czy sprite? Jak je ustawiasz? Może po prostu masz jakoś śmiesznie włączone powtarzanie w pionie więc to przez to? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 16 Kwietnia 2015 Autor Udostępnij Opublikowano 16 Kwietnia 2015 1.Otwieram w edytorze w GM makerze - wybieram gumkę i wymazuje dolne 1-2cm- totalna amatorka i absurd- nawet opcja zaznacz i potem usuń nic nie daje, musi być gumka. 2.Bardzo duże, w oryginale zdjęcia mają rozdzielczość 6000x4000 ale wycinam tylko poszczególne elementy,zmniejszam pod ekran gry, potem GM jeszcze to skaluje(obstawiam że tu właśnie może być przyczyna błędu) 3.Wstawiam jako background jeżeli o to chodzi 4.Wstawiam normalnie, nie rozszerzam ani nie powielam, tylko ewentualnie zmieniam położenie x,y żeby pasowało do gry (jeżeli nie zmieniam nie ma to wpływu na "kreskę" Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 16 Kwietnia 2015 Udostępnij Opublikowano 16 Kwietnia 2015 Skalowanie nie ma tu nic do czynienia. No to twoim problemem będą właśnie wielkie zdjęcia. A pewnie to że nie mieszczą się na texture page. Poza tym chciałbym zauważyć że większe grafiki wcale nie oznaczają lepszych grafik. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 16 Kwietnia 2015 Administratorzy Udostępnij Opublikowano 16 Kwietnia 2015 @UP: możesz mieć rację. Jeśli obrazek ma większy rozmiar niż texture page, to jest skalowany i wtedy będzie miał takie "atrakcje". Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 16 Kwietnia 2015 Udostępnij Opublikowano 16 Kwietnia 2015 Jeżeli Ci się tekstura nie mieści na 1024x1024 to coś robisz źle. Ale jeżeli nadal chcesz robić źle, zwiększ rozmiar do 2048. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 16 Kwietnia 2015 Autor Udostępnij Opublikowano 16 Kwietnia 2015 Jaka może być rozsądna rozdzielczość wstawianej tekstury żeby uniknąć takich akcji? (żeby mieściła się na texture page) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 16 Kwietnia 2015 Udostępnij Opublikowano 16 Kwietnia 2015 Mniejsza od texture page. To powinno wystarczyć. A wracając do pytania o spowolnienie gry: Spokojnie można powiedzieć że każdy kolejny texture page powoduje że gra będzie działać 2 razy wolniej. Więc przy 4 wielkich grafikach zajmujących całe texture page twoja gra będzie działać co najmniej 8 razy wolniej niż przy jednym texture page. 5 to już 16 razy wolniej. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
PsichiX Opublikowano 16 Kwietnia 2015 Udostępnij Opublikowano 16 Kwietnia 2015 wat, threef? kto Ci takich rzeczy naopowiadał? O.o No chyba, że zjebali rendering w GMSie ;___; Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 16 Kwietnia 2015 Udostępnij Opublikowano 16 Kwietnia 2015 Mniejsza od texture page. To powinno wystarczyć. A wracając do pytania o spowolnienie gry: Spokojnie można powiedzieć że każdy kolejny texture page powoduje że gra będzie działać 2 razy wolniej. Więc przy 4 wielkich grafikach zajmujących całe texture page twoja gra będzie działać co najmniej 8 razy wolniej niż przy jednym texture page. 5 to już 16 razy wolniej. Szczerze wątpię, gry byłyby niegrywalne. Nie da się zrobić gry bez conajmniej kilku(nastu) stron tekstur. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 16 Kwietnia 2015 Udostępnij Opublikowano 16 Kwietnia 2015 Kurcze, wcześniej miałem inne słowo zamiast "Spokojnie" ale nie pasowało mi do struktury zdania, więc postanowiłem je zamienić. Teraz chyba ma inny sens, a ja zapomniałem co miało tam być. :/ Fajnie jakby ktoś mnie poprawił. Ktoś znający się lepiej na pipeline kart graficznych. To co chciałem przekazać to to że GM w każdym "draw step" (który zazwyczaj ale nie zawsze wynosi tyle samo co "step"!) aby narysować cały room musi narysować wszystkie sprite. Jeżeli te znajdują się na kilku texture pages to GM musi każdą przed rysowaniem wysłać do karty graficznej. Nie pamiętam jak się liczyło pamięć dla bitmap ale czy to nie jest przypadkiem szerokość * wysokość * ilość bitów (32?), a przy takich oznacza to że kilkanaście razy na sekundę do karty graficznej wysyłane jest kilkaset MB które od razu po narysowaniu jednego sprite(!) jest usuwane żeby na jego miejsce mógł zostać wczytany następny texture page. Im więcej grafik potrzebnych do narysowania znajduje się na różnych texture pages tym więcej razy musi ta akcja być wykonywana. Poza tym było jakieś fajne "branżowe" określenie dla texture pages (bo to wymyśliło sobie YoYoGames). Szczerze wątpię, gry byłyby niegrywalne. Nie da się zrobić gry bez conajmniej kilku(nastu) stron tekstur. Pomijając to że się da, to nie zapominaj że aktualny sprzęt jest potężny i bez problemów radzi sobie z czymś takim. Dopiero przy wypadkach takich jak w tym temacie (czyli głupich) widać spadek wydajności z tego powodu. Chociaż nie ukrywam. Wydaje mi się rozmiar grafik ma większy wpływ na płynność gry niż ilość texture pages. ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 17 Kwietnia 2015 Autor Udostępnij Opublikowano 17 Kwietnia 2015 W takim razie co zrobić kiedy jakaś tekstura musi pokrywać cały, albo większość roomu(np niebo)? A mamy bardzo duży room.Nie może być podzielona bo będzie to widać, a na pewno zajmie dużo texture page Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 17 Kwietnia 2015 Udostępnij Opublikowano 17 Kwietnia 2015 @Threef Szerokość * Wysokość * 4B(32 bity, RGBA) @Topic Chyba cos znalazlem grzebiac w dokumentacji: Here you can define how the image is to be stored on the texture page as well as whether it is an image specifically for use with a 3D object and which texture page (if any) it has to be assigned to. The first two options, Tile Horizontal and Tile Vertical relate to how the edges of the image will be created when placed on the texture page. An image that is to be tiled will have the edges (horizontal or vertical) added to by the edges from the opposite side, while if no tiling is selected the sprite will be clamped and the edges pixels will be repeated. Nie masz czasem w ustawieniach tekstury(backgrounda / sprite'a) ustawionego "Tile: Vertical" ? To mogloby dodawac na gore clamp z dolnych pikseli i na odwrot(aby tekstura poprawnie sie powtarzala, czego raczej nie chcesz w tym przypadku) Edit: Jako przyklad dla wyjasnienia podaje: Coś w czym nie chcesz mieć Tile:Horizontal ani Tile:Vertical - http://puu.sh/hgUnW/f5a30d493d.png Coś w czym mógłbyś chcieć Tile:Horizontal i/lub Tile:Vertical - http://puu.sh/hgUs6/2a24d0794e.png Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 17 Kwietnia 2015 Autor Udostępnij Opublikowano 17 Kwietnia 2015 Miałem ustawione zarównovertical jak i horizontal- niestety wyłączenie zupełnie nic nie zmieniło (mam kilka tekstur z tym błędem- na żadnej nie było zmiany) Spróbowałem zmniejszyć teksturę(poza gm- przed importem)- mimo że zajmuje teraz 1/5 viewu to i tak jest linia (tylko mniej wyraźna jakby) Próbowałem umieścić jako tile set- linia nadal się pojawia Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 17 Kwietnia 2015 Udostępnij Opublikowano 17 Kwietnia 2015 Probowales kompilowac na innym komputerze? Moze wina karty/sterownikow? Jaka wersja GMS (mowie o wersji kodowej nie licencji pro)? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 17 Kwietnia 2015 Autor Udostępnij Opublikowano 17 Kwietnia 2015 v 1.4.1567 Na innych nie próbowałem i raczej nie ma takiej opcji.Myślę że to absolutnie moja wina nie programu, tylko muszę zrozumieć dokładnie co tu się dzieję;p Wcześniej wstawiałem sprite na bazie zdjęć i nie było problemów.Dopiero przy większych powierzchniach pojawiają się takie akcje.Najbardziej by mi pomogła wiedza jak przygotować obraz przed eksportem do GM (maksymalne rozmiary itp) żeby prblem w ogóle się nie pojawił, póki co metoda prób i błędów niewiele wniosła- nada wymazuje krzywo gumką;p Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 17 Kwietnia 2015 Udostępnij Opublikowano 17 Kwietnia 2015 Daj spokój. Nikogo nie obchodzi na tyle Twoja gra aby Ci kod ukraść. Poproś kogoś o sprawdzenie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 17 Kwietnia 2015 Autor Udostępnij Opublikowano 17 Kwietnia 2015 Ba , nawet mnie za bardzo nie obchodzi bo to tylko projekt na którym staram się uczyć,trudno to nazwać prawdziwą grą, ale ta opcja mi sie nie podoba, wolałbym wskazówkę jak to samemu ogarnąć i wiedzieć na przyszłość 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ę