So, nach langem hin und her hab ich es jetzt hinbekommen. Allerdings leider nicht mit den Befehlen die du vorgeschlagen hast, die haben leider nicht so funktioniert wie ich es wollte.
Der Fehler mit dem schrägen Offset wurde wohl dadurch erzeugt, dass die Kamera nicht auf den Mittelpunkt des Koordinatensystems, sondern auf:
cam.lookAt(ship.getTransformedCenter());
gerichtet war.
Jetzt habe ich das ganze so gelöst:
Bei der initialisierung setze ich die Kamera folgendermaßen:
cam.setPosition(0,50,0);
cam.setOrientation(new SimpleVector(0,-1f,0), new SimpleVector(0,0,1f));
Sie zeigt also in negative Y-Richtung auf die x, z Ebene, wobei positives z oben ist.
Bei einem Touch-Event richte ich das Schiff folgendermassen aus:
SimpleVector up = new SimpleVector(0,-1f,0);
direction.x = (event.getY()-(h/2));
direction.z = -(event.getX()-(w/2));
ship.setOrientation(direction,new SimpleVector(0,1f,0));
Also auf der x-z Ebene was die Richtung angeht, und die Oberseite des Modells zur Kamera hin gerichtet.