Fyzika ve hrách - porovnání tří dnešních standardů Tisk E-mail
Napsal RESIDENT E   
Friday, 10 June 2011
altNa dnešnom hernom poli sa pomerne úspešne udomácnili fyzikálne enginy ako sú physX,havok a bullet physic ,ktoré majú vylepšiť herný zážitok ponúkaný hrou. Je tomu naozaj tak a aký prínos majú pre nás?

 

 

 

Tak ako sa postupom času vyvíjali hry, ako sa z nascriptovanej AI stala celkom obstojne „rozmýšľajúca“, tak z nascriptovanej interaktivity prostredia v hre sa stal živý svet. Preto vám predstavím hneď niekoľko riešení.

 

PhysX

Keď sa povie slovo fyzikálny engine, tak si mnohý hneď predstavia PhysX a potrebu mať grafickú kartu určitej značky, ale ako vieme PhysX existuje aj vo svojej CPU podobe, ktorá je však dnes už pomerne veľmi zastaraná a z jej efektov by som bol nadšený tak asi pred 5 rokmi, nie však dnes. Aj napriek tomu sa k tomuto riešeniu uchyľuje mnoho tvorcov hier a výsledok nám je známy – napríklad Gothic 4 zo svojou nereálnou fyzikou. CPU PhysX sa nedá ani len porovnať zo svojou GPU verziou, ale hlavnou nevýhodou GPU verzie je potreba mať grafickú kartu značky Nvidia, a keďže túto značku kariet má vo svojom PC prinajlepšom polovica majiteľov PC, tak je uprednostňovanie jednej polovice kariet pred druhou prinajmenšom ekonomická samovražda, čo sa týka neskoršej propagácie hry a predaja. A úprimne, koho zaujíma značka, keď ide o výkon  a cenu a  ten nie je vždy priklonený k tej značke kariet potrebnej  k akcelerácií PhysXu.

Efekty GPU PhysX u sú už však iná káva, pridá to hre fakt niečo ako lepšie kolízie, správanie kvapalín, vylepšený časticový systém, deštrukcie...

Ale aj tu sú isté veci ktoré treba objasniť. GPU PhysX síce dokáže reálne zobraziť 10 000 častíc! Ale strieľali ste už v metre 2033 zo zapnutým PhysXom do steny? Ja som mal z toho taký pocit ako keby som strieľal nie zo samopalu, ale z bazuky :D Podobne tomu bolo aj v Mafii 2 keď po výstrele do bedne vyletelo „milión“ tiesok, ale bedňa ostala celá.

Prínos GPU PhysXu je prinajmenšom sporný. Veď  náročnosť PhysXu je taká, že až uvažujem či je vôbec nejako optimalizovaný. Veď kto si dnes môže dovoliť hrať také metro 2033 na max. detailoch zo zapnutým PhysXom? JE to fakt malé množstvo hráčov.

Rovnako tragická optimalizácia je aj u CPU verzie PhysXu, ktorý síce využije všetky dostupné vlákna procesoru, ale nevyužije moderné inštrukcie ako sú SSE, čiže jeho výkon môže byť aj polovičný ako keby mal podporu týchto inštrukcií. Špekulácie o tom, že PhysX bude podporovať Open CL a bude akcelerovateľný aj na ATI/AMD katrách sa nakoniec nepotvrdili (bohužiaľ).

Hry kde sa vyskytuje PhysX - Mirror’s Edge, Cryostasis: Sleep of Reason, Batman: Arkham Asylum, Mafia 2, Metro 2033....

 

Havok

Ďalší real-time fyzikálny engine, ktorí simuluje detailne kolíze, správanie kvapalín, deštrukcie, pohyby tiel...Havok využíva na akceleráciu procesor.

Havok v hrách: The Elder Scrolls IV: Oblivion ,Company of Heroes , Halo (séria) (s výnimkou prvého Halo), Half Life 2, Zaklínač 2, Wolfenstein, Fallout 3 , Fallout: New Vegas , Half Life 2, James Cameron Avatar: The Game, Just Cause 2, StarCraft II...

Ak mám hodnotiť Havok tak skutočne to čo predviedol v hre Just cause 2 je famózne. Tie výbuchy, deštrukcie (aj keď hlavne padajúce vozidlo vždy dopadne na kolesá :D) vyzerajú geniálne. A ak máme hodnotiť fyziku pevných telies tak jednoznačne v HL2, ktorá obsahovala upravenú verziu Havoku. Fyzika v HL2 by dostala odomňa 10 bodov z 10. Kto nehral nepochopí :D A kto hral ...

 

