Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

15.06.2009, 21:52

BoundingBox - Line Kollision

Hi Spieleprogrammierer! Ich versuche gerade ein paar weitere Kollisions Methoden in mein Framework ein zu bauen. Momentan ist mir eine Box mit Linien Kollision sehr wichtig. Dabei möchte ich die Box nicht als leeres Gerüst behandeln sondern als einen gefüllten Körper. Wenn beispielsweise die Linie innerhalb der Box liegt, und nicht außerhalb der Box kommt, soll trotzdem eine Kollision stattfinden, da die Box ja als körper angesehen wird und nicht als leeres Gerüst. Leider weiß ich noch nicht so wirklich wie ich das machen soll, ein kleiner Denkanstoß würde mir sehr weiter helfen. Wenn man auch den Kollisionspunkt bestimmen kann wäre es sehr nett, ist jedoch nicht zwingend nötig.

2

15.06.2009, 21:56

2D oder 3D?
Die Linie könnte man auf alle Fälle als Strahl ansehen, dessen Start bei 0 und Ende bei 1 liegt.
Dann kann man gucken, wo die die Ebenen der Box schneidet, und gucken ob der Schnittpunkt tatsächlich in der Box ist (nicht das die Ebene außerhalb der Box geschnitten wird).
Für "in der box" könnte man ja gucken ob Start oder Endpunkt innerhalb der Box liegt ("unterhalb" aller die box begrenzenden Ebenen).

Das würde auf jeden Fall so gehen, ob es das effizienteste ist, weiß ich grade nicht.
Lieber dumm fragen, als dumm bleiben!

3

15.06.2009, 22:44

Naja das sollte schon möglichst schnell gehen, da das Spiel welches ich Plane fast nur aus Line - BoundingBox Kollisionen besteht.

4

15.06.2009, 23:08

Naja, da benutzt man dann ja eh noch andere Optimierungen, z.B. Quadtrees oder so. Man kann auch erst mit Boundingspheres rechnen, der Test ist so ziemlich der simpelste, und wenn man damit 5 Boxen von vornherein ausschließen kann, hat man den einen zusätzlichen Sphere/Sphere Test für die Box die man wirklich trifft, sehr schnell wieder raus.
Lieber dumm fragen, als dumm bleiben!

Werbeanzeige