将3D旋转和平移应用到对象后,J3D闪烁

时间:2014-05-02 10:36:31

标签: java 3d flicker java-3d

我正在使用连接到物理设备的3D应用程序。 3D再现应该与现实世界中设备的旋转和位置相匹配。

说到它的位置,没关系。我在申请轮换时遇到问题。

我在设备上使用陀螺仪,我在~20FPS更新场景。

以下是更新的代码:

    public void updateRotation(int[] rollAngles){

    if(rollAngles.length>0){

        Transform3D newRotX = new Transform3D();
        newRotX.rotX(Math.toRadians(rollAngles[0]));

        Transform3D newRotY = new Transform3D();
        newRotY.rotY(Math.toRadians(rollAngles[1]));

        Transform3D newRotZ = new Transform3D();
        newRotZ.rotZ(Math.toRadians(rollAngles[2]));

        Transform3D transVec = new Transform3D();
        transVec.setTranslation(new Vector3f(curr_x,curr_y,0.0f));

        newRotX.mul(newRotY);
        newRotX.mul(newRotZ);
        newRotX.mul(transVec);


        sphereGroup.setTransform(newRotX);
    }
}

对象会在屏幕上跳跃:首先是在某个“随机”位置,然后是实际的X,Y,Z坐标。

对此有什么想法吗?

P.S。此外,有时3D场景完全消失,我必须单击并拖动它才能再次看到它。这是一个常见的问题吗?我该如何解决?

0 个答案:

没有答案