Fysiikkamoottori on tietokoneohjelma , joka tuottaa tietokonesimulaatioita todellisen maailman fysikaalisista laeista virtuaalimaailmassa vaihtelevalla approksimaatioasteella . Useimmiten fyysisen mallinnuksen fyysisiä moottoreita ei käytetä erillisinä itsenäisinä ohjelmistotuotteina , vaan muiden ohjelmien olennaisina komponentteina ( alirutiineina ).
Kaikki fyysiset moottorit jaetaan ehdollisesti kahteen tyyppiin: peli- ja tieteellinen .
Nykyaikaiset fysiikan moottorit eivät simuloi kaikkia todellisen maailman fyysisiä lakeja, vaan vain joitain, ja ajan kuluessa ja tietotekniikan ja tietotekniikan kehityksen myötä "tuettujen" lakien luettelo kasvaa. Vuoden 2010 alussa fysiikkamoottorit voivat simuloida seuraavia fysikaalisia ilmiöitä ja tiloja:
Elokuussa 2009 Game Developer aikakauslehti , julkaisi artikkelin nykyaikaisista pelimoottoreista ja niiden käytöstä. Lehden mukaan kehittäjien keskuudessa suosituin on nVidia PhysX -moottori , joka vie 26,8% markkinoista. Toisella sijalla on Havok , joka omistaa 22,7 % markkinoista. Kolmannella sijalla on Bullet Physics Library -moottori (10,3 %) ja neljännellä Open Dynamics Engine (4,1 %). [yksi]
Fysiikkamoottorin avulla voit luoda jonkinlaisen virtuaalisen tilan, joka voidaan täyttää kappaleilla (virtuaaliset staattiset ja dynaamiset kohteet), ja määrittää sille joitain yleisiä kappaleiden ja ympäristön vuorovaikutuksen lakeja, joissakin määrin lähellä fyysisiä. vuorovaikutusten luonteen ja asteen asettaminen (impulssit, voimat jne. e). Varsinaisen kappaleiden vuorovaikutuksen laskennan ottaa vastuulleen moottori. Kun pelkkä tiettyjen lakien mukaan vuorovaikutuksessa oleva objektijoukko virtuaalitilassa ei riitä fyysisen mallin epätäydellisen approksimoinnin vuoksi todelliseen, on mahdollista lisätä (kappaleisiin) yhteyksiä. Laskeessaan kappaleiden keskinäistä ja ympäristön vuorovaikutusta fyysinen moottori tuo tuloksena olevan järjestelmän fyysisen mallin lähemmäksi todellista ja välittää tarkennetun geometrisen tiedon näyttövälineille ( renderer ) .
Body ( eng. body ) on pelin fysiikan esine, jonka määrittelevät:
Yhteys (yhteys; eng. joint ) - rajoituksia pelin fysiikan esineille, joista jokainen voidaan asettaa yhden tai kahden kappaleen päälle.
Fysiikkamoottori ratkaisee pääsääntöisesti kappaleiden vuorovaikutuksen ongelman. Oman vuorovaikutusalgoritmin käyttäminen voi kuitenkin olla tarpeen, ja yleensä moottorit tarjoavat tällaisen mahdollisuuden.