Apie

Tai, ką perskaitysite, bus trumpa fizikos kompiuteriniuose žaidimuose ir panašiuose dalykuose panaudojimo apžvalga. Stengsiuosi dėmesį atkreipti ne tiek į žaidimus, kiek į fizikos taikymą juose.

Kas yra fizika?

Šiandien, norint atsakyti į šį klausimą, reikėtų užduoti papildomą klausimą: apie eksperimentinę ar apie teorinę fiziką kalbame? Šįkart mus labiau domina teorinė fizika, kurią galėtume apibrėžti kaip mokslą apie realių vyksmų modelius.

Fizikinis modelis – tai realių fizikinių vyksmų aproksimacija. Anksčiau, kol fizikai neturėjo kompiuterių, teoretikai virtualius eksperimentus atlikdavo nebent mintyse. Šiandien kompiuteris kone pagrindinis fiziko teoretiko darbo įrankis.
Sukurti gerą fizikinį modelį nėra lengvas darbas. Reikia žinoti, jog, tiriant kokį nors reiškinį, niekada netenka ir nereikia įskaityti visų įmanomų veiksnių. Užtenka įskaityti du, tris ar keturis pačius svarbiausius. Kaip moksliniame darbe, taip ir žaidimuose.

Žaidimuose iš principo naudojama pakankamai siaura ir labiausiai išbaigta fizikos sritis – Niutono mechanika. Vienas pirmųjų žaidimų kūrėjų uždavinių – sukurti gerą kompiuterinę programą, gebančią Niutono mechanikos pagalba imituoti realius vyksmus. Ši programa dar vadinama fizikos varikliu. Čia naudojami tokie mechanikoje sutinkami kintamieji, kaip inercinė masė, greitis, pagreitis, įvairių prigimčių jėgos.
Prancūzų matematikas Laplasas (1749 – 1827) yra pasakęs: „Jeigu žinočiau visų Visatos dalelių padėtis ir greičius – žinočiau viską apie ateitį“. Ši garsi frazė labai tiksliai apibūdina fizikos variklių paskirtį.

Fizikos variklius būtų galima suskirstyti į dvi klases: didelio tikslumo ir realaus laiko. Didelio tikslumo fizikos varikliai geba sukurti labai tikslius ir realistiškus modelius, tačiau skaičiavimus atlieka daug ilgiau nei realaus laiko fizikos varikliai. Didelio tikslumo fizikos varikliai daugiausiai naudojami moksliniuose tyrimuose ir kompiuterinėje animacijoje. Kompiuterinių žaidimų ar kitokių interaktyvių programų atvejais norėtųsi, jog programa atliktų skaičiavimus nedelsdama, tad didelio tikslumo varikliai čia visai netinka. Realaus laiko fizikos variklių skaičiavimai būna supaprastinti taigi mažiau tikslūs tam, kad jie galėtų būti atlikti laiku.

Kompiuterinių žaidimų atveju, priešingai nei mokslinių tyrimu atveju, greitas veiksmo atlikimas yra kur kas svarbesnis nei to veiksmo tikslumas. Dėl šios priežasties daugelyje 3D žaidimų objektai turi dvi formas. Viena jų būna sudėtingų formų ir matoma tik žaidėjams, kita – supaprastintų formų ir matoma tik fizikos varikliui. Sakykime, sudėtingų, tolygių formų ąsotį fizikos variklis gali suprasti tiesiog kaip cilindrą. Dėl šios priežasties neįmanoma ko nors prakišti pro ąsočio ąsą ar įdėti ką nors vidun. Fizikos variklis tiesiog nežino, jog egzistuoja šios ertmės. Dažnai tenka aproksimuoti paprastesniais ne pavienius objektus, o jų sistemas. Čia, norint išlaikyti vyksmų realistiškumą, iškyla daugiau problemų.
Ankstesniuose žaidimuose objektų sistemose buvo plačiai naudojama kietų kūnų dinamika. Tuo būdu sudėtingus objektus keisdavo keletas paprastesnių objektų. Tačiau vėliau kompiuteriai tapo gerokai galingesni, tad nebuvo reikalo per daug paprastinti objektų, juolab, kad dėl to tekdavo aukoti vyksmų realistiškumą. Vėliau pradėta naudoti taip vadinama minkštų kūnų dinamika. Ji pranašesnė tuo, jog čia ir paprastus objektus sudaro objektų sistema. Taip pat tai leidžia modeliuoti vėjo poveikį įvairioms objektų sistemoms (audiniams, plaukams ir kt.), realistiškiau atvaizduoti vandenį, ugnį, sprogimą ir panašius dalykus.

Dar?…

Tam, kad per daug neišsiplėsčiau ir jums neatsibosčiau, šįkart nieko neparašiau apie fizikos variklių istoriją. Šią svarbią temą išsamiau panagrinėsiu kitąkart. Tikiuosi jums patiko skaityti šį straipsnį ne mažiau, nei man patiko jį ruošti.