MiNT RSSNezaradené

Technológia VFX za Sarosom: od NGP po grafit

Pred piatimi rokmi sme písali o tom, ako vizuálne efekty v Návrat ožil, vrátane voxelizéra v reálnom čase, ktorý rozpustil Phrike do objemovej hmly. Ak ste to nečítali, tento príspevok je dobrým spoločníkom tohto.Takto ten príbeh pokračuje.s Saros, nerozšírili sme…

Pred piatimi rokmi sme písali o tom, ako vizuálne efekty v Návrat ožil, vrátane voxelizéra v reálnom čase, ktorý rozpustil Phrike do objemovej hmly. Ak ste to nečítali, tento príspevok je dobrým spoločníkom tohto.

Takto ten príbeh pokračuje.

s Saros, nerozšírili sme len to, čo sme vybudovali pre Returnal. Ustúpili sme, pozreli sme sa na tridsať rokov nahromadeného vývoja motora a prestavali sme ho na jednotný rámec: grafit.

Čo sme mali a prečo sme to zmenili

Náš vlastný časticový engine, NGP (Next-Gen Particles), začal ako prototyp pre Resogun v roku 2013 a odvtedy rástol s každou hrou, až po Returnal. Od spoločnosti SAROS bol NGP vyspelý, ale bol tiež produktom dvanástich rokov postupných rozhodnutí, z ktorých každé bolo urobené v kontexte špecifickej izolovanej hry.

Potom sa zmenilo niečo iné: my. Pripojiť sa k PlayStation Studios znamenalo poskytovať zážitky na úrovni, ktorú naši hráči očakávajú, a naše nástroje a mená, ktoré sme im dali, už nezodpovedali štúdiu, ktorým sme sa stávali.

Zadajte grafit. Prináša simuláciu GPU, vykresľovanie, nástroje a integráciu DCC pod jednou architektúrou, postavenou priamo pre hardvér PlayStation. NGP nezmizol, stal sa súčasťou grafitu, vyvinul sa a je schopnejší ako kedykoľvek predtým.

Každá hra Housemarque má vizuálnu identitu, ktorú hráči okamžite rozpoznajú. Grafit je to, čo to umožňuje.

A čo vlastne robí, snímku po snímke, najlepšie vysvetlia neuveriteľní ľudia, ktorí ju postavili:

Architekt Housemarque Graphics Sharman Jagadeesan a hlavný grafický programátor Konsta Toivanen vás prevedú objemovou hmlou v Sarose: ako sa vyvinula z Returnal a dvoma systémami, ktoré sme vytvorili, aby atmosféra Carcosy bola živá.

Risto Jankkila (VFX Architect) vysvetlí, ako sme rozšírili Graphite o údaje z Houdini, vrátane úplného rozdelenia sekvencie spawnu hráča.


Objemová hmla

Hmla v hrách je často dodatočný nápad, niečo, čo vypĺňa prázdny priestor a skrýva vzdialenosti kresieb. V Sarose sme chceli, aby bol živou súčasťou sveta, ktorý reaguje na všetko, čo sa v ňom deje.

V Returnale bola naša objemová hmla už reaktívna, ale príliš nízka frekvencia a ťažké časové filtrovanie jej bránilo zobrazovať jemné detaily. Pre Saros sme vytvorili dve doplnkové riešenia: nízkofrekvenčnú hmlu pre okolitú atmosféru a vysokofrekvenčnú hmlu pre efekty postáv, ktoré možno vidieť v špeciálnych príbehových miestnostiach v Carcose.

Nízka frekvencia hmly

Ako východiskový bod sme vzali froxelovú hmlu Unreal Engine, voxelovú mriežku zarovnanú do zrezaného okraja, a prestavali sme jej významné časti, aby vyhovovali našej vízii.

