Skocz do zawartości
pankracy

Pytanie odnośnie zastosowania większych scenerii w grze.

Rekomendowane odpowiedzi

Mam takie pytanie do was...

Rozmyślam,żeby w swojej grze ustawić kamerę podążającą za graczem na full HD(1920x1080)

Sama sceneria mogłaby być bardzo duża np 3840x2160 lub 7680x4320(dla zachowania proporcji obrazu) odpowiednio pocięta.

Czy taka sceneria przejdzie? czy nie będzie zbyt dużym obciążeniem dla gry?

I teraz tak tła jako background nie da się pociąć na małe kawałki..przynajmniej Ja tego nie wiem jak zrobić co innego scenerię.Chyba,że ktoś z was zna jakąś metodę na to;-)

ewentualnie tak jak to obecnie robię stosuje tła w rozmiarach podglądu kamery view czyli obecnie mają one 1024x768,ale fajnie by było jakby mogłyby być większe.

I jeśli już załóżmy byłoby wszystko w porządku to sprite bohatera i wrogów mogłyby mieć wysokość 100px lub więcej?

Obecnie mają 50px i 60px wysokości

Na chwilę obecną mam scenerię 4096x1536 pociętą na małe fragmenty a view kamera ustawioną mam na 1024x768

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

w GMS2 da sie bez problemu. W GMS 1.x możesz ustawić bodaj 8 różnych backgroundów, i podać ich X i Y, więc też da radę.

w GMS2 nie będzie to obciążeniem, bo tam nie ma backgroundów tylko ustawiasz sprity na layerze sprite (bez obiektów)

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ok czyli trzeba ustawić x i y backgroundów ;-) przyznam,że tego jeszcze nie robiłem.

pokazałbyś jakiś przykład?

Kurcze zyskałbym jeszcze więcej klatek w grze.

 

A duża sceneria taką co napisałem pocięta na małe fragmenty nie będzie stanowić przeszkody dla gms 1.4?

 

 

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jaki przykład ? Pola X i Y - trzeba wpisać wartość i tyle:

 

form_room_backgrounds.png

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Mam kilka pytań...

 

Trochę słabo,że GMS 1.4 ma ograniczenia jeśli chodzi o Backgrounds

 

Pytanie 1

Mam teraz 3 duże tła o wymiarach scenerii 4096x1536 na każdą plansze.

Nawet jak je podzielę na pół to zajmą 6 backgroundów każdy po 2048x768 to też sporo,ale chyba do przełknięcia.

texture page mam ustawioną na 4096x4096

 

pytanie 2

 

Sprite wrogów i bohatera mogę spokojnie ustawić na maks 128x128? bo obecnie jest ustawiony na 50x50,ale jest zbyt mały.

 

Pytanie 3

 

Możecie mi to do końca wyjaśnić odnośnie wielkości texture page.

Jak mam teraz ustawioną na 4096x4096 to rozumiem,że na daną plansze nie mogę przekroczyć jej rozmiarów tak? czy bardziej tyczy się to łącznie wszystkich obiektów na danej planszy tzn że mam tła załóżmy już podzielone na te 2040x768 i na planszy jest ich trzy w takim rozmiarze do tego wszelakie sprity wrogów o rozmiarach do 128x128 i bohater w też w tych rozmiarach i podobnie pułapki przeszkody.i to może przekroczyć texture page? suma wszystkich tych obiektów na danej planszy?

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

1. Tekstura i tak zapewne zostanie przydzielona do texture page 4096x4096, ale trzymałbym się pociętych tekstur, żeby w razie zmniejszenia texture page (każdy export ma inny limit) GM nie rzygał błędami przy kompilacji.

2. Nie widzę przeciwwskazań.

3. Texture page jest inaczej zwanym atlasem tekstur, a rozmiar ograniczony jest na każdy export ponieważ niektóre GPU nie obsłużą Ci tak dużych rozmiarów tekstur.

https://docs2.yoyogames.com/source/_build/1_overview/3_additional_information/texture_pages.html

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Gra jest robiona na systemy Windows a później na Switcha.Nie robię na Android i IOS wiec nie powinno być problemu;-)

Dzięki za informacje.

 

To jeszcze jedno pytanie..trzymając się rozmiarów texture page 4096x4096 jeśli stworzyłbym pokoje o rozmiarach 7680x4320 oczywiście pocięte na małe fragmenty i tła pocięte na rozmiar 3840x2160(połowa scenerii 7680x4320) to tekstury zostaną przydzielone do 8194x8194 czy do 4096x4096? to jest istotne pytanie,bo w końcu zostaną podzielone żeby nie zajmowały tak wielkich rozmiarów.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Nie zostaną pewnie nawet podzielone na texture pages, bo dwie tekstury 3840x2160 (i więcej oczywiście) nie mieszczą się w atlasie o rozmiarze 4096x4096. Chyba, że inne sprite dołączą się do tego samego texture page. Tła musiałyby być podzielone na 2048x2048 (a właściwie to 2046x2046, ale to poniżej dlaczego), żeby zmieściły się 4 w jednym atlasie, bądź po prostu trzymaj się rozmiarów 4096x4096 na tła. To już decyzja którą sam musisz podjąć mając na uwadze wymagania projektu.

 

Jeszcze pozostaje kwestia obramowania - jeżeli zmieścisz więcej jak jedną teksturę na atlasie, to pozostaje problem z wrapowaniem pikseli przy interpolacji. Defaultowo GM2 używa opcji 'clamped' co rozwiąże Ci większość problemów z interpolacją pikseli. A więc wynikowy rozmiar wrzucony do texture page i tak będzie większy niż 3840x2160 (zapewne zostanie rozszerzony do 3842x2162):

texture_page_results.png

 

Opcję tę można wyłączyć wymuszając ładowanie tła na oddzielnym texture page.

 

Pamiętaj również, że jak tekstura będzie większa jak texture page, to zostanie zeskalowana w dół.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

No dobra to bezpiecznie jak będę przy scenerii obecnie co mam 4096x1536 podzieloną na małe kawałki oraz texture page ustawione na 4096x4096

Tła też są podzielone,bo początkowo miały rozmiar tyle co sceneria 4096x1536,a obecnie trzy tła mają rozmiary każdy po 2048x768.

Ja obecnie korzystam z GMS 1.4 jest tam interpolacja,ale kurcze nie wiem jakie wybrać najlepsze ustawienia.

obecnie mam tak ustawione:

 

Czy zawsze każde tło musi mieć rozmiar kwadratu?? 2048x2048? 1024x1024 4096x4096?

 

image.png.a41786a61e9e098e3129e76e34f22631.png

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Przetestuj różne ustawienia, które najlepiej będą działać dla Twojego projektu. Tutaj nie ma najlepszego, jedynie słusznego wyboru, staraj się, żeby wykonywać jak najmniej tzw. "draw calls", jeżeli chcesz optymalizować rendering oczywiście.

 

Rozmiar tekstur do potęgi dwójki ma na celu zoptymalizowanie rysowania jak i zachować kompatybilność z prawie każdym GPU. Większość nowszych GPU wspiera tekstury NPOT, ale najwyraźniej GM idzie bardziej w kompatybilność sprzętową.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

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

Tylko 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ę tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×