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

Aktuelle Zeit: Fr Jul 18, 2025 08:57

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Abfrage
BeitragVerfasst: Do Jul 01, 2004 08:50 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
Hallo,

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?

MFG
Sven!

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 01, 2004 11:21 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
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 !


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 01, 2004 12:40 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
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?

Danke im vorraus.

MFG
Sven!

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 01, 2004 12:48 
Offline
DGL Member
Benutzeravatar

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.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jul 01, 2004 12:59 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
So wie es sich anhört sehr kompliziert :)

Schade. Mal gucken ob ich irgendwo doch noch ein Beispiel finde.
Nach was ich genau suchen kann, weis ich ja jetzt. Danke für die Antworten.

MFG
Sven!

_________________
irc.euirc.net _> #delphi-hilfe


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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 ]