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

  • »Johannes Schneider« ist der Autor dieses Themas

Beiträge: 103

Beruf: Chemiestudent

  • Private Nachricht senden

1

19.01.2010, 15:01

Wie funktioniert Kollisionserkennung ?

Hallo, ich bin es wider.

Ich habe soweit alles Verstanden.. Renderpipeline... Sound... Netzwerk.
Was mir aber immer noch zu knabbern gibt ist die Kollisionserkennung.

Wie erkenne ich, ob sich ein vollkommen unsymetrisches, abstraktes Gebildemit einer runden Kugel schneidet ???

__
Johannes
"Das Glück des Forschers besteht nicht darin, die Wahrheit zu besitzen, sondern eine Wahrheit zu erringen. Und in diesem fortschreitendem, erfolgreichen Suchen nach der Wahrheit - darin liegt die
eigentliche Befriedigung." Max Planck

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

2

19.01.2010, 15:16

bei einer kugel ist das recht einfach. du bestimmst die enfernung jedes vertex des unsymetrischen objekts zum kugelmittelpunkt und fertig.(vorher solltest du überprüfen ob der vertex sich innerhalb des würfels der die kugel umschließt befindet)
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

K-Bal

Alter Hase

Beiträge: 703

Wohnort: Aachen

Beruf: Student (Elektrotechnik, Technische Informatik)

  • Private Nachricht senden

3

19.01.2010, 16:12

Zitat von »"NachoMan"«

bei einer kugel ist das recht einfach. du bestimmst die enfernung jedes vertex des unsymetrischen objekts zum kugelmittelpunkt und fertig.(vorher solltest du überprüfen ob der vertex sich innerhalb des würfels der die kugel umschließt befindet)


Du musst aber auch die Edges und Faces deines Gebildes beachten. Ein Face kann sich ja mit der Kugel schneiden, ohne dass einer der Vertices in der Kugel liegt.

4

19.01.2010, 16:30

So etwas tut man normalerweise nicht. Man abstrahiert die Objekte und benutzt simplere Formen und die Geometrie nachzubilden.

Dann gibt es so ein paar Standardtest zwischen Kugel, Dreiecke, Linien, und Punkten. Und man kann es sich sparen, alle Teile eines Objektes zu testen, indem man z.B. Octrees benutzt.

Ein sehr weites Gebiet, am besten stellst du eine konkrete Frage.
Lieber dumm fragen, als dumm bleiben!

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

5

19.01.2010, 21:05

Zitat von »"K-Bal"«

Zitat von »"NachoMan"«

bei einer kugel ist das recht einfach. du bestimmst die enfernung jedes vertex des unsymetrischen objekts zum kugelmittelpunkt und fertig.(vorher solltest du überprüfen ob der vertex sich innerhalb des würfels der die kugel umschließt befindet)


Du musst aber auch die Edges und Faces deines Gebildes beachten. Ein Face kann sich ja mit der Kugel schneiden, ohne dass einer der Vertices in der Kugel liegt.


stimmt daran hab ich gar nicht gedacht >.<

in egoshootern gibt es sogenannte hitboxen. man schießt also nicht auf die vertices oder texturen sondern auf kugeln und viel einfachere dreiecke, als die die angezeigt werden.
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

BlazeX

Alter Hase

Beiträge: 478

Wohnort: DD

Beruf: Maschinenbau-Student

  • Private Nachricht senden

6

19.01.2010, 23:00

Empfehlenswert ist hier auch die Benutzung einer Physik-Engine wie PhysX, Havok, Bullet, ...
Das erspart gaaaaanz viel Arbeit, weil die Mathematik (Pysik wird dann für richtiges Wirkung der Kollision notwendig) einem schon nach kurzer Zeit zum Hals raus hängt!

Werbeanzeige