Tworzenie atlasów tekstur w obecnym czasie


#1

Siema,
Taka mnie myśl naszła. miałem się wziąć za robotę z Wrap i przenieść tekstury z osobnych plików obrazków na jeden atlas, osobny dla skóry i osobny dla ubrań - ale trial na Wrap mi się skończył i sobie myślę nad pytaniem…

Czy w obecnych silnikach gry np. Unity czy Unreal nad którym teraz kombinuję, niezbędne albo poprawne jest użycie atlasów na mniejsze konsole? Np. na swatcha? Bo jeśli na tej mini konsolce to nic nie zmienia, to w sumie nie ma po co się tym zajmować i mógłbym się wziąć za coś bardziej
pożytecznego.

Edit: Zwłaszcza biorąc uwagę że na takiego prztyczka/Switch wyszedł Wiedźmin 3 =).
Edit2: Żeby nie być gołosłownym, tu macie model z gtav:


Problem w tym że gtav nie jest na switcha, ale tutaj widać dobrze że postać jest pocięta na osobne tekstury.
Nie wiem już co o tym myśleć :confused: .


#2

Jeśli masz tekstury różnej wielkości to warto je wrzucić w atlas o rozmiarze wielokrotności dwójki (niekoniecznie kwadrat afaik). Powód jest prosty - kompresja, wszystkie DXTn wymagają tego.


#3

Materiały postaci mam akurat jednakowe. Ale pytam się raczej czy w dzisiejszych czasach robi to aż taką różnicę na pc, konsole mobilne typu switch czy ps3/4? O androida nie pytam bo nie jest moim celem.


#4

Ok, ale czy kompresują się do DXT?

Zależy od skali, jeśli masz 4 tekstury to narzut spowodowany brakiem kompresji na PC będzie niezauważalny, przy większej ilości tekstur i np buildzie na weba dodatkowe 100MB może mieć znaczenie, to samo w buildach na mobilki. Jeśli targetujesz PC a masz dużo wysokiej jakości tekstur to różnica może być zauważalna, większy rozmiar builda nie jest tu problemem, ale może znacznie zwiększyć się zużycie pamięci graficznej, czyli rosną minimalne wymagania.
DXT1 ma ratio 8:1 czyli nieskompresowana tekstura zajmie ci 8 razy więcej pamięci.


#5

W końcu ktoś. =).

A jak to wygląda na konsolach zwykłych lub switchu?


#6

Nie wiem, nie znam parametrów konsol. Wszystko sprowadza się do tego ile ci zeżre skompresowana/nieskompresowana grafika a ile masz na danej platformie dostępnego ramu na grafice.

Trochę praktyki: assety w moim Skullstone to ok 900MB, z czego same tekstury żrą 800MB, 98% (na oko) jest skompresowane do DXTn. W silniku JME3 mógł bym je trzymać jako png/jpg co znacznie zmniejszyło by rozmiar builda, ale wtedy musiał bym załadować do grafiki ponad 6GB tekstur (bo nie załaduje png, leci raw RGB(A)) - nie wszystkie na raz, bo różne tekstury na rożne levele. Trzeba liczyć, że dany tileset+moby na nim występujące to 1/4 tekstur, więc jest różnica: 200MB a 1,5GB. Stosując skompresowane tekstury daje możliwość odpalenia gry na kartoflu, tym samym zwiększając potencjalną liczbę kupujących moja grę.


#7

Czyli nadal jest :confused: . Bo to chuj strzelił.

Orientujesz się jak można przerobić uvw gotowych postaci z teksturami na atlasy?


#8

Nie przeklinaj.
Nie, nie znam się na takich rzeczach.


#9

Poniosło mnie.
O, znalazłem na sketchfabie model geralta, i to z trzeciej części. Tu są wszystkie tekstury podzielone, zobacz. A mimo to działało na switchu.

Czyli jest szansa dla mnie - wystarczy że mapę zrobię atlasem, ale w moim pomyśle to będzie trochę roboty => .
edit: Policzyłem - u geralta jest ich 47, a u mnie 40 ale samo body, jeszcze ubrania dochodzą.


#10

To jest bezpośredni rip z gry? Jakie są rozmiary tych tekstur?


#11

Nie wiem, mogę jedynie podejrzewać - ale wygląd i kształt się zgadza, nawet ta mała kolczuga na brzuchu.

Wszystkie widać że są przerabiane z formatu tga na png, więc nie dowiemy się ile ważyło naprawdę - tga bywa dużym formatem.
Same tekstury png ważą 53 MB, czyli ja mając ich więcej i w 2k powinienem zmieścić się w limicie bo paczka z jedną moją postacią ma 40mb. A jak skompresuje do 1k to nawet 30mb. Ale to moje gdybania, dobrze by było jakby ktoś potwierdził lub zaprzeczył.


#12

Otwórz dowolnym programem graficznym i sprawdź wysokość i szerokość… Jesli wymiary są potęgą 2 to taka tekstura może być kompresowana do DXT, nie trzeba wtedy tworzyć atlasu. To jest drugie z dobrych rozwiązań - brak atlasu, ale zachowanie odpowiedniego rozmiaru.


#13

Tak, jest 2K. Czyli super, materiały postaci mogę skompresować do dxt w unreal engine i będzie gotowe. A inne obiekty jak pomieszczenia i budynki zrobię już w atlasach max 2k i dopiero skompresuje. Nie dość że będzie lepsza optymalizacja to jeszcze skompresowana, super!
=).