16. 10. 2008

70% objemu ľudského tela

Nejdem vás strašiť momentkou z neštastného Bioshocka. Ide o záber z filmu Poseidon, remake jedného starého fláku o prevrátenej výletnej lodi a kope topiacich sa pasažierov. Už vám asi došlo, že reč bude práve o tej vode. Konkretné tá, na ktorú sa teraz pozeráte je celá dielom technológie Flowline. Proste umelina. Všetky tie odlesky, bublinky, turbulencie, šplachot, realistický pohyb vodnej masy a jej vplyv na okolie. Ak nás teda netlačí čas a požiadavka na akciu v reálnom čase dokážeme dosiahnúť fotorealistickú úroveň, vrátane uveriteľného pohybu /sledujte ich demo reel/.



Je však možné dostať niečo podobné napríklad ako fyzikálny plugin do hry LittleBigPlanet /vývojári ho tam plánujú/v podobnej kvalite, a nečakať na ďalšiu generáciu výkonu ? Samozrejme. Aproximácia pre herné potreby je mocná čarodejnica. Nechám bokom aj viac ako tri roky vývíjaný "herný" hydroengine firmy Blade Interactive /áno, s týmto softvérom by sa Bioshock prestal správať ako hra z roku 1998 so všetkými ich zastaralými maniermi/.

Ide mi niečo iné, dokázať vám, ako sa da z minima vydupať "filmová" kvalita, len to chce premôcť lenivosť. Nechám vás stiahnuť dva maličké, staré ale ovladateľné vodné demátka. Toto /1.1 mega/ je 3 roky staré a je tu pekné vidieť ako výpočetne banálnou technikou enviromentálneho cube mappingu a jednoduchým shaderom vydrbeme s odrazom a lomom prostredia na našej kvapaline. Výsledok pre potreby LBP je v pohode, a nie je problém si to vylepšiť ku obrazu /výkonu/ svôjmu. Až ten jeden megabajt rozbalíte, nájdete tam dva súbory nazvané rtfluid1000 a 1500 /realtime fluid/. Skúsenejší vedia, pomalším napoviem. Naša "voda" - jej tvar a správanie vôbec je v skutočnosti pohyb stoviek-tisícov malých guličiek-častíc, že ich nevidíte ? Stlačte písmeno M. Pred vašimi očami ich skryl prefíkaný pixel shader. V tejto chvíli vás už nepochybne napadlo, že tie čislá vlastne označujú počet týchto častic v tom virtuálnom poháre vody. Čím viac, tým lepšie prekreslenie, presnosť a autentickosť jej vzhľadu. A je logické, že jazero vám 1500 partiklov nenasimuluje /tu ich je cca 60 000/. Táto "blob-guličková" technika je dnes najviac rozšírená a pozorné oko si niekedy všimne podozrivo neprirodzene zvlnený povrch, alebo efekt rozsýpaných skleniek pri ich nízkom počte /sledujte, keď tu vodu prelieva z pohára do pohára/. Je na výkonnom hárdvéri aby s týmto poradil. Mimochodom, možno ste videli amatérske LBP beta videa, kde sa to guličkami iba tak hemžilo, a mali podozrivo vode podobný pohyb.

Fajn, grafiku máme. Teraz to hoďme do 2D projekcie a dajme tej vode je typické vlastnosti: nestlačiteľnosť, vztlak, kohéznosť, viskozitu, kapilaritu a zviažme ju gravitáciou. Dopadneme ako v tomto druhom deme. Nečakajte - má to iba 260 kilo /pochádza z roku 2004/. Zvoľte si súbor s parametrom HIGH /teraz už viete, že označuje počet "vodných" častíc, v tomto prípade ich je iba 1000 !!/, a použite myš. Majte pri tom stlačené pravé, alebo ľavé myšítko. Nie je to paráda ? Musím priznať, že roky netrpezlivo čakám na niečo podobné. LBP to pravdepodobne dostane v krátkom čase. Na štandardnú prítomnosť v hrách, tam kde to bude relevantné, a ku prospechu veci si radšej aspoň do príchodu next next genu nezvykajte.