Prvou výzvou bola časová stabilita. Koeficient hysterézie riadi, koľko údajov z predchádzajúcej snímky hmla drží: Predvolená hodnota Unrealu 90 % udržuje obraz stabilný, ale hmla je pomalá na rýchlo sa pohybujúcich kamerách a svetlách. Stlačili sme to na 50% pomocou chvenia modrého šumu a upínania hĺbky, aby sme udržali výsledný aliasing pod kontrolou.

Saros tiež potreboval hmlu, ktorá by mohla predstavovať všetko od okolitej hmly s nízkou hustotou až po prízemnú hmlu s vysokou hustotou. Aby sme ich verne vykreslili, použili sme:

  • A duálny Henyey-Greenstein fázová funkcia modelujúca, ako sa svetlo rozptyľuje dopredu a dozadu cez hmlu v závislosti od uhla pohľadu.
  • A farebný absorpčný koeficient, ktoré určuje, koľko svetla sa absorbuje pri prechode médiom, pre oveľa širší rozsah farieb ako tradičné monochromatické riešenia.
  • A samotieniaci systém ktorá agreguje prichádzajúce svetelné zdroje do dominantného smeru tieňovania a lúče k nemu pochodujú.
  • A fyzikálne založený integrál osvetlenia oblohy, pre presné diaľkové osvetlenie bez obetovania výkonu.

Spoločne to dodalo atmosfére Carcosy uzemnenú fyzickú kvalitu.

,Napokon, nízkofrekvenčná hmla je plne interaktívna. Advekcia z našej simulácie kvapalín, ktorá sleduje hráča, sa privádza priamo do kroku hysterézie hustoty, vďaka čomu je každý pohyb hráča, projektil, výbuch a nepriateľ čitateľný v hmle v reálnom čase.

Vysokofrekvenčná hmla

Pre vysokofrekvenčnú hmlu sme postavili vlastný lúčový pochodovač. Aby sme udržali výkon pod kontrolou a zároveň zachovali vernosť, pred pochodom zoskupujeme rozptylové údaje do skupín voxelov 8x8x8, pričom kreslíme iba zhluky, ktoré obsahujú údaje, pričom ich počet drží pod kontrolou užívateľom definovaný prah. Počas pochodu sa preskakujú prázdne oblasti medzi zoskupeniami, takže pochodujúci môže urobiť väčšie kroky, kde môže.

Pre osvetlenie sme vyhodnotili objem svetla na rozptylový objem, ktorý obsahuje ožiarenie zo všetkých svetelných zdrojov, s predbežným vlastným zatienením pre každý svetelný voxel. Exponovali sme parametre pre albedo, absorbanciu, hustotu a tieňovanie, čím sme umožnili umelcom vyvážiť vizuály a výkon pre každý zväzok.

Tieto dva systémy hmly sa potom zlúčia: počas vysokofrekvenčného pochodu vzorkujeme údaje o rozptyle hmly s nízkou frekvenciou a výsledky podávame späť, aby oba zostali navzájom konzistentné.

Prípady použitia

Vysokofrekvenčnú objemovú hmlu sme použili v niekoľkých scenároch. Jeden prípad použitia bol v Prológu vo forme dymovej lebky s pripojenými káblami. Ďalším prípadom použitia bolo to, čo nazývame Mirages. V štyroch z našich biómov sú špecifické naratívne miestnosti, kde Arjun čelí dymovým tvorom.

Teraz sa zobrazuje snímka 1 z 2

Hmlová lebka na začiatku prológu

Štvorposchodové izby s Mirages

Reaktivita je kľúčová pre všetky VFX, ktoré vyrábame, a tieto efekty neboli výnimkou. Keďže údaje o náraze nepotrebujú vysoké rozlíšenie, ukladáme ich v samostatnom zväzku s nízkym rozlíšením, ktorý si pre lebku zachováva aj svoje nízkofrekvenčné rýchlostné pole.

