Ich habe den ganzen Abend gesucht, aber kann die Informationen nicht finden, die ich suche, oder auch wenn es möglich ist, was ziemlich peinlich ist;)Java3D: rotierendes Objekt in Weltkoordinaten?
Ich benutze Java3D und kann nicht herausfinden, wie um die Kamera im Weltall zu drehen.
Meine Links/Rechts- und Hoch/Runter-Drehung geschieht auf dem lokalen Platz. Das bedeutet, wenn ich nach links und rechts gehe, sieht alles gut aus. Aber wenn ich 90 Grad nach unten schaue, dann schaue 90 Grad nach rechts, alles scheint auf der Seite zu sein.
Momentan mache ich folgendes. Diese in den obigen Effekten führen:
TransformGroup cam = universe.getViewingPlatform().getViewPlatformTransform();
Transform3D trfcam = new Transform3D();
cam.getTransform(trfcam);
trfcam.mul(Camera.GetT3D()); //Gets a Transform3D containing how far to rotate left/right and how far to move left/right/forward/back
trfcam.mul(Camera.GetRot()); //Gets a t3d containing how far to rotate up/down
cam.setTransform(trfcam);
Alternativ ich eine Sache versucht, die Wurzel rotiert, aber das dreht sich um 0, also wenn ich jemals die Kamera bewegen, weg von 0 ist, geht es schlecht. Gibt es etwas im Internet, das mich darüber aufklärt, wie man so etwas erreichen kann? Ich habe viele verschiedene Dinge ausprobiert, aber ich kann mich überhaupt nicht damit abfinden. Ich bin vertraut mit dem Konzept, wie ich es in Ogre3D erreicht habe, nur nicht vertraut mit dem Gesetz des Landes in J3D.
Vielen Dank im Voraus für die Antworten :)