Ahojte, programujem v Java3D a snažím sa o takú malú demonštráciu fyziky, napríklad pri náraze dvoch objektov. Problém mám ale pri zrážkach dvoch objektov, kde aj keď je objekt tvaru gule, alebo natočenej kocky, kolíziu hlási Java pri prieniku vituálnych kociek, ktoré opisujú daný objekt a sú vždy orientované rovnako. Vyzerá to nasledovne:
Gula smeruje pohybom dole, kde v jej trajektórií sa nachádza natočená kocka.
Mam naprogramovane, ze ak sa gula dotkne kocky, teda do nej narazi, tak sa jednoducho odrazí, avsak proces odrazu nastene príliž skoro, gula sa kocky este nedotkne. Pripadá mi to, ako keby boli objekty obalené v iných kockach, ktoré keď sa dotknú, tak nastane kolízia:
_________
I............I
I............I
I............I <-- Java hlási kolíziu a to sa ešte nedotkli.
/I
/.I
I................I
I................I
Používam triedu Behavior a na kolíziu WakeupOnCollisionEntry/Movement/Exit.
Vie mi niekto poradiť ako to spraviť alebo to sám musím spraviť?
Riešenie kolízie 3D objektov - Java
Riešenie kolízie 3D objektov - Java
Naposledy upravil/-a zegee29 v So 04. Sep, 2010, 20:29, upravené celkom 1 krát.
Re: Riešenie kolízie 3D objektov - Java
Ano mas pravdu pravdepodobne tam je box, ktory ohranicuje objekt. Tato technika sa vola Bounding Box. S tvojim problemom ti ale neporadim, lebo v Jave 3D vobec nerobim.
Re: Riešenie kolízie 3D objektov - Java
Je mi to známe, ten bounding box, som v tomto este novy, a necital som cely java doc, ale sa aspon chapeme Skusim sa na to pozriet tymto smerom a "neako" vypnut bounding box a mozno by to vtedy fungovalo... Nasiel som funkciu intersect na triedu Bounds, zial este s tym mam existencne problemy, nakolko nie kazda podtrieda Shape3D to asi zvlada... Proste sa pokusim nieco a zreferujem ;-) zatial dik