ich wusste nicht genau hin damit, ich hoffe hier bin ich richtig.
Habe mir jetzt ne 3D Welt gemacht inerhalb eines Gebäude. Mit Treppen, Räume, Türen etc.
Wie kann ich jetzt eine Abfrage machen, dass ich nicht durch Wände gehen kann und Treppen hoch gehen kann usw. ?
Eine Array benutzen naja das wird nicht gut gehen. Gibts ne andere möglichkeit? Vielleicht irgendwie die Objekt höhe auslesen wo ich gerade bin oder sowas?
Also das was du willst nennt sich Collisionsdetection und es gibt mehrere verfahren um dieses zu realisieren, ich liste mal paar auf die mir bekannt sind:
- Per Plane (schnell)
- Per Bounding Box/Sphere (schnell)
- Direkt per Polygon zu Polygon (sehr langsam)
ich würde aber mal an deiner stelle die suchfunktion des forums verwenden, es wurde schon sehr oft dieses thema diskutiert !
Finde leider nichts, was mir weiter hilft!
Habe zwar etwas Code gefunden aber naja...
Gibt es nirgendswo ein Beispiel? Habe auch zwar Links gefunden zu Beispiele die damals gepostet wurden, aber die sind schon alle wieder Off. Diese Bounding Box was ist das genau (glBoundingBox) oder sowas? Was ist den das einfachste von den? Hat jemand vielleicht ein Beispiel?
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Was für dich die brauchbarste Methode ist hängt sehr stark von deiner Anwendung ab. Wenn du wie du sagst eine Treppe hast und diese korrekt (also Stufe für Stufe) hinaufsteigen willst, diese Treppe aber ein einzelner Mesh ist, dann wird dir eine Bounding-Box für eine korrekte Kollision nicht ausreichen. In diesem Falle musst du dann Bounding-Boxen mit Ray-Triangle-Intersektionen nutzen. Du prüfst also zuerst ob der Betrachter mit der Bounding-Box eines Objektes (also quasi der vereinfachten geometrischen Entsprechung) kollidiert, und wenn ja, dann prüfst du über Strahl-Dreiecks-Intersektion gegen jedes Dreieck dieses Meshes (könnte man natürlich auch noch optimieren in dem man den Mesh mit meheren BBs unterteilt) ob und wo der Betrachter kollidiert und schon hast du eine recht brauchbare Kollisionsabfrage.
Mitglieder in diesem Forum: 0 Mitglieder und 7 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.