Zdravim, mam dotaz, jak na interakci mezi objekty? Myslim tim, kdyz vykresluji objekty pomoci glvertexu -
glBegin(GL_QUADS);
glVertex2i(0,0);
glVertex2i(1,0);
glVertex2i(1,1);
glVertex2i(0,1);
glEnd();
tak pokud se mi ty dva objekty dotknou, pak aby se oba zrusili...napriklad srazka s prekazkou. Vim ze to bude asi slozitejsi, ale jake budou podminky? Kde se to bude osetrovat? ve fci onDisplay? Nejak mi nejde vymyslet jak na to. Dekuju za napad
Fórum › C / C++
Interakce objektů v openGL
před renderováním objektu musíš spočítat, jestli došlo ke kolizi nebo ne, na základě výsledku rozhodnout, zda objekt na scénu patří nebo ne ;)
Když se ptáš strašně obecně tak jukni semhle
http://nehe.ceske-hry.cz/tut_30.php
Se svým OnDisplay vypadáš že nepoužíváš zatim žádnou svou další funkci (a spravne struktury souřadnic a vektorů)
na přesun objektů, tam se hodí rovnou dát i test vzdálenosti 1 Obj. od všech ostatních.
Když je menší než rozměr (ty tvy vertexy*) srazily se. Chce to umět analytickou geometrii, tj. SŠ matematika.
Pak je to práce s vektorama, rovnice pro polopřímku,rovinu a hlídání času nárazu.
Nebo si bez rovnic pohyb kouskuješ v čase na malé dílky.
Příp. zkus implementovat nějaký hotový komplexní kolizní systém, (ale tim se to nenaucis)
http://www.codemonsters.de/home/content.php?show=freelibraries#6
btw sám jsem se kolizím v pravém 3D povětšinou šikovně vyhnul, stačilo mě to ořezat vždy do 2D
a použít jednu Funkci pro r. o 2 neznámejch
* dulezitejsi pozici objektu urcujes totiz v glTranslate/glMultMatrix
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Ovladani objektu v OpenGL klavesnicí — založil Honzik
Interakce s Pythonem — založil Lukáš
Interakce s webem — založil little0inker
Hra - interakce se soupeřem — založil Vorel
Windows services a interakce s uživatelem přes win form — založil bh929
Moderátoři diskuze