kako dodati otkrivanje pogodaka mecima


Odgovor 1:

Prvo započinjem rekavši da je OpenGL bio predmet koji sam uzimao samo zbog interesa i da nemam puno znanja o računalnoj znanosti u cjelini. Ali jednostavan način koji vidim za ovo je da je svijet igara u osnovi 2D zaslon. Zamislite da je meta koju želite pogoditi napravljena od aviona. Sada je moguće dobiti 3D točku iz 2D (postoje odredbe u OpenGL-u). Sve što trebamo je opseg pištolja koji pokazuje u igri. Iz koordinata x, y uzmite X, Y, Z. Sada s ovim provjerite pada li X, Y, Z unutar ciljne ravnine (u ovom slučaju pravokutnika ili trokuta).


Odgovor 2:

Najbolji način da se krene je bacanje zraka sudara. Na taj ćete način dobiti sve informacije potrebne za obradu metka: točka sudara, normalni vektor u točki pogotka (može se koristiti za razne stvari, poput emitiranja čestica u odgovarajućoj dirdkciji), poligon koji ste pogodili, entitet koji ste pogodili. Emitiranje zraka sudara mora raditi na vašem objektu za particioniranje prostora kako bi se upitao brzi popis objekata koje testirate na sudaru s vašom zrakom. Prilikom izrade metoda otkrivanja sudara između kugle, kutije, cilindra i drugih primitiva uzmite u obzir i dodavanje zraka u odnosu na primitivni sudarač. Za izgradnju cijelog sustava potrebno je malo rada, ali rezultati su korisni.


Odgovor 3:

Raycasting. Projektirate zraku iz cijevi pištolja i vidite da li se zraka sudara s mrežom drugog lika. Mnoge 3D knjižnice imaju podršku za raycasting.

Evo jednog za primjer.