[OpenGL] Czy da się pobrać współrzędne obiektu?


#1

Witam,

robię grę 3d z widokiem pierwszej osoby i nadszedł czas aby zrobić kolizje :confused:

Mam pewien pomysł, ale nie wiem czy wykonywalny:

czy jest jakaś funckja (lub w ogóle czy to możliwe), która sprawdziłaby czy jakiś obiekt jest na tej samej pozycji co ja? tzn. chcę porównać współrzędne najbliższego obiektu do współrzędnych gracza żeby sprawdzić czy postać koliduje z obiektem.

A jeżeli pomysł nie jest za bardzo realny, to czy są jakieś sprawdzone sposoby na sprawdzenie kolizji?

Z góry dzięki!


(Razi) #2

Są sprawdzone metody, na których opierają się współczesne silniki fizyczne, np. Bullet, Newton Physics, PhysX, Havoc, ODE itd...

Jak piszesz w gołym OGLu to przecież masz wszystkie obiekty gdzieś zapisane. Możesz pętlą przelecieć i posprawdzać kolizje, fizyka prostopadłościanu bez obrotów nie jest trudna.

Poszukaj: "detekcja kolizji siatek".

najlepiej użyj jakiegoś gotowego silnika np. ODE.


#3

a takie pytanie na przyszłość:

czy polecacie jakiś sinik fizyki do LWJGL? (Opengl + java). Nie musi być super rozbudowany. Byle by był w miarę prosty w użyciu :slight_smile:


(Ryan) #4

JBullet do Bulleta, JOODE do ODE, JPhysX do PhysX.

http://jbullet.advel.cz/

http://joode.sourceforge.net/

http://www.jphysx.com/


#5

A czy ktoś orientuje się jak zainstalować JBulleta na NetBeansie na linuxie?

PS: JphysX wygląda na nierozbudowywanego przez sporo czasu...