Unreal Engine 5 – Titan grafičkih prikaza
Prije više od dvije decenije Naughty Dog je srušio barijere svojevremenog dizajna i način prikaza poligona u trodimenzionalnim modelima, izazivajući sumnje i prozivke koje su isticale da je nivo grafičkih detalja prikazanih na demo snimcima Crash Bandicoot-a nemoguće dostignuti na konzoli za koju je bio dizajniran. Ipak, fiksirajući kameru duž dvije od tri dimenzije, Naughty Dog je u svojem kultnom klasiku upotrijebio nešto što će se u industriji u narednim godinama usavršiti. Shvativši da postoji maksimalan broj poligona koje PlayStation-ova grafička kartica može da ima učitane u bilo kom momentu, odlučili su da segmentišu svoje nivoe, pa da kako se igrač kreće kroz njih, djelove koje ostavlja za sobom mijenjaju djelovima kojima se približava. Ovo je značilo da je u svakom momentu većina aktivnih poligona prikazana na ekranu. U zavisnosti od zahtjevnosti obrade originalni PlayStation mogao je da prikaže 90.000 do 360.000 poligona, primičući se većem broju sa uklanjanjem osvjetljenja i nijansiranja, dok se ne dobije jednobojna ravna površina. Vremenom, grafičke kartice su napredovale, kao i tehnologije obrade slike, pa smo dostigli prosjek od 1 do 5 miliona poligona sa detaljnim teksturama i osvjetljenjima… A onda? Onda je došao Unreal Engine 5 i rekonstruišući tehnologiju prikaza poligona poveća kapacitete prikazivanja, ne za 10 ili 100 puta; ni za 1.000 već za 10.000 puta što dovodi broj poligona prikazanih u momentu na 5 do 10 milijardi.
Šta je to Unreal Engine 5
Unreal Engine 5 softver kompanije Epic Games, namijenjen programiranju video igrica najnovije generacije. Prva verzija je objavljena 1998. godine sa otvorenim kodom. Veliki uspjeh doživio je zbog politike firme koja daje svoj softver besplatno, i korisnik nije dužan platiti ništa dok ne ostvari godišnju zaradu od 1 milion američkih dolara, kada firma uzima 5%. Posljednja verzija, Unreal Engine 4, bila je objavljena 2014. godine. Neke od najpoznatijih igrica rađene u ovom programu su: Hellblade: Senua’s Sacrefice, Final Fantasy VII Remake, Crash Bandicoot 4: It’s About Time, Street Fighter V, Tekken 7 i još mnogo drugih.
Nanite
Ovaj novi geometrijski sistem koristi potpuno nov format za mreže trodimenzionalnih modela i tehnologiju za prikaz iste kako bi prikazao precizne detalje do najsitnijeg piksela sa velikim brojem objekata. Inteligentnim programerskim dizajnom programeri Epic Games firme uspjeli su da stvore sistem koji prikazuje isključivo detalje koji mogu biti viđeni i ništa drugo. Nanite podatak je takođe i izuzetno kompresovan što omogućava besprijekoran tok animacija i automatsko prilagođavanje nivoa detalja. Standardno bi umjetnici digitalnih medija za svaki objekat koji se nalazi u daljini morali da naprave isti objekat sa jednostavnijim konturama, kako ne bi oduzimali od ukupnog broja poligona. Novom tehnologijom koju Unreal Engine 5 donosi sa sobom vremenska ušteda na ovom dosadnom poslu, koji je jedino bio praktikovan radi poboljšanja prikaza kadrova, postaće prošlost. Zbog toga će svaka igrica imati mnogo više sati rada uloženo na stvari koje su zapravo bitne i bliske igračevim očima.
Prema riječima tvoraca koristi koje donosi Nanite tehnologija su:
- Višestruko kompleksnija geometrijska tijela, veći broj poligona i objekata koje je moguće obrađivati bez opadanja broja frejmova po sekundi.
- Individualni frejmovi nijesu ograničeni brojem prikazanih poligona ili memorijom koja je potrebna da bi se mreža modela prikazala
- Moguće je unijeti trodimenzionalne skulpture filmskog kvaliteta i ostvariti fotorealističan prikaz
- Upotrebom visokopoligonskih detalja moguće je dizajnirati sitne detalje, bez potrebe da oni budu ocrtani u teksturama.
- Nivo detalja se automatski reguliše, tako da nije neophodno praviti više različitih verzija istog modela koji se mijenjaju u zavisnosti od daljine.
- Gubitak na kvalitetu je izuzetno rijedak ili gotovo nepostojeći, pogotovo kod tranzicija u nivoima detalja.
Nanite mreža modela je, suštinski, i dalje mreža trouglova na koju je primijenjena velika količina kompresovanja. Upotrebom potpuno novih tehnika, Nanite sistem prikazuje ovako kompresovan fajl na ekstremno efikasan način. Najljepša stvar kod Nanite sistema jeste njegova inkorporacija. Da bi čitav sistem mogao da se primjeni pri trenutnoj obradi mreža dovoljno je samo aktivirati Nanite sistem. On automatski nakon toga vrši svoju kompresiju bez problema, budući da je dizajniran kao napredna verzija standarnog pristupa, tako da se sam rad sa ovim mrežama modela suštinski ne mijenja, već samo podržava kompleksnije i definisanije detalje. Dodatne virtuelne teksture nijesu neophodne sa upotrebom Nanite-a, mada su preporučljive. Takođe, Nanite podržava više različitih načina kontrole osvjetljenja objekta, kroz standardnu dinamičnu manipulaciju različitih materijala unutar istog objekta.
Nanite je se izuzetno lako integriše u već postojeće djelove Unreal Engine-a, bez obzira na to što koristi nove načine prikazivanja i skladištenja podataka trodimenzionalnih mreža modela. Dok vrši importovanje, mreže se analiziraju i razdvajaju u hijerarhijske skupove i trougaone grupe. Tokom prikazivanja različiti skupovi se mijenjaju velikom brzinom, u zavisnosti od toga koliko detaljno treba prikazati sliku spram pozicije kamere u odnosu na mrežu, i kako povezati različite skupove sa susjednim skupovima savršeno bez prekida. Svi podaci se prikazuju tek kada su u interakciji sa kamerom, tako da jedino vidljivi detalji opterećuju grafičku memoriju. Nanite ima sopstven način slanja upita za prikazivanje slike koji u potpunosti zaobilazi tradicionalan način prikaza.
Lumen Global Ullumination and Reflections
Lumen je druga strana novčića, koja omogućava fenomenalne performanse na ovim visokim rezolucijama. Novi sistem refleksija i globalnih osvjetljenja je dizajniran tako da razliva unutrašnje refleksije beskonačnom količinom odbijanja svjetlosti i refleksije ogledala na razmjerama od par milimetara do nekoliko kilometara. Kada kažemo „razliva unutrašnje refleksije“ to znači da kada zraci svjetlosti padnu na neku površinu oni bivaju odbijeni od nje, ali uz to takođe u zavisnosti od površine i intenziteta svjetlosti na vrlo realističan način blago mijenjaju boju i preuzimaju boju podloge u koju su udarili i njome obasjavaju susjedne površine. Na ovaj način dobijamo vrlo realističan efekat stapanja boja koje su u fizičkoj blizini. Mreže koje se nalaze u svakom momentu u prostoru takođe blokiraju svaku indirektnu svjetlost što takođe kao rezultat stvara dodatan realističan set sjenki. Razlivanje boja u beskonačnim odbijanjima dobijamo kada su dva ili više materijala koji odbijaju svjetlosti blizu jedni drugima. Poseban sistem obrađuje ovakvu vrstu razlivanja bez potrošnje velike količine sistema za obradu slike. Uzevši u obzir da je Lumen dizajniran paralelno sa Nanite tehnologijom, prilagođen je da osvjetljava standardne visokorezolucione detalje u punoj rezoluciji, dok svim indirektnim osvjetljenjima smanjuje rezoluciju i na taj način postiže realističan izgled svjetala. Poseban segment programa pod nazivom Lumen’s Final Gather dizajniran je oko dnevnog svjetla i prilagođen je da na prirodan način čini da unutrašnjosti objekata budu znatno mračnije od spoljašnjih. Lumen takođe omogućava osvjetljenja niskog kvaliteta, koja mogu biti izuzetno korisna u slučajevima kada želimo prikazati slabo osvijetljen prostor ili maglu.
Animacije
Što dublje propadamo u zečiju rupu inovacija koje je Epic Games unio u Unreal Engine 5, to brže počinjemo da shvatamo koliko smo neke stvari uzimali zdravo za gotovo, kao nepopravljive elemente koji će uvijek štrčati u oku igrača, te kao nešto što odaje da ipak nijesmo u stvarnom svijetu. Jedan od problema animacija u igricama jeste taj što svaka animacija, u zavisnosti od situacije, mora da bude ručno animirana. Sa ovakvom situacijom postoje dvije mogućnosti: da nikada ne dozvolimo da se animacija nađe u situaciji za koju nije predviđena ili da istrpimo kada stopala nijesu nagnuta pod pravim uglom na usponu ili ne gaze ravnomjerno po stepenicama. Unreal Engine 5 ovaj naizgled ne tako bitan problem rješava novim sistemom pod nazivom Full-Body IK solver. Ovaj sistem je dizajniran tako da umjesto da traži za različite situacije različite animacije, on na osnovu već postojeće animacije u standardnom okruženju pronalazi nova rješenja i prilagođava animaciju okruženju. Sa ovim sistemom animacija „razumije“ individualne djelove svoje strukture i prilagođava ih situaciji, što čini da čitav pristup kretanju bude izmijenjen na takav način da stvara mnogo realističnije scene i atmosferu za igrače.
MetaSounds
MetaSounds je nov način za upravljanjem zvukom u Unreal Engine 5. Ovo je analogan i potpuno programabilan sistem za upravljanje zvukom, koji omogućava proceduralno generisanje i upravljanje zvukom. Posljednjih godina statične kompozicije, koje imaju svoj početak i svoj kraj, su počele da ispadaju iz upotrebe. Većina dizajnera video igrica odlučila se za dinamičnu muziku koja, u zavisnosti od nivoa opasnosti, provedenog vremena i pozicije mijenja svoju strukturu. MetaSounds kao posljednji na listi inovacija predstavlja potpuno nov sistem za intuitivnu konstrukciju proceduralno generisanog zvuka. Sa ukupnim grafičkim i animacionim napretkom, nije veliko čudo da su posvetili pažnju i dinamičnom zvuku. Ovakav sistem, na osnovu parametara datih od strane okoline, umjesto da aktivira zvučni fajl koji onda emituje svoj podatak od početka do kraja, aktivira djeliće zvuka koji su programom i dizajnom povezani sa individualnim elementima u okolini, te stoga program koji generiše lupanje padajućeg kamena na osnovu veličine, težine, oblika i činjenice da li je pukao ili ne; može u svakom momentu, spram ovih parametara, da generiše zvuk koji odgovara situaciji.
Ostalo
Nakon više od dvije decenije rada, Unreal Engine 5 predstavlja zadivljujuć proizvod, koji će definitivno ostaviti uticaj na cijelu industriju, ako ne i šire. Nije strano da su velike firme, poput Diznija, prilikom snimanja Avengers: Infinity Wars i serije Mandalorian koristili okruženja za dizajn video igrica, kako bi približili glumcima i režiserima scene koje treba da otjelotvore. Osim velikog broja inovacija, Unreal Engine 5 takođe ažurira veliki broj opcija koje su bile prisutne u Unreal Engine 4, i omogućava bez poteškoća da se bilo koji projekat iz prethodne verzije neometano prebaci u novu verziju. Činjenica da je još uvijek u early access verziji nam samo stavlja do znanja da, iako možda ima par bubica koje valja iščistiti, možemo očekivati još interesantnih i kvalitetnih promjena i inovacija od strane kreatora do perioda zvaničnog lansiranja programa početkom 2022. godine.
AUTOR: Nemanja Radović