Więcej niż łatka tekstur? (Część 1)


Więcej niż łatka tekstur? (Część 1)

ThielHater | 2 kwi 2021 Tłumaczenie Damianut

W tej serii artykułów przyjrzymy się bliżej pewnym technicznym detalom Gothic Reloaded Mod. Przyłącz się do mnie w tej ekscytującej podróży! Dla ogólnego zrozumienia zdecydowałem zrobić to bez matematycznych formuł i definicji. To, co tracimy na precyzji, niech czytelnik zrekompensuje swoim zrozumieniem i wyobraźnią. ednak to, czego nie obejdziemy – i o czym traktuje pierwsza część serii artykułów – jest wprowadzenie pewnych podstawowych koncepcji grafiki komputerowej.

Po pierwsze, świat gry w komputerze składa się z powierzchni (faces) w przestrzeni, które są opisane przez ich wierzchołki (vertices) i krawędzie (edges). Poprzez umiejętne aranżowanie powierzchni, trójwymiarowe bryły (meshes) mogą być modelowane, ten proces jest nazywany zatem modelowaniem 3D. Weźmy dla przykładu tę prostą kostkę:

Ponieważ zwykłe bryły nie są szczególnie ekscytujące, artysta 3D pokrywa je obrazem, który jest nazywany teksturą i został wcześniej stworzony przez artystę 2D. Nawiasem mówiąc, pokazana tekstura jest domyślną teksturą Gothic, która jest używana jako zamiennik, jeśli przypisana tekstura nie może zostać znaleziona z pewnej przyczyny. Jeśli my, jako deweloperzy wykonamy naszą pracę dobrze, nigdy nie zobaczycie tego jako gracze.

W komputerze obrazy są prawie zawsze opisywane grafiką rastrową. Obraz składa się z licznych małych części, jak mozaika, które są nazywane pikselami. Obecnie, technologia jest tak zaawansowana, że pojedyncze piksele nie mogą być już dalej rozpoznawane gołym okiem przy normalnej odległości oglądania, ale komputer może je jednoznacznie zaadresować. Następujący przykład pokazuje wysoce powiększoną sekcję, w której pojedyncze piksele są łatwo rozpoznawalne.

Kiedy tekstura jest nałożona na siatkę, dla każdej powierzchni jest zdefiniowane, która sekcja obrazu powinna być na niej wyświetlana. Ta technika nazywa się mapowaniem UV. W tym procesie każdy punkt powierzchni bryły jest przypisany do punktu na teksturze. Litery U i V nie mają tu głębszego znaczenia ani X, Y lub Z w kartezjańskim układzie współrzędnych.

Weźmy dla przykładu kowadło, z siatką po lewej i przypisaną teksturą po prawej stronie. Białe linie reprezentują krawędzie powierzchni, z których było modelowane. Nie zobaczysz ich w grze, oczywiście, są one tylko dla wyjaśnienia. Ponadto pozwoliłem sobie wyróżnić jedną powierzchnię na czerwono jako przykład.

W ten sposób wprowadziliśmy podstawowe pojęcia i możemy przejść do drugiej części, która dotyczy renderowania tekstur.