Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 23.07.2005, 20:53 Titel: Kollisionsabfrage |
|
|
Also, auch wenn man jetzt so Funktionen hat, wie Linie-Linie, Dreieck-Linie, Dreieck-Dreieck und so, kann man damit ja net testen ob sich Objekte überschneiden. Nur muss man ja auch testen, wenn sich ein Objekt um 10 Einheiten bewegt ob es kein anderes übersprungen hat. Wenn man n Punkt mit ner Fläche prüfen will ist das ja easy, wird der Punkt halt zur Linie. Hat man jetzt aber stat Linie n Modell, wird das ja schon schwieriger, jednefalls mit der genauigkeit. Zum Beispiel, geht die lInie knapp an der Fläche vorbei, weiß man da ja net ob ne Kollision war oder net, wenn das Objekt n Modell war. Deshlab ist es wohl nicht die beste Idee die Mittelpunkte der Objekte (vorher, nacher) einfach durch ne Linie zu verbinden. Wie würde man solche Probleme lösen? _________________ https://jonathank.de/games/ |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 23.07.2005, 20:55 Titel: |
|
|
Ich verstehe Deine Frage nicht ganz? Geht es um das Picking, das Du etwas anklickst und nicht weißt ob es das nächstgelegene ist? Wenn das der Fall ist: Minimaldistanz errechnen _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
 |
GreveN JLI Master

Alter: 38 Anmeldedatum: 08.01.2004 Beiträge: 901 Wohnort: Sachsen - Dresden Medaillen: Keine
|
Verfasst am: 23.07.2005, 21:02 Titel: |
|
|
Ich glaub er will testen, ob Objekt A mit Objekt B kollidiert ist, wenn es sich von Punkt X nach Punkt Y bewegt hat. Oder so ähnlich irgendwie... |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 23.07.2005, 21:10 Titel: |
|
|
Ach so!!!!
Ja das ist recht einfach! Gibt mehrere Lösungswege!
Mein Fav ist mit Kugeln: Kugel A will 10 einheiten näher zu Kugel B, man weiß aber nicht ob sie kollidieren werden, was machen? Temporären Radius von Kugel A +10 Rechnen und Spherentest machen.
Ist das geschehen weiß man: Aha, es gibt also eine Spährenkollision, d.h. ich muss mehr ins detail gehen! Jetzt kann man eine OBB-Kollisionsroutine durchlaufenlassen, gibt die auch ein true zurück, wird der BSP-Baum (oder einen anderen Baum) des Objektes getestet wo man dann später den schnittpunkt bekommt.
Easy? Easy  _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
 |
Sören JLI Master Trainee

Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 23.07.2005, 21:40 Titel: |
|
|
@Jonathan
Wenn du Modell mit Modell oder Modell mit Linie testen willst(auf die Primitive genau), dann ist es am einfachsten wenn du einen geeigneten Algorythmus benutzt, wie Patrick es schon angesprochen hat. Nur mit einfachen Funktionen wie Dreieck-Linie allein, wirst kein Modell mit n-Primitiven behandeln können.  |
|
Nach oben |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 23.07.2005, 22:00 Titel: |
|
|
gut sagen wir mal man möchte ne rakete durch ne mauer im fenster fleigen lassen und das da genau testen. In einem Frame ist die Rakete noch davor im nächsten Frame hinter der mauer. Jetzt muss man die Modellpolygone testen, und gucken ob die Rakete durchs Fenster ist oder gegen die Mauer. Die Rakete hat aber selber ne bestimmte größe, also könnte sie auch so dicht am Rand vorbeifliegen, das sie trotzdem noch kollidiert. Wie würde man das jetzt testen?
[Edit] Ne lösung wäre sicherlich, alle Eckpunkte der rakete vor und nacher zu verbinden und das dann als Linien zu testen. Wäre aber sicher net das schnellste und immer noch nicht ganz 100% genau[/edit] _________________ https://jonathank.de/games/ |
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 23.07.2005, 22:25 Titel: |
|
|
also, skalarprodukt des Vektors(Eckpunkt der plane - raketen Position)und der Normale > 0, dann vor der mauer, sonst in oder hinter  |
|
Nach oben |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 23.07.2005, 23:30 Titel: |
|
|
das will ich ja gar nicht wissen. Ich uss ausrechenen ob durch oder dagegen. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
 |
DirectXer Dark JLI'ler

Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 23.07.2005, 23:50 Titel: |
|
|
wenn du weißt, ob er davor oder dahinter ist, und ob er auf die mauer zusteuert, dann kommt der Bounding-sphärentest, dann OBB, un so wie dir lieb ist |
|
Nach oben |
|
 |
|