Videá nižšie ukazujú tento objem vľavo a v kombinácii s lebkou vpravo. Nárazy sa vyhodnocujú ako pole so znamienkom vzdialenosti, ktoré sa časom uzatvára, pričom rýchlosť je znázornená farebne, môžete vidieť nárazové otvory aj turbulencie, ktoré vytvárajú.

Teraz sa zobrazuje snímka 1 z 2

Tu je konečný efekt lebky bez káblov a iných sekundárnych prvkov a v inom prostredí.

Účinok fatamorgány je podobný ako efekt lebky. Rozdiel je v tom, že existujú takzvané fatamorgány, ktoré sa otáčajú. Použili sme aj náš voxelizátor kostrovej siete v reálnom čase, aby sme do scén vniesli existujúce siete. Video nižšie ukazuje prechod medzi voxelizovaným výsledkom a konečným výsledkom s advekciou údajov z predchádzajúceho snímku.

,Tu je konečný efekt s otáčaním dvoch scén fatamorgána v testovacom prostredí. Na reaktivitu sme použili rovnakú metódu opísanú pre efekt lebky.


Rozšírenie grafitu o údaje od Houdiniho

Okrem zlepšenia kvality vykresľovania našich objemových efektov sme chceli našim umelcom predstaviť nové spôsoby ich tvorby.

Predtým sa objemové efekty vytvárali písaním výrazov na voxel pre emisiu hustoty v kombinácii so simuláciami tekutín poháňajúcimi advekciu (smerový pohyb) poľa hustoty. Keďže tento prístup typu grid-and-voxel je priemyselným štandardom pre filmové VFX, bol to aj náš prirodzený prvý krok.

Od dní návratu: voxelizácia Phrike do mriežky na emisiu hustoty

Počas vývoja Returnal sme si uvedomili, že potrebujeme prísnejšiu kontrolu nad tým, kde presne vzniká hustota. Logika per-voxel nám umožňuje vyžarovať hustotu na blízkych povrchoch alebo voxelizovaných sieťach, ale čokoľvek zložitejšie prichádza s vážnou réžiou za behu. Vyžarovanie hustoty len z ramena postavy, a nie z celého jej voxelizovaného tela, bolo veľmi ťažké efektívne v reálnom čase.

Tiež od Returnal: emisia plnej hustoty tela z voxelizovanej sieťoviny

Aby sme to vyriešili, obrátili sme sa na častice, ktoré riadia emisiu objemovej hustoty. Plne programovateľný časticový systém Graphite nám dal pevný základ pre prísne kontrolované objemy, výsledkom čoho sú dva nové nástroje:

An Ooffline Houdini Data Pipeline: umožňuje umelcom vopred vypočítať komplexné, vysokokvalitné údaje v Houdini, ktorých generovanie za behu by bolo príliš drahé.

A Rnečas Point Cloud Rasterizer: vysokovýkonný komponent, ktorý berie simulované body a rastruje ich priamo do objemu v reálnom čase.

Spoločne nás to oslobodilo od bezstavových výrazov per-voxel a rigidných simulácií tekutín. Častice môžu teraz presne sledovať animovanú sieť postavy, čo dáva umelcom plnú kontrolu nad správaním a životným cyklom efektu.

V praxi umelec importuje animovanú postavu Sarosa do Houdini a používa jej nástroje na výpočet počiatočných pozícií a atribútov pre efekt. Tieto pečené dáta sa privádzajú do herného enginu, kde preberá simulácia v reálnom čase. Vo videu nižšie sa body vygenerované v Houdini tesne zhodujú s postavou v hre a vlastná runtime logika ich odpútava od nepriateľa pri dopade guľky, takže počiatočné pozície pochádzajú od Houdiniho, ale správanie dynamicky reaguje na hráča v reálnom čase.

Vytváranie bodových údajov v Houdini

Použitie bodových údajov z Houdiniho v motore

