Aktuelle Zeit: 29.03.2024, 12:02

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: SceneNode durch Mausklick auswählen
BeitragVerfasst: 27.07.2008, 12:04 
Offline

Registriert: 24.05.2008, 13:41
Beiträge: 151
Wohnort: Marienhafe
Hi ich hab mal wieder ein Problem, welches ich einfach nicht hinbekomm. Also ich möchte ein SceneNode durch klick auswählen können. Zum Beispiel hier im Bild:
Bild

Das Rote ist die SceneNode, welche ich auswählen möchte. (Davon gibt’s natürlich mehrere^^)
Mit anderen Worten, wenn ich auf diesen klicke, möchte ich, dass ich irgentwie abfragen kann, auf welchen Objekt ich da geklickt habe.
Bisher hab ichs einfach damit gelöst, das ich die 3D Koordinaten des Meshes genommen hab (diese umgewandelt) und diese mit der Mauskoordinate verglichen habe – Das Problem dabei ist, das es ziemlich ungenau ist…


Nach oben
 Profil  
 
BeitragVerfasst: 27.07.2008, 17:56 
Offline
Benutzeravatar

Registriert: 17.02.2008, 14:08
Beiträge: 125
Du musst für jede SceneNode einen TriangleSelector erstellen (siehe CollisionsSample) und dann musste bei jedem Mausklick getRayFromScreenCoordinates aufrufen. Anschließend musste nur noch die line3d die zurückgegeben wird mit jeder SceneNode abgleichen, bzw mit deren TriangleSelector. Das geht via getCollisionPoint(line3d,triangleselector,triangle3d,vector3df intersection) (auch hier siehe CollisionsSample)
Liegt überhaupt eine Kollision vor gibt die Funktion true zurück. Dann ist das triangle welches du übergibst ist dann das Triangle des Meshes durch welches die line3d geht und intersection der genaue Kollisionspunkt.

Übrigens die beiden Funktionen werden über den CollisionsManager aufgerufen: DeinSceneManager->getCollisionManager()


MfG
FTC

_________________
Cold-Death
Magnon


Nach oben
 Profil  
 
BeitragVerfasst: 27.07.2008, 20:18 
Offline

Registriert: 24.05.2008, 13:41
Beiträge: 151
Wohnort: Marienhafe
Ah ja okay das hab ich schon gesehn wusste aber nicht das man jedem Scenenode nen TriangleSelector hinzufügen muss - danke, ich schreib wenn ichs geschafft hab^^


Jaahaaaa ich habs geschafft, vielen dank :)


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


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:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de