4

を作成しCylinder、回転させて横向きにしました。これはうまくいきます。

しかし、私は今、いくつかのアニメーションを追加しようとしています。でアニメーションをコーディングしましたがPositionInterpolar、正常に動作し、右の軸を横切って移動します。

私が抱えている問題は、最初にシリンダーを回転させていたものを上書きしているように見えるためTransform3Dシリンダーが直立せず、横に動いていないことです。

何か案は?オブジェクトを別の方法で回転させる必要がありますか?

4

1 に答える 1

2

おそらくこれは、Java3D が回転ごとに異なる Transform3D オブジェクトを使用することを好む単純な例である可能性があります。たとえば、次のようになります。

public class Static3DWorld extends JFrame {
    private Transform3D rotate1 = new Transform3D();
    private Transform3D rotate2 = new Transform3D();
    ....
    private Transform3D rotateCube() {
      rotate1.rotX(Math.PI / 4.0d);
      rotate2.rotY(Math.PI / 4.0d);
      rotate1.mul(rotate2);
      return rotate1;
    }
    ....
}

これはあなたのローテーションなどをどのように行っていますか...?ここでチュートリアルを見ることができます: http://www.java-tips.org/other-api-tips/java3d/introduction-to-java3d-api-5.html

于 2011-05-20T14:48:37.127 に答える