-
1. Data: 2010-06-29 13:29:49
Temat: detekcja kolizji w 3d
Od: "fir" <p...@p...onet.pl>
niby znany banalny temat ale ja jakos nigdy tego poki co nie
robilem: na scenie mam sporo obiektow rzedu kilkudziesieciu tysiecy
i normalnie sprawdzać kolizje kazdego z kazdym (choćby prostym ifem
dla x y i z bo mi zadna skomplikowana geometrycznie detekcja nie jest
raczej potrzebna) byloby chyba nie do uciagniecia - jak to sie
robi - potrzebuje jakiegos maksymalnie wydajnego sposobu na superpostą
prostą detekcje kolizji miedzy dziesiatkami tysiecy obiektów
?
/pozatym mam dola jak zwykle - klopoty z ukl oddechowym i zenujacy
lekarze -> Im DOWN, Im DOWN All The Time :-/
fir
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
-
2. Data: 2010-06-29 14:10:35
Temat: Re: detekcja kolizji w 3d
Od: Karol Y <k...@o...pl>
> niby znany banalny temat ale ja jakos nigdy tego poki co nie
> robilem: na scenie mam sporo obiektow rzedu kilkudziesieciu tysiecy
> i normalnie sprawdzać kolizje kazdego z kazdym (choćby prostym ifem
> dla x y i z bo mi zadna skomplikowana geometrycznie detekcja nie jest
> raczej potrzebna) byloby chyba nie do uciagniecia - jak to sie
> robi - potrzebuje jakiegos maksymalnie wydajnego sposobu na superpostą
> prostą detekcje kolizji miedzy dziesiatkami tysiecy obiektów
Najprostszą bryłą geometryczną przy kolizji to będzie sfera, prościej
się nie da. A jak ominąć sprawdzanie w każdej klatce każdego z każdym?
Możesz np. podzielić świat na sektory ( dajmy sześciany ). Gdy
uaktualniasz pozycję obiektu, zmień również jego pozycje w sektorach (
najprościej to tablica 3D ), a przy sprawdzaniu kolizji sprawdzaj tylko
między tymi, które znajdują się w tym samym sektorze.
Oczywiście musisz uwzględnić też co, gdy obrys obiektu wykroczy poza
obręcz jednego sektora, ale to już szczegóły.
--
Mateusz Bogusz
-
3. Data: 2010-06-29 14:11:47
Temat: Re: detekcja kolizji w 3d
Od: Mateusz Ludwin <n...@s...org>
fir wrote:
> niby znany banalny temat
Skoro jest banalny i znany to ską twoje problemy?
> ale ja jakos nigdy tego poki co nie
> robilem: na scenie mam sporo obiektow rzedu kilkudziesieciu tysiecy
> i normalnie sprawdzać kolizje kazdego z kazdym (choćby prostym ifem
> dla x y i z bo mi zadna skomplikowana geometrycznie detekcja nie jest
> raczej potrzebna) byloby chyba nie do uciagniecia - jak to sie
> robi - potrzebuje jakiegos maksymalnie wydajnego sposobu na superpostą
> prostą detekcje kolizji miedzy dziesiatkami tysiecy obiektów
Maksymalnie wydajne sposoby nie są superproste, a ta które nie są superproste są
zbyt skomplikowane dla kogoś takiego jak ty.
Tak więc musisz porównywać NxN.
--
Mateusz Ludwin mateuszl [at] gmail [dot] com
-
4. Data: 2010-06-29 17:47:01
Temat: Re: detekcja kolizji w 3d
Od: Michoo <m...@v...pl>
Mateusz Ludwin pisze:
> Maksymalnie wydajne sposoby nie są superproste, a ta które nie są
> superproste są zbyt skomplikowane dla kogoś takiego jak ty.
>
> Tak więc musisz porównywać NxN.
Maksymalnie wydajne to może i nie, ale posortować po odpowiednich osiach
i sprawdzać kolejną oś tylko tych sąsiadów, którzy są "kolizyjni" na
jednej z nich to każdy umiejący kompilator obsłużyć da radę.
--
Pozdrawiam
Michoo