[Unity] Tło gry


#1

Witam,

W mojej grze mam proste tło - grandient ciemny->jasny->ciemny + ciemne kształty w róznych miejscach (wszystkie takie same)
bck_s

Czy zamiast jednego pliku z tłem, nie lepiej jest dodac texture z wrap-mode : repeat samego grandientu (cienki pasek jak poniżej) + każde kółko jako osobny image. (unity ui podłączone pod kamerę)
bck_st
“draw calls” pozostanie to samo (umownie bo to szerszy temat). plus tego to mniejsza paczka (lżejszy plik 1-2mb mniej) + kontrola nad każdym “kółkiem” z osobna. Mogę zmienić kolor, kształt + pozycję.
Napisałem shader żeby kółka poruszały się w górę (w przypadku pojedynczego pliku) jednak jest to według mnie zbyt duże obciążenie dla urządzeń mobilnych.

Czy są jakieś minusy użycia kilku obiektów więcej dla takiego tła? Czy pozostać przy pojedynczym pliku.
Dodam że tło pozostaje cały czas to samo - w menu i w czasie rundy. (jest to bardzo prosta mała gra). Gra będzie na urządzenia mobilne (chcę aby była dostępna nawet na starsze modele) i próbuję zoptymalizować grę gdzie tylko mogę.

Dzięki za podpowiedzi.
(prosze przenieść temat jeżeli nie pasuje do odpowiedniego działu, programowanie wydawało mi się nieodpowiedim miejscem).


#2

jak zwykle w takich sytuacjach najlepiej spróbować oba i sprawdzić co wygląda lepiej w profilerze. Na logikę, rozwiązanie drugie powinno być lepsze. Choć nie jestem pewien czy jak kółka będą się poruszać to nadal utrzymasz tą samą liczbę drawcalli. Możesz ewentualnie też sprobować zamiast paska z wrap mode do tła spróbować gotowy, darmowy asset - ja u siebie użyłem linear unlit gradient i o dziwo miałem lepsze FPSy niż używając tekstury jako tła (aczkolwiek o ile dobrze pamiętam nie da się w tym assecie zrobić ciemny-jasny-ciemny, a tylko ciemny-jasny lub odwrotnie).


#3

No właśnie na profilerze nie widać dużych zmian ale drugim sposobem zyskałbym kilka mb w wielkości assetów. (unity samo z siebie i tak już dużo zajmuje).
shader widziałem - ma jeden lerp w sobie - lerpy kosztowne ale jeden nie zaszkodzi. Może przepiszę go na mój typ gradientu i zobaczę wtedy (tylko z tego co wiem to juz 2 lerpy). Wolę przyoszczędzić na tle żeby móc więcej dodać do samej gry.

Chyba trochę przesadzam z tą optymalizacją bo gierka będzie niewielka :smiley: Pójdę drogą gdzie assety zajmują mniej miejsca, czyli albo 3 color gradient shader albo textura mode: repeat.

@obses Dzięki za pomysł z shaderem bo nawet o tym nie pomyślałem, za długo przy kompie siedze.