reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Fyzika ve hrách

5.8.2013, Pavel Kovač, článek
Fyzika ve hrách
S každou novou hrou očekáváme i nové a interaktivnější prostředí. Vývoj fyziky ve hrách doznal od svého počátku velké změny a občas dokonce poskočil doslova mílovými kroky. Dnes se podíváme na ty nejzajímavější hry z pohledu fyziky.

Vzestup krále






Na úplný začátek se podíváme na jedno delší video. Jde o úplně první prezentaci Source enginu a jeho schopností. Jak si můžete všimnout, tehdy v roce 2003 nešlo primárně o grafickou část, ale o tu fyzikální. Grafické pozlátko bylo samozřejmě také důležité a například taková voda uchvátila nejedno oko. Při videu si zapněte zvuk, pěkně totiž uslyšíte tleskání a jásot publika v místech s fyzikou nejvíc hlasitě.




Není fyzika ve hře Half-Life 2 opravdu dobrá i dnes? Ano, nemá tolik vzájemně interagujících objektů, ale realističnost je téměř perfektní. Je to dáno také tím, že Source engine zkombinoval klasickou fyziku a RagDoll tak pěkně, že to nepůsobilo jako pěst na oko. Zkrátka to, že Combine voják umřel a spadl jako hadrová panenka, nevadilo. Obvykle si totiž až tolik nepolámal kosti a spíše jen spadl a přizpůsobil se terénu. Co bylo na hře Hal-Life 2 ovšem zcela unikátního, bylo spojení hry s příběhem, FPS žánru a fyziky. To do té doby žádná jiná hra neměla. Díky tomu si získal místo v srdcích nejednoho hráče.

Spousta lidí si uvědomila, že hra nemusí být jen zábavná po stránce FPS žánru, ale může být zábavná i po stránce fyziky. Není třeba zabíjet nepřátele raketometem, když je lepší použít kus kamene, co leží na trávě. Pro hráče tedy jistě velký skok kupředu. Ale co technologie?

Samotný Source engine umožňuje hned několik simulací fyziky. Prvním je již zmiňovaný RagDoll. Ten je použit tentokrát nejen na mrtvé nepřátele, ale také na měkké předměty (typicky matrace). Dále je zde klasická fyzika pevných látek. To znamená například barel, radiátor. Všechny tyto objekty vzájemně reagovaly, měly svou hmotnost a své tření (friction). Díky tomu šlo vytvářet různé mechanismy od houpačky přes ozubená kola, co se vzájemně otáčejí a ovládají něco jiného. Zkrátka klasická hravá fyzika, jakou možná znáte ze hry The Incredible Machine.




Obrázek z nepoužité scény Half-Life 2 (RagDoll na vojáka Combine)


Dále zde byla simulace lan, kabelů a řetězů. Tento systém je sice na první pohled velmi složitý, ale ve výsledku to až takový problém není. V kabelu či laně jsou umístěny kontrolní body na bezierově křivce, a ty reagují na vnější podněty, přičemž je určena konstantní délka lana. Přesto to přidalo do herního světa docela dost. Například při průletu nepřátel nad telefonními kabely či vysokým napětím se kabely pěkně zavlní. Vypadá to efektně a hře to dodává na realističnosti.

Bylo nezvyklé, že ve FPS hře se objevila tak pokročilá simulace vozidel. Obvykle se tento systém objevoval pouze u závodních her a... no, Source engine jim docela vytřel zrak.

Bohužel zde chyběl nějaký komplexnější systém pro deformaci a lom objektů. Pokud se ve hře objevil lom či deformace, byla obvykle předem daná, nebo naskriptovaná. Nic v tomto ohledu nebylo ponecháno náhodě a při pozornějším zkoumání to mohlo vypadat i trochu podivně. Grafici ovšem zvolili lom tak dobře, že to obvykle nebylo ani moc vidět. Při podrobnějším zkoumání těchto zjednodušení naleznete celou řadu. Je to ovšem jen nutné zlo, aby samotná hra byla plynulá na většině počítačů.

Zjednodušení používané v Half-Life 2/Source engine jsou často tohoto charakteru. Ve hře je barel složen z válce, co má v podstatě tvar 18úhelníku vytaženého do výšky. Nejde tedy o přesný válec. Pro fyziku je však nadefinován opsaný matematický válec. Tedy opravdu s kruhovou podstavou. Díky tomu se sud či barel pěkně kutálí po nakloněné rovině. Jinak by nepřirozeně poskakoval a zasekl se na jedné z ploch a navíc by na konci svého pohybu vykonal takovou kolébku. Rozhodně by to nevypadalo dobře. Navíc simulace matematického válce je obvykle pro enginy jednodušší než simulace konkrétního polygonálního modelu.




Interpretace válce pro fyziku


Obvykle jsou také vynechány drobné výčnělky či prolákliny. Například pokud má sud víko lehce zapuštěné, jak je vidět na předchozím obrázku, tak je pro fyziku interpretován jako čistý válec. Těžko si někdo všimne rozdílu v simulaci fyziky. Obdobně jsou optimalizovány i jiné objekty. Často se také v Source enginu používají konvexní tvary, ohraničující objekty. Co to je? Rozdíl mezi konkávním a konvexním objektem je takový (hodně laicky řečeno), že konkávní má v sobě prolákliny. Test, jestli je objekt konvexní, lze učinit tak, že do něj pomyslně zapíchneme tyč/špendlík, a ten nesmí nikdy do objektu vstoupit vystoupit a opět vstoupit. Nebo také všechny vnější úhly musí být větší než 180°.




Díky tomuto zjednodušení je fyzika ve hrách extrémně rychlá. Konkávní výpočty jsou často problém, a pokud je to trochu jen možné, takový objekt ve hře se vývojáři snaží vynechat nebo nahradit dvěma či více konvexními objekty, co jsou vzájemně spojeny. Ale to jsme již docela dost zabředli do technologického hlediska. Podívejme se opět na hry.
reklama