Keďže umelci môžu exportovať akýkoľvek druh údajov z Houdini do Graphite, je ľahké ísť nad rámec statických častíc pripojených k postavám. Nižšie častice prúdia cez povrch animovanej siete: povrch sa rozvinul v Houdini do 2D simulačného priestoru, potom sa exportoval a mapoval späť na animovanú sieť v reálnom čase.

Prúdenie častíc na Arjunovom tele vľavo. V strede extrahujeme z častíc ISO povrch. Vpravo máme objemovú hmlu emitovanú z prúdu častíc.

Najlepším herným príkladom tejto technológie v akcii je sekvencia rozmnožovania hráčov v hre Saros. Tento komplexný efekt je postavený vo viacerých vrstvách, počnúc offline v Houdini, kde generujeme spline priamo na kostrovú sieť hráča. Pri exporte týchto splajnov do grafitu zaobchádzame s každým kontrolným bodom pozdĺž splajnu ako s individuálnou časticou.

,Simulácia pozícií častíc v Houdini. Tieto sa používajú iba ako cieľové pozície v motore a pohyb rastu sa bude počas behu dynamicky simulovať.

Náš programovateľný časticový systém za behu riadi, ako sa tieto prvky správajú v priebehu času. Spline sa najprv voľne pohybujú v priestore, potom sa postupne nasmerujú späť k ich cieľovým pozíciám na sieťke znakov.

Chceli sme, aby hráč vyzeral, ako by sa fyzicky reformoval zo skupiny premenlivých „goo“. Pochodové kocky nám dodali viskózny vzhľad s pevným povrchom a jeho ovládanie pomocou častíc nám umožnilo vytvoriť sekvenciu, v ktorej sa hráč sformuje zo samostatných vlákien do postavy.

Pochodové kocky vyrobené z častíc

Podobne ako drážky, ktoré generovali hladký povrch, môžeme tiež emitovať objemovú hustotu. V sekvencii spawnu sme umiestnili niekoľko spline častíc blízko miesta hráča a vytvorili sme z nich objemovú hmlu, aby sme simulovali stúpajúcu paru alebo dym. 

Objemová hmla vyžarovaná z drážkovania častíc

Ako posledný dotyk sme pridali častice iskier, ktoré kolidujú s hráčskou postavou, pomocou podpísaného poľa vzdialenosti vypočítanej z hráčových kolíznych puzdier. Programovateľný časticový systém nám tu opäť poskytol flexibilitu: hráč priťahuje častice, ale keď sa dostanú príliš blízko, sieťka hráča ich odpudzuje, čím pomáha predať vzhľad vynorenia sa z horúcej, lávovej tekutiny.

Častice kolidujúce s SDF kapsulami prehrávača

Tu je všetko skombinované. Každý prvok je simulovaný za behu pri 60 snímkach za sekundu na základnom PS5, bez akýchkoľvek hotových simulačných prostriedkov. To nám umožňuje odoslať viacero spawn animácií, z ktorých každá má miernu náhodnosť, takže zakaždým, keď sa hráč prebudí, bude vyzerať trochu inak.

Konečná sekvencia spawnovania hráča


Neustále sa rozvíjajúca vývojová cesta

Keď si prečítam, čo tu Risto, Sharman a Konsta rozobrali, cieľ pre nás a našu technológiu bol vždy rovnaký: každá simulácia, každý efekt, každé rozhodnutie o vykreslení existuje, aby ste pri hraní niečo cítili.

Vytváranie hier znamená veriť v niečo, čo ešte nemôžete dokázať, a jediní ľudia, ktorí to môžu potvrdiť, sú samotní hráči. Hráči Saroša nám podľa vlastných slov povedali, že záleží na tom, čo sme postavili. A to pre nás znamená všetko.

Naše hry budú naďalej informovať o technológii, ktorú vyvíjame pre Graphite, a vždy ukážu, čo dokáže PlayStation ako platforma. Nemôžeme sa dočkať, až sa s vami podelíme o túto budúcnosť.

Prev Next
No Comments

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *