Mielőtt elkalandozna bárki fantáziája a címmel kapcsolatban itt egy játék engine-ben szerintem használható lehetséges technikákat szedem össze.
A felállás viszonylag egyszerű hiszen alapvetően két szempont szerint lehet osztályozni a lövedékeket: méret és sebesség alapján. Nézzük sorban a lehetséges kombinációkat:
- A legkönnyebb eset a kis méret és nagy sebesség. Gyakorlatban ez azt jelenti legtöbbször, hogy a lövedék annyira kicsi és nagy sebességgel mozog, hogy nem látjuk -csak az elsülés pillanatát vesszük észre- és lehetetlen kitérni előle -az elsülés pillanatában már be is csapódik. Tehát renderelni a lövedéket nem kell az ütközéshez pedig elég raycast (vagy sweep) vizsgálat.
- Második a sorban a nagy méret és (relative) alacsony sebesség. Ilyenkor azt feltételezzük, hogy egy frame alatti elmozdulás kisebb, mint a méret legkisebb dimenziója -vagyis elég nagy ahhoz, hogy mindennel érintkezni fog az útja során és nem ugrik át semmit. Rendelni ilyenkor a lövedéket szükséges. Ütközéshez a lövedék (konvex) befoglalóját érdemes használni esetleg egy mozgó, térbeli szakaszt mérettől és alaktól függően.
- A legbonyolultabb eset a (relative) nagy méret és nagy sebesség. Előző esetben a szimuláció diszkrét időközönkénti kiértékelése lassú mozgásnál gyakorlatilag folytonos mozgáspályát eredményezett itt viszont már akkora a sebesség, hogy a pálya térbeli pontokká esik szét vagyis a közbülső pontokat látszólag nem érinti a test. Ilyen esetben van szükség folytonos ütközésvizsgálatra (continuous collision detection, CCD). Renderelnünk itt is a lövedék modelljét szükséges.
- Gyanítom, hogy kis méretű, kis sebességű lövedékek nem léteznek. Speciális esetekben, mint pl bullet time a 2. eset jöhet szóba.
Megjegyzések:
1. esetben a kis méret legtöbbször az elhanyagolhatóan kis méretet jelenti ill. valamilyen nyalábot pl. lézer.
3. esetben pedig a méret már látható méretet jelenti, amely észrevehető sebességgel mozog. Lehetséges, hogy a CCD leváltható abban az esetben ha rendkívül kicsi mértékben léptetjük az időt. Valószínűleg a mai enginek már leginkább ezt, a 3. esetet preferelják.