Aktuelle Zeit: 13.05.2025, 15:53

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: 3d Welt, 2d Bildschirm und die Maus
BeitragVerfasst: 06.02.2008, 18:17 
Offline

Registriert: 19.07.2007, 23:48
Beiträge: 4
Ich habe ein kleines Mathematisches Problem. Ich benutze den Irrlicht Wrapper für PureBasic. Der ist mitlerweile aber ziemlich umfangreich. Ich hoffe ihr könnt mir helfen.

Also ich bin dabei ein Strategiespiel zu programmieren. Wie man es so aus Strategiespielen kennt, kann man mit der Maus Objekte plazieren, auswählen usw.. Das Problem an der Sache ist nur, der Bildschirm an dem die Mauskoordinaten angegeben sind ist 2d, und die Welt 3d.

Man schaut in einem Winkel von 45° auf die Welt. Die Kamera befindet sich immer in gleicher Höhe, wie das Ziel von der Kamera auch entfernt ist.

Ich benötige einen Befehl oder eine Formel, der/die mir die 3d Positionen zu der jeweiligen Mausposition angibt.

Falls es so einen Befehl in der Irrlicht Engine gibt, könnt ihr mir den auch sagen. Vieleicht gibt es denselben Befehl ja auch im Irrlicht Wrapper.


Ich währe euch echt dankbar für eure Hilfe.

lg
Andreas


Nach oben
 Profil  
 
BeitragVerfasst: 06.02.2008, 20:08 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
viewtopic.php?f=3&t=293

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 06.02.2008, 21:47 
Offline

Registriert: 19.07.2007, 23:48
Beiträge: 4
Vielen, Vielen Dank.

In PureBasic sieht die Lösung so aus:

Code:
; Zunächst muss man Irrlicht eine Kollsion für das Terrain/Objekt erstellen lassen
  *Terrain_Kollision = IrrGetCollisionGroupFromTerrain(*Objekt_Terrain, 2)

;Anschließend wird im Hauptcode der Strahl abgefragt, der von der Mausposition auf der Kamera (Bildschirm) ausgeht
    IrrGetRayFromScreenCoordinates(*Mouse\x, *Mouse\y, *Kamera, @Strahl_Start,@Strahl_Ende)

;nun muss nur noch der Kollisionspunkt von Strahl und Terrain Berechnet werden
    IrrGetCollisionPoint(Strahl_Start, Strahl_Ende, *Terrain_Kollision, @Kollision)


Sollte jemand dasselbe Problem haben, kann er mir eine Nachricht senden und ich werde demjenigen helfen. Die Befehle sind NICHT in dem Handbuch von IrrlichtWrapper zu finden.

lg
Andreas


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