2011-05-01 24 views
4

我創建了一個Cylinder,並旋轉它使其位於側面。這工作正常。在嘗試動畫時丟失Java3D中的旋轉

但是,我現在試圖向它添加一些動畫。我用PositionInterpolar編碼動畫,它工作正常,並移動到右軸。

我的問題是,它似乎覆蓋Transform3D我用來旋轉擺在首位的氣缸,所以我的缸不是直立和移動端的方式。

任何想法?我需要以不同的方式旋轉對象嗎?

+1

如果這仍然是一個問題,你可以發佈一些關於_how_你正在做的轉換。重寫不應該發生。 Transform3d應該相乘。 – JCooper 2011-05-06 14:25:17

回答

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