30. 6. 2019

Deformujeme, ohýbame, lámeme


"Metóda konečných prvkov je numerická metóda slúžiaca na simuláciu priebehov napätia, deformácii, vlastných frekvencií, prúdenie tepla, javov elektromagnetizmu, prúdenie tekutín a pod. na vytvorenom fyzikálnom modeli. Jej princíp spočíva v diskretizácii spojitého kontinua do určitého (konečného) počtu prvkov, pričom zisťované parametre sú určované v jednotlivých uzlových bodoch. MKP sa používa predovšetkým pre kontrolu už navrhnutých zariadení, alebo na stanovenie kritického (najnamáhanejšieho) miesta konštrukcie. Hoci sú princípy tejto metódy známe už dlhšiu dobu, k jej masovému využitiu došlo až s nástupom modernej výpočtovej techniky." - wikipedia

Po anglicky FEM /finite element method/ a ide o rutinne používaný postup mimoherne v priemysle /ničíme autá v simulovanej havárke alebo testujeme pevnosť zvaru/ už celé desaťročia. To vyššie vám tiež preložím do ľudskej reči. Zoberiete klasický polygónový objekt /mesh/ a jeho vnútornú štruktúru rozdelíte na sieť štvorstenov /malé pyramídky, ide asi o najmenší 3D objekt/. Každý jeden z nich má definované vlastnosti napríklad ako tuhosť /odolnosť voči deformácií/, zachovanie objemu /hmota by sa nemala pri deformácií strácať/, bod plastickej deformácie alebo bod zlomu. No a môžte počítať.

Aj na prvý laický pohľad je zjavné, že ak jeden objekt rozdelím na 16 000 menších asi to pre mašinu veselé nebude. Za starých čias to grafické stanice zvládali skôr v semi-realtime režime a my to teraz chceme do hier vo väčšom merítku a aspoň na 30fps. Odvážne. Nvidia sa do toho pustila už pred mnohými rokmi v balíku svoje PhysX fyziky pod názvom FleX - je integrovaný do Unreal enginu a samotnú Flexku by ste mali nájsť v hrách Fallout 4 alebo Killing Floor 2. FleX je z toho čo viem nájsť zjednodušenou FEMkou, teda menej parametrov, s ktorými sa musí trápiť.

FEM fyzika ala AMD - je to celá prednáška, názorné ukážky máte napr. v 3:53 a 32:50 minúte

Video vyššie je úplne čerstvá novinka od AMD. Ide o "plnohodnú" FEM /je možné ju napasovať na CPU, GPU/ a pretože je PS5 kompletne AMD stroj tak nás to extra zaujíma. Opäť ide o plugin integrovaný do Unreal enginu a čaká na dostatočný výkon aby sa prejavil. Tak snáď sa s tým stretneme v tých PS5 hrách. Osobne to vidím tutovo a masovo použiteľné v niečom ako The Last of Us, teda komornejšia gamesa, kde je lepšia kontrola nad prostredím. Nečekám to v Gran Turisme 7 kde hrozí, že sa zrazí naraz 22 áut so sanitkou. V ďalšom GTA to ale očakávam aplikované aspoň na malé detaily - trochu železného ohýbania značiek, trochu trhania šiat, lámania stromov, možno nejaké nalievanie vína do pohára. Také milé hravé veci.