25. september 2006 - 21:12Der er
7 kommentarer og 1 løsning
Råd til collision detection
Har et lille problem angående kollision detektion. Problemet laegger i at jeg udregner mine objekters position til tiden t, ud fra en start vektor som angiver start hasitgheden og retningen. Idet at der er acceleration i y retningen (vi bevaeger os i et plan) vil y koordinatets vaekst oeges jo hurtigere objektet bevaeger sig. Dette giver så problemer naar jeg skal detektere en kollision mellem f.eks. en bold og et gulv, da tiden er hel tal og hoejst sandsynligt ikke passer med at bolden rammer gulvet til tiden lig med et helt tal. Så kunne man jo regne ud til hvilken tid de kollidere og saa bruge resultatet som den sidste tid inden kollision, så man får bolden helt med og ramme gulvet. Men saa kommer naeste problem, hvad med kollision mellem bolden og et spiller kontrolleret objekt. Der kan jeg ikke regne kollisions tiden ud på forhånd da man ikke ved hvordan spiller objektet kommer til at bevaege sig.
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Goer jeg også, udregner boldens position til tide t. Men som sagt resultere dette i afstanden mellem de loebende posistioner bliver stoerrer med tiden t da bolden påvirkes af en tyngde acceleration. Problemet kan måske bedst illustreres med et ekspempel. Gulvets y-koordinat lögger måske på y = 300 Til tiden t=22 er boldens y-koordinat maaske 291 men til den naeste tid t=23 er den måske 308. Derved har bolden allerede begravet sig halvvejs igennem gulvet. Vaelger jeg at stoppe den til tiden t=22 vil bolden aldrig komme til at ramme gulvet.
Så er du nødt til at forudse, at bolden indenfor næste timeslice rammer gulvet og på forhånd regne ud præcist hvornår det sker, og så sætte bouncingen igang !-)
Yep, det var også hvad det endte op med. Added så endnu en funktion der ved kollision beregnede kollisions vinklen. Med denne vinkel og min. afstanden mellem de to objekter kan jeg så udregne det rigtige koordinat saet ved impact saa de ikke kommer til at over lappe hinanden. Eller sagt på en anden måde: 1) Udregner en ny position for objekterne 2) Kollision ? hvis ja, så tilpas positionen fra step 1 saa de ikke overlapper. 3) Tegn
Smid et svar for point. Skylder dig også lidt point fra et gammelt spoergsmål som jeg lukkede den anden dag.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.