Bullet physics

Je vlastne open source engine, o ktorom mnohý síce nepočuli, ale určite sa s ním stretli. Keďže teraz jeho tvorcovia spolupracujú z AMD tak pribudla aj podpora hardwarovej akcelerácie cez grafické karty cez OpenCL a DirectCompute. Bullet physics dokáže vytvoriť verné simulácie kolízií, deformovateľných objektov (skúste havarovať v GTA 4 a uvidíte aké verné :D), objektov ako sú laná, oblečenie a mnohé iné tvary. Je to vlastne CPU-GPU engine keďže využíva aj processor a aj grafickú kartu na akceleráciu výpočtov (grafickú kartu len v menšej miere).

Na rozdiel od PhysX si ho pustíte na akejkoľvek karte (nemyslím karty z roku 2000 :D) a vie tiež vyžmýkať z vášho procesora

Bullet physics v hrách - Grand Theft Auto IV, 3D Mark 2011

Bullet physics vo filmoch – 2012, Hancock, Sherlock Holmes, Shrek 4 (tu sa tvorcovia troche viac „vybláznili“ pretože pre šreka potrebovali vedieť ako sa správa blato a tak vyvinuli nový fyzikálny model pre jeho správanie :D)

Pár slov záverom. Až už vývoj kráča ktorýmkoľvek smerom ,dúfam že to povedie k tomu aby sa tieto enginy ďalej vyvíjali k svojej dokonalosti a udomácnili sa aj v hrách kde fyzika zatiaľ úplne chýba(crysis 2 ,niektoré výbuchy tu vyzerajú ako nascriptované ) a aby šli nám všetkým bez rozdielu značky karty :D




Čo myslíte ,ktorý fyzikálny engine je lepší ?


Starší články


Komentáře
Přidat Nový
MIKRON [Zobrazit profil] [Poslat zprávu] 2011-06-14 17:33:54
avatar
Vsázím na Havok. Fyzika by měla být ve hrách dostupná ne veškerém HW a ne že někdo to ušije jenom na jednoho výrobce a ten druhý ostrouhá.No ale to stejnak neřeším tak co.
Leclerk [Zobrazit profil] [Poslat zprávu] 2011-06-14 18:26:02
avatar
Taky vsázím na Havok. V Hl2 byla hodně dobrá fyzika na tu dobu a jak píše Mikron, měla by být dostupná na veškerém HW
Koleno [Zobrazit profil] [Poslat zprávu] 2011-06-14 20:17:39

skoda jen ze po tym co Havok koupil Intel tak se nejak moc nevyviji
Kevin [Zobrazit profil] [Poslat zprávu] 2011-06-14 21:53:51
avatar
Tak ono by to bylo v celku jedno, pokud byli vsechny bez omezeni. Takhle k tomu ma nejbliz asi Havok
nox [Zobrazit profil] [Poslat zprávu] 2011-06-16 16:35:37
avatar
Nevím jak to je teď ale když máte ještě tu PhysX kartu do PCI nepoběží to náhodou i na AMD grafikách? Kkyž vemem v potaz že PCI karty měli svoje vlastní ovladače od ageie.
Marfy234 [Zobrazit profil] [Poslat zprávu] 2011-06-16 19:25:10

Pokiaľ viem tak novšie ovládače NVIDIA PhysX blokujú GPU PhysX ak je detekovaný ovládač AMD(ATi).
GOS007 [Zobrazit profil] [Poslat zprávu] 2011-06-20 17:58:11
avatar
Co jsem asi před rokem kolem toho pátral, tak pokud jsi měl v PC kartu ATI, tak ti to nefungovalo. No a teď se mi zdá, že ty Ageia karty dnes už nejsou vůbec podporované a v nových hrách to přes ně neakceleruje, protože je nové ovladače nVidia už vůbec nepodporují, tak jsem to tedy při hledání na netu pochopil.
Veyron [Zobrazit profil] [Poslat zprávu] - Bullet 2011-06-16 23:54:03
avatar
Jednoznačne Bullet...ja vidím budúcnosť v "OPEN svete" a vždy budem open štandardy podporovať...

PhysX je obmedzený Nvidiou a Havok zase Intelom, takže pre mňa je Bullet bezkonkurenčný...
RESIDENT [Zobrazit profil] [Poslat zprávu] - phys X 2011-06-17 13:22:14
avatar
Ano problém PhysX u je v obládačoch,veď nevidím problém prečo by nemal " šlapať " na AMD/Ati grafikách .Pre zaujímavosť http://www.youtube.com/watch?v=J9HaT23b-xc a http://www.youtube.com/watch?v=a06hAe747Do
fero [Zobrazit profil] [Poslat zprávu] 2011-06-18 20:26:27

