HalliHallo,
arbeite jetzt seit ein paar Tagen mit Java3d. Aktuell versuche ich eine Animatoin der ViewingPlatform, also der Kamera hinzubekommen. So gesehen ein automatischen Kameraflug.
Die Kamera soll aktuell um einen bestimmten Vektor nach vorne verschieben und danach um genau diesen Punkt rotieren, als Animation natürlich.
Die Translation funktioniert soweit. Problem ist, dass der RotationsInterpolator diese Translation nicht übernimmt. Das Programm führt die Translation durch, springt danach aber sofort wieder zurück und startet den Interpolator mit den Standartparametern. Ich check einfach nicht, wie ich dem Interpolator die neuen Koordinaten übergeben soll. Hier die Methode:
Es muss doch möglich sein, vor der Interpolation ein Objekt bzw. die Kamera zu verschieben, oder?
Vielen Dank schonmal.
arbeite jetzt seit ein paar Tagen mit Java3d. Aktuell versuche ich eine Animatoin der ViewingPlatform, also der Kamera hinzubekommen. So gesehen ein automatischen Kameraflug.
Die Kamera soll aktuell um einen bestimmten Vektor nach vorne verschieben und danach um genau diesen Punkt rotieren, als Animation natürlich.
Die Translation funktioniert soweit. Problem ist, dass der RotationsInterpolator diese Translation nicht übernimmt. Das Programm führt die Translation durch, springt danach aber sofort wieder zurück und startet den Interpolator mit den Standartparametern. Ich check einfach nicht, wie ich dem Interpolator die neuen Koordinaten übergeben soll. Hier die Methode:
Java:
public BranchGroup setKameraFlug3 (){
BranchGroup branch = new BranchGroup();
TransformGroup ViewTG =u.getViewingPlatform().getViewPlatformTransform();
Transform3D ViewT3D=new Transform3D();
ViewTG.getTransform(ViewT3D);
ViewT3D.setTranslation(new Vector3f(0f,0f,-4f));
ViewTG.setTransform(ViewT3D);
Alpha wegSchlossAlpha =new Alpha (1,80000);
wegSchlossAlpha.setStartTime(System.currentTimeMillis());
RotationInterpolator drehungLinks = new RotationInterpolator(wegSchlossAlpha,ViewTG,
new Transform3D(),
(float)Math.toRadians(0),
(float) Math.toRadians(10));
drehungLinks.setSchedulingBounds(new BoundingSphere(new Point3d(), 1000));
branch.addChild(drehungLinks);
branch.compile();
return branch;
}
Es muss doch möglich sein, vor der Interpolation ein Objekt bzw. die Kamera zu verschieben, oder?
Vielen Dank schonmal.
Zuletzt bearbeitet von einem Moderator: