Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 09, 2025 11:45

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di Sep 04, 2007 19:13 
Offline
DGL Member

Registriert: Mi Mär 28, 2007 17:45
Beiträge: 131
Hi,

sagt mir, wenn ich euch mit meiner Fragerei auf den Wecker gehe, aber ihr habt mir bisher so schön geholfen. Also, langsam versuche ich, mich in den Bereich Kollision einzuarbeiten. Dabei scheint mir die Erkennung meistens schwieriger zu sein als die Verarbeitung. Mir schwebt etwa ein dreiteiliges Verfahren vor:

1. Eingrenzen der Objekte, die überhaupt aufgrund der Position in Frage kommen.
2. Wenn welche in Frage kommen, Test mit bounding volumes auf gefährliche Nähe.
3. Wenn das bounding volume angeritzt wird, Test, ob und welches Polygon eine Kollision verursacht.
- Anschließend ggfs. Verarbeitung.

Frage 1: Zunächst interessiert mich nur der 1. Schritt. Man könnte hingehen und das Gelände in Zonen aufteilen; damit würde man eine Begrenzung erreichen. Man könnte aber auch hingehen und eine Kollisionsmap anlegen, so eine Art Mesh für Objekte, die im Wege stehen können. Wäre sicher ziemlich schnell, aber aufwendig. Beides ist auch nicht besonders intelligent. Gibt es da noch bessere Verfahren? Notwendig ist das Eingrenzen auf jeden Fall, da mein geplantes Projekt mit mehreren tausend Objekten arbeiten wird.

Frage 2: Wenn ich schon mal dabei bin. Was ist eigentlich, wenn sich die Kugel oder sonstwas mit hoher Geschwindigkeit bewegt und den Gegenstand durchfliegt, weil die Kollision zwischen zwei Rendertakten liegt? Gibt es dagegen Rezepte?

erin


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Sep 04, 2007 19:17 
Offline
DGL Member

Registriert: Mi Mär 28, 2007 17:45
Beiträge: 131
Sorry, der Beitrag ist mir gleich zweimal reingerutscht. Vielleicht ist ein Moderator so nett und löscht einen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Sep 05, 2007 07:49 
Offline
Fels i.d. Brandung
Benutzeravatar

Registriert: Sa Mai 04, 2002 19:48
Beiträge: 3830
Wohnort: Tespe (nahe Hamburg)
@1: Ich denke am bequemsten ist es, wenn man mit bounding Spheres arbeitet, da es sich sehr leicht prüfen läßt, ob zwei Kugeln sich getroffen haben. Diese Sphere kann je nach Lösung recht großzügig angelegt sein und dient ausschließlich um zu prüfen, ob eine Kollision theoretisch zu Stande kommen könnte. Je nach gewünschter Komplexität könnte nun eine genaue Prüfung mittels verschiedener Boundings berechnet werden (Spheres, Boxes reichen meist aus), um festzustellen, ob tatsächlich eine Kollision stattgefunden hat. Ist auch dies der Fall kann man übergehen und zu einer genauen Prüfung vorzugehen an welchem Primitive eine Kollision eingetreten ist. In den meisten Fällen ist eine solch genaue Prüfung jedoch gar nicht nötig und man kann mittels der Boundings im zweiten Schritt bereits verschiedene Trefferzonen definieren. Auf diese Weise läßt sich recht einfach eine Kollision überprüfen. Eine Einteilung der Karte in Zonen mag vermutlich eher im Bereich einer KI interessant sein für eine Kollisionsprüfung halte ich es eindeutig zu übergewichtet.

@2: Bin nur auf dem Sprung, aber suche mal bei Google nach lighthouse 3d und collision und Du solltest dort einen Artikel finden, der sich genau dieser Problematik annimmt.

_________________
"Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 16 Queries | GZIP : On ]