7. Siatka UV
7.0. Tekstury – pipeline
Istnieje wiele podejść do kwestii teksturowania, w zależności od narzuconego procesu produkcji (pipeline). Można stosować:
- tekstury dedykowane,
- mieszanie materiałów wg maski lub vertex coloru (blending),
- globalne materiały (generic textures) ustawianie przez ID materiału,
- materiały bazowe i decals lub
- generowanie materiału-koloru (cartoon) jedynie w instancji
A także dziesiątki innych metod…
Przyjęta metoda teksturowania w dużej mierze determinuje sposób tworzenia siatki UV.
Rozkładanie siatki UV omówię na przykładzie tradycyjnego teksturowania, gdyż broń jest na tyle istotna, że często posiada dedykowane tekstury. Takie podejście jest również najbardziej rozbudowane, dlatego świetnie nadaje się do przedstawienia. Doświadczenie, zdobyte w ten sposób zaowocuje i ułatwi podejmowanie decyzji przy innych procesach produkcyjnych (zwykle mniej skomplikowanych).
Pracę rozpoczynamy od rozcięcia broni na wyspy o takim samym aspect ratio. Wszystkie wyspy powinny być tak rozcięte, aby szwy były niewidoczne w kadrze.
7.1. Mirror
Aby zaoszczędzić miejsce na UV, jak najwięcej powinno być odbite (mirror). Jednak należy unikać „motylków” na UV, szczególnie widocznych z rzutu FPP (dotyczy to głównie elementów takich jak celowniki, cyngle, góra broni)

Najlepiej, gdyby prawa strona, która jest niewidoczna w kamerze, została całkowicie odbita.

7.2. Hierarchia ważności
Sugerując się hierarchią ważności, którą określiliśmy w modelu lowpoly, należy odpowiednio przeskalować UV island tak, aby odpowiadały „zapotrzebowaniu” na rozdzielczość. Im bliżej kamery, tym większa skala na UV.
Po rozcięciu i rozłożeniu wysp, tak aby aspect ratio UV było proporcjonalnie (takie samo dla całego modelu), przystępuje się do ich przeskalowania. Mnożniki skali zwykle wyglądają w następujący sposób:
- 1.2 – elementy znajdujące się bliżej gracza (celowniki, optyk, tył broni przy samej kamerze;
- 1.1 – pozostałe elementy znajdujące się blisko kamery;
- 1.0 – korpus broni, magazynki;
- 0.8 – lufa, przód broni.
- 0.6 – elementy poza kamerą
Metodą, pozwalającą upewnić się, że wszystkie fragment mają odpowiednią skalę, jest sprawdzanie skali szachownicy UV checker w kadrze. Jeśli elementy mają podobne zagęszczenie, zależne od perspektywy (im dalej, tym mniejsza skala UV island), to powinniśmy uzyskać dobry rezultat.

Dodatkowo można wspomóc się detail map. Dzięki niej „wyrównamy” rozdzielczość tekstury na całej broni. Jednak należy pamiętać, aby utworzyć dodatkowy UV set, na którym wszystkie UV island będą miały taki sam aspect ratio.
7.3. Mniejsze elementy
Drobną sztuczką, dzięki której większość graczy odczuje broń jako model z teksturą o wysokiej rozdzielczośći jest powiększenie wielkości UV małych detali, takich jak np. śrubki. Drobne detale, drażnią nas, przyciągają uwagę – szczególnie w sytuacji, gdy przełamują one monotonię jednolitej płaszczyzny. źródło
Właśnie na podstawie detali gracz określa jak „dobrą grafikę” ma dana broń, dlatego warto zainwestować w nie odrobinę więcej miejsca na UV.
Ten dodatkowy mnożnik (baza × hierarchia × dodatkowy mnożnik) nie powinien przekraczać ok. 1.15 i często jest podyktowany ilością wolnego miejsca na siatce UV.
2014. Preattentive Processing źródło: http://www.csc.ncsu.edu/faculty/healey/PP/index.html
7.4. Układ
Z technicznego punktu widzenia, nie ma znaczenia w jaki sposób rozmieścimy wyspy na UV. Mimo to, istnieje kilka wskazówek, w jaki sposób należy to robić. Priorytetem jest utworzenie takiej siatki, aby każdy mógł zauważyć, gdzie jaki element się znajduje. Sam sposób rozcinania ścianek, przesuwania ich obok siebie również ma znaczenie.


Poszczególne elementy powinny leżeć obok siebie poukładane w logiczny sposób (przykładowo: naboje koło magazynka, cyngiel koło prowadnicy, itp.) W znaczący sposób ułatwia to teksturowanie. Grafik nie musi poszukiwać elementów po całej siatce, tylko wie, że znajdują się obok.
Dzięki rozłożeniu siatki UV zgodnie z grawitacją, korzystanie z programów do generowania tekstur zaoszczędzi wielu problemów związanych z kątem padania zacieków / wzorów. Również ułatwi to umieszczanie typografii. Do podglądu stosowany jest gravity checker.

Jeszcze jednym ważnym parametrem rozkładania siatek, jest dystans pomiędzy wyspami. Należy przyjąć zasadę, że odstęp powinien wynieść minimalnie 4-6 px dla docelowego rozmiaru tekstury (w wypadku, gdy przepalamy model w wyższej rozdzielczość, odstępy powinno być powiększone o ten sam mnożnik).
Im większe przerwy, tym większe straty rozdzielczości tekstury jednak zachowanie odstępu jest konieczne ze względu na edge padding. Zagadnienie to zostało dokładnie opisane na polycount wiki.
Do liczenia odstępów stosowany jest noise pattern.

7.5. Przygotowanie do eksportu
Gdy cała siatka UV jest gotowa, możemy przystąpić do przesunięcia odbitych (mirror) elementów, o 1 ćwiartkę w prawo. Dzięki temu każdy, kto będzie miał do czynienia z modelem, od razu zorientuje się które fragmenty nie są unikatowe. Na wcześniejszych etapach, dobrze jest oznaczyć odbite (mirror) fragmenty np. poprzez material ID, później łatwiej będzie nam określić jakie wyspy (UV island) należy przesunąć.
