A 3D ütközés megvalósításának legjobb / leghatékonyabb módja

Már programoztam egy 2d alapú ütközési rendszert egy előző játékhoz. Ez volt az első ütközési rendszerem, és ez csúnya volt. Az objektumok ütközését kerestem az összes objektum összes objektummal történő ellenőrzésével. Már hallottam olyan rácsrendszerről cellákkal, ahol egy objektum csak a jelenlegi celláiból nézi az ütközést más objektumokkal. Tényleg jó módszer az ütközés ellenőrzésére?

Szeretnék egy jó technikát, amellyel az összes elememet végigvezetem egy 3D-s világban.

Válasz

Szüksége lesz egy jó térfelosztó algoritmusra, amelyet általában a 3D-ben használnak, oktáblák .

Ezután körülveheti a modelleket stb. olyan gömbökkel, amelyekbe szépen illeszkednek, mert a határoló gömbök közötti ütközést nagyon könnyű kiszámítani. Miután megtudta, hogy két határoló gömb ütközik, vagy megismételheti kisebbé a határoló gömböket, és hozzáadhat határoló gömböket, hogy az objektum el legyen fedve, vagy pedig egy másik intelligens algoritmust két összetett objektum ütközésének kiszámításához.

Lásd ez a kép: több határoló gömb

Válasz

Végül szerintem a válasz kérdésére az adott alkalmazás igényeitől függ, mivel nincs “mindenki számára megfelelő megoldás”. Bár az interneten számos tisztességes erőforrás található, sok időt és időt takaríthat meg magának, és frusztráltság Christer Ericson “s Valós idejű ütközésérzékelés felvételével, amely nagyon részletesen lefedi a technikák és algoritmusok sokféle változatát, például a C ++ kóddal. / p>

Segített abban, hogy baba lépéseket tegyek, mielőtt belekezdtem egy nagy rendszer kiépítésébe. Írtam egy függvényt annak megállapítására, hogy egy pont van-e egy síkban, n, ha egy pont egy háromszögben van, ha a sugár egy háromszögben van, stb. Ezután különböző konvex szilárd anyagok statikus tesztjeire haladunk: AABB vagy háromszög stb. Idővel az áthatolhatatlannak tűnő dolgok (bocsáss meg a szójátéknak) először kevésbé ijesztő. Íme egy sor jó számú teszt, példakóddal:

http://www.realtimerendering.com/intersections.html

Időközben, mivel tudom, hogy nem mindenki tud csak 70-80 dollárt elkönyvelni egy könyvért kedvére, íme néhány kifejezés, amelyet érdemes megvizsgálnia:

  • Térbeli felosztás, október, négyzetfák, BSP-fák
  • BIH-fák
  • Korlátozó kötetek és korlátozó kötet-hierarchiák
  • Diszkrét vagy folyamatos ütközés detektálás
  • Tengelytétel elválasztása
  • GJK algoritmus

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük