Grafika 3D - Unreal Engine 5 zadziwia

Na początku parę wyjaśnień, żebym został dobrze zrozumiany. Na poniżej zaprezentowanym filmiku można obejrzeć sobie wymodelowaną w 3D stację kolejową. Niby nic, w końcu w hollywoodzkich produkcjach nie takie cuda już nam pokazywano, prawda? Ale tutaj mamy do czynienia z czymś troszkę innym.

Animacja 3D

Otóż sceny do produkcji filmowych są budowane podobnie do tego, jak ja budowałem kiedyś zestaw do szachów. Pracowicie modeluje się wszystkie kształty, otoczenie, nakłada tekstury i tak dalej. Większość pracy przebiega w takim "uproszczonym" trybie:

Dzieje się tak dlatego, że generowanie grafiki 3D jest mocno zasobożerne, tzn. potrzeba dość długiego czasu, by powyższą scenkę zamienić w coś takiego:

Na moim komputerze domowym "wyliczenie" powyższej scenki zajęło kilkanaście minut w rozdzielczości HD. Dla rozdzielczości 4K byłby to czas kilkukrotnie dłuższy, a przecież do animacji potrzebujemy ok. 30 klatek na każdą sekundę! Doba nie wystarczyłaby mi do przygotowania sekundy filmu!

Proces zamiany opisu matematycznego na obraz polega - z grubsza - na tzw. śledzeniu promieni światła (ang. ray tracing). Na "scenie" mamy różne źródła światła (punktowe, powierzchniowe, o różnej mocy, kolorze itp.) No i komputer teraz dzieli takie źródło na ileś (wiele) promieni i oblicza, jakiego koloru będą punkty "trafione" przez te promienie. Światło się odbija, przenika czy tłumi, co zależy od ustawionych materiałów dla poszczególnych elementów "sceny" - a że trzeba prześledzić każdy promień, trwa to bardzo długo, mimo olbrzymiej mocy obliczeniowej współczesnych komputerów. Im bardziej realistycznie ma wyglądać scena, tym większej liczby obliczeń trzeba, tym więcej elementów trzeba uwzględnić. Proces owych obliczeń, zamieniających matematyczny zbiór danych w widzialny obraz, nazywany jest renderingiem.

Gry

Z drugiej strony mamy gry z grafiką 3D. Tutaj nie można sobie pozwolić na wielogodzinne renderowanie pojedynczych klatek - tu ma się dziać wszystko błyskawicznie, w czasie rzeczywistym. Na przestrzeni lat wymyślono zatem całe multum różnych technik oszczędzających czas, oszukujących nasze zmysły, część rzeczy może być przygotowana wcześniej, część to sztuczki i uproszczenia, części "niedociągnięć" po prostu nie zauważamy - gracze nie mają na ogół czasu na delektowanie się detalami, bowiem prą do przodu swoim bohaterem i tyle.

Niemniej, ciągły rozwój tego sposobu generowania grafiki sprawił, że kolejne "silniki" graficzne, czyli specjalne biblioteki graficzne (ale i nie tylko graficzne), którymi posługują się twórcy gier, doprowadziły do tego, że obecnie grafika w grach zaczyna doganiać tę "renderowaną". Twórcom "silników" dzielnie sekundują producenci kart graficznych i procesorów - zwłaszcza te pierwsze to już prawdziwe monstra, potrafiące wykonywać setki miliardów (i więcej) obliczeń w czasie sekundy (producent karty graficznej nVidia RTX 3080 podaje, że jest ona w stanie wykonać 29*1012 operacji na sekundę!)

Nic dziwnego zatem, że grafika w grach wygląda coraz lepiej, a w ostatnich miesiącach przełom przyniosła piąta już edycja Unreal Engine, który potrafi naprawdę niesamowite rzeczy.

Do brzegu

No i właśnie obejrzałem taki filmik, opublikowany na kanale subjectn, gdzie twórca samodzielnie zamodelował istniejącą w rzeczywistości stację kolejową:

To jest właśnie grafika, którą obecnie można uzyskać w grze komputerowej. Wprawdzie twórca ma do dyspozycji "zaledwie" kartę graficzną RTX 2080, więc zamiast 30-50 klatek na sekundę daje radę wyświetlać ich 6-7 w 1440p, ale na nieco lepszym sprzęcie (np. RTX 3080) wygląda to tak, jak na filmiku.

Przyznam, że osobiście patrzyłem w to jak sroka w gnat, bo jakość tej grafiki jest powalająca - naprawdę można z łatwością uwierzyć, że to prawdziwe nagranie wideo - sztuczka ze światłem dobitnie jednak pokazuje, że to sztuczny świat.

Ech, czyli jednak w pełni fotorealistyczna grafika w grach komputerowych właśnie staje się faktem - tylko (póki co) trzeba mieć BARDZO wydajny komputer, żeby sobie takie cudeńka oglądać. Ale za 5 lat pewnie nikogo już taki poziom wizualny nie będzie szokował...

Komentarze

  1. Niesamowite! Mam jednak wrażenie, że coraz więcej osób będzie się do takiego świata "przenosić", tracąc kontakt ze światem realnym.

    OdpowiedzUsuń
    Odpowiedzi
    1. No cóż, wizja zaprezentowana w Matriksie może się któregoś dnia w części ziścić - ludzie będą wybierali życie w wirtualnej ułudzie, gdzie nie będzie widać przeludnienia, gdzie każdy będzie mógł mieć domek w odludnej okolicy, ciszę, spokój, piękny widok z okna. Te dobra już obecnie są dostępne dla coraz mniejszej garstki ludzi, a w pamięci komputerów będzie można tworzyć bez problemu...

      Usuń

Prześlij komentarz