Hi Egon,
vielleicht kannst du mir helfen..
Auch andere dürfen natürlich helfen, wenn sie möchten..
Du hast mir im englischen Unterforum zu der Methode
reproject2d3d(x,y,z) geraten, leider funzt das nicht so wie ich dachte.
Ich hab meinen Denkfehler dort übrigens noch nicht so recht verstanden, ich war der Meinung, wenn ich
einen Richtungsvektor habe und den mit meiner Distanz multipliziere, dann müsste das, dasselbe sein wie eine translation des Objektes.
Und ich müsste die gleiche koordinate bekommen.. Wo ist mein Denkfehler?
Ich würds gerne verstehen... Sonst lern ich ja nix dabei..
Ich würde gerne die sichtbaren bereiche der Kamera ermitteln, damit ich:
A:
Gegner kurz außerhalb des sichtbaren bereichs erscheinen lassen kann.
B:
Verhindern kann das mein Spielerobjekt außerhalb des sichtbaren bereichs gerät.
Momentan fange ich das durch feste x und y Koordinaten ab, was aber aufgrund der perspektivischen Verzerrung blöd ist, da
die x koordinate natürlich je nach z koordinate anders liegen.
(Meine Objekte bewegen sich alle gleichermaßen auf y und z Achse. (translate(x,y,-y)))
Ich dachte ich kann das einfach ermitteln indem ich über die Bildschirm Koordinaten über die Methode reproject
die jeweiligen maximalen und minimalen Welt Koordinaten ermittle und diese beim Start besetze.
vereinfacht dargstellt:
// Ist klar das das nicht funktioniert, das soll auch nur mein Problem deutlich machen..:
//links oben = letzte sichtbare X koordinate oben
topX = reproject(0, 0, screenHeight);
//rechts unten = letzte sichtbare Y koordinate rechts
bottomY = reproject(screenWidth, screenHeight, 0);
Kannst du mir da helfen?
(bin relativ neu bei dem 3D Kram, ich versuche soviel zu lernen wie möglich und bin auch dabei mich in das thema einzulesen..
Aber jeder hat ja mal klein angefangen, daher hoffe ich, dass ich hier richtig bin und dich nicht nerve.)
Gruß und Danke.