ich habe folgendes vor. Mit der 3D Engine von Purebasic will ich ein Entity direkt vor der Kamera immer anzeigen. Durch bewegen der Maus (Rechts-Links und Rauf-Runter) wird die Kamera geschwenkt (rotiert), dabei soll das Entity immer an der gleichen Stelle vor der Kamera angezeigt werden. Das versuche ich über eine Kreisbahnberechnung zu lösen, hier der Code:
Code: Alles auswählen
cpradiusz = Player\pos\z - Player\cam\z ;=4000
cpradiusy = Player\pos\y - Player\cam\y ;=0
cpradiusx = Player\pos\x - Player\cam\x ;=0
; Player\camangle\x + y + z sind Winkelangaben 0-359 Grad; x = Rauf oder Runter, y = Links oder Rechts
RotateCamera(#Cam_Main, Player\camangle\x, Player\camangle\y, 0, #PB_Absolute)
Player\pos\x = CameraX(#Cam_Main) + (cpradiusz * Sin(Radian(Player\camangle\y)))
Player\pos\y = CameraY(#Cam_Main) + (cpradiusz * Sin(Radian(Player\camangle\x)))
player\pos\z = CameraZ(#Cam_Main) + (cpradiusz * Cos(Radian(Player\camangle\x)) * Cos(Radian(Player\camangle\y)))
Ich habe auch schon mit der Kameraposition und dem Richtungsvektor (CameraDirectionX()) rumprobiert, evtl. ließe sich das darüber lösen, aber ich habe bisher nur rumprobiert.
Danke schonmal für alle Hinweise.