ja se tesim na okamzik, az v nejaky hre uvidim třeba engine lagoa :S
Hanzy *HonzaN [Zobrazit profil] [Poslat zprávu] 2011-06-18 22:09:44

Pro mě je nejlepší fyzikální engine Bullet Phisics, viz anketa
j.matrix [Zobrazit profil] [Poslat zprávu] 2011-06-18 23:08:13
avatar
ako moze niekto napisat phisics a prelozene do slovenciny fyzika
Hanzy *HonzaN [Zobrazit profil] [Poslat zprávu] 2011-06-18 23:13:48

Asi autor, nebo já už teda nevím
fastplus [Zobrazit profil] [Poslat zprávu] 2011-06-20 11:11:33

Je to supre ye sa zaoberaju vyvijary aj fizikalnimy enginmy je to fak niektore efekty so vazne famozne no niekedy je to fakt prehnane napr. ta bedna v Mafii 2. Keby sa tak spojili vsetky vyhody a vynikol by jeden ktory by stale sperkovali k vedsej dokonalosti a hlavne aby to slo va ktorej kolvek znacke .
romero [Zobrazit profil] [Poslat zprávu] 2011-06-23 00:29:30

Je uplne jedno ci sa pouzije Bullet/Havok/Physx, vsetky bezia aj na CPU. Zalezi hlavne od developerov ci z toho dokazu vytrieskat napr. take destrukcie ako ma Red Faction.
Angel [Zobrazit profil] [Poslat zprávu] - Třísky 2011-07-25 21:58:24

"Podobne tomu bolo aj v Mafii 2 keď po výstrele do bedne vyletelo „milión“ tiesok, ale bedňa ostala celá."

Rikal jsi neco o 10 000 castic ne (asi dva radky na tim)
RESIDENT [Zobrazit profil] [Poslat zprávu] 2011-07-28 10:24:20
avatar
to hej,10 000 častíc je fakt paráda ,len keby boli použité aj nejaké deštrukčné modely pre objekty ktoré ich využívajú
mareknr [Zobrazit profil] [Poslat zprávu] 2011-07-28 12:38:00

Citace:
Podobne tomu bolo aj v Mafii 2 keď po výstrele do bedne vyletelo „milión“ triesok, ale bedňa ostala celá.


Je zaujímavé, že článok máš napísaný tak, že to dávaš na vinu PhysX-u. A to aj napriek tomu, že v hre boli aj iné bedne, ktoré rozbiť išli.

Citace:
Aj napriek tomu sa k tomuto riešeniu uchyľuje mnoho tvorcov hier a výsledok nám je známy – napríklad Gothic 4 zo svojou nereálnou fyzikou.


Pekne že si vybral jednu hru na základe ktorej ideš ukázať, že PhysX poskytuje nerálnu fyziku. BTW iné fyzikálne engine-y ju snáď reálnu majú? Inak PhysX je použitý aj v Mass Effect, Dragon Age alebo v Risen a ani v jednej z týchto hier problém s fyzikou nie je. Je jednoduché vybrať si jednu hru a na jej základe niečo kritizovať bez toho, aby si porozmýšlal nad tým ako je možné, že to čo kritizuješ, v iných hrách problém nemalo.

Citace:
Veď náročnosť PhysXu je taká, že až uvažujem či je vôbec nejako optimalizovaný. Veď kto si dnes môže dovoliť hrať také metro 2033 na max. detailoch zo zapnutým PhysXom?


Neviem prečo si použil práve Metro 2033 kde nie je práve PhysX to, čo robí hru náročnou na výkon. Lepším príkladom by bola Mafia 2. Ale tam je náročnosť celkom opodstatnená: Odkaz, Odkaz, Odkaz. Hlavne APEX clothing bol náročný na výkon a práve ten zaťažoval CPU v najväčšej miere. Dokonca sa vývojári rozhodli, že jeho výpočty presunú na GPU iba ak sa používa zvlásť karta na PhysX.

Citace:
Rovnako tragická optimalizácia je aj u CPU verzie PhysXu, ktorý síce využije všetky dostupné vlákna procesoru, ale nevyužije moderné inštrukcie ako sú SSE, čiže jeho výkon môže byť aj polovičný ako keby mal podporu týchto inštrukcií.


Aj napriek tomu, že PhysX neposkytoval natívne podporu viacjadrových CPU, tak si ju vývojári doprogramovali sami a išlo to v poriadku. Viď už spomínané hry Metro 2033 a Mafiu 2. Ďalej v marci tohto roku vyšla verzia PhysX SDK 3.0 v ktorej je už implementovaná natívna podpora viacjadrovývch CPU. Tiež od svojej verzie PhysX SDK 2.8.4 zo septembra minulého roku je možné skompilovať PhysX tak, aby využíval SSE inštrukcie. Ono totiž NVIDIA sa musí prispôsobiť požiadavkám vývojárov hier a nie naopak.

Ďalšia vec, ktorá veľa ľuďom uniká je, že PhysX nie je rozdelený tak, že buď sú fyzikálne výpočty vykonávané na CPU alebo prostredníctvom GPU. Používa sa ich kombinácia podľa toho čo je kde lepšie počítať. Ono NVIDIA neurobila práve dobre, že jednoduchšie efekty zo začiatku riešili výhradne cez GPU ako napríklad poletujúce papiere ale na základe toho zasa ludia nemôžu predpokladať, že aj na výpočty náročné efekty ako para v Batmanovi je rovnako možné v reálnom čase spočítať pomocou CPU. Aspoň nie na tých dnešných. Hlavne ak tie musia počítať aj niečo iné. Pre to čo je podporované vo PhysX SDK 3.0 viď Odkaz.

Dokonca v terajšej verzii PhysX-u je drvivá väčšina efektov prepočítavaná pomocou CPU. GPU akcelerované efekty by mali postupne byť dopĺňané v ďalších verziách, ktoré majú podľa ohlásenej roadmapy vychádzať každého pol roka. Čo je čo sa týka postupu vývoja ďaleko pred Bullet-om a o Havoku ani nehovorím. Ten dostal útrum po odkúpení Intelom.

Mimochodom PhysX je možné akcelerovať na všetkých možných dôležitých platformách a nie je ani zďaleka obmedzený NVIDIOu a jej GPU ako to niektorí ludia radi prezentujú:

Citace:
who use PhysX for physics simulation across a broad range of platforms, including PC, Xbox360, PLAYSTATION 3, Nintendo Wii , iOS (including iPhone, iPod, and iPad), OSX, Linux, and Android (including NVIDIA Tegra™ devices), MMO servers running Linux and Windows; OSX ports; and Windows games, where GPU-accelerated advanced simulation is poised for continued growth
TomKocuR [Zobrazit profil] [Poslat zprávu] 2011-08-16 12:20:20

Autor by si mal preopakovať základy gramatiky a slohu.

BTW hlas dávam technológii, ktorá vie využiť vymoženosti moderných grafických kariet (OpenCL a DirectCompute - v tom je podľa mňa budúcnosť)
Pouze registrovaní uživatelé mohou přidat komentář!
 

Najdete nás na Facebooku

.... a také na Twitteru

RSS

DDWorld.cz

DDWorld - Blogy a videa

DDWorld - Magazín

Poslední příspěvky v diskuzích


Videa
Prusa Core One – nová uzavřená 3D tiskárna
Prusa Core One – nová uzavřená 3D tiskárnaWednesday, 20 November 2024
Vložil: aDDmin
Kategorie: PC a IT
Spuštěno: 47x
Komentářů: 0
Star Wars Outlaws dostává Update 1.4 – zásadní herní změny!
Star Wars Outlaws dostává Update 1.4 – zásadní herní změny!Wednesday, 20 November 2024
Vložil: aDDmin
Kategorie: Počítačové hry
Spuštěno: 61x
Komentářů: 0
Jak to vypadá v uvnitř DATACENTRA?
Jak to vypadá v uvnitř DATACENTRA?Monday, 18 November 2024
Vložil: aDDmin
Kategorie: PC a IT
Spuštěno: 795x
Komentářů: 0
Vychází LEGO Horizon Adventures – další zábavná LEGO hra?
Vychází LEGO Horizon Adventures – další zábavná LEGO hra?Tuesday, 12 November 2024
Vložil: aDDmin
Kategorie: Počítačové hry
Spuštěno: 1141x
Komentářů: 0
Indiana Jones and the Great Circle hra ala film?
Indiana Jones and the Great Circle hra ala film?Monday, 11 November 2024
Vložil: aDDmin
Kategorie: Počítačové hry
Spuštěno: 1455x
Komentářů: 0
Nový Captain America nevypadá dobře. Thunderbolts* jsou na tom lépe.
Nový Captain America nevypadá dobře. Thunderbolts* jsou na tom lépe.Friday, 08 November 2024
Vložil: aDDmin
Kategorie: Film
Spuštěno: 1308x
Komentářů: 6