如何在libGDX中正确应用ModelInstance的转换?

时间:2014-08-26 14:08:37

标签: java android opengl-es 3d libgdx

我正在编写我的第一个3D libGDX游戏,我坚持以下场景: 我有一个从g3db文件加载的场景。我试图转换的ModelInstance由一个单独的类控制。在move()方法中,我目前正在尝试围绕自己的Y坐标旋转ModelInstance。代码如下:

Vector3 position = model.calculateBoundingBox(new BoundingBox()).getCenter();
    model.transform.translate(-position.x, 0f, -position.z);
    model.transform.rotate(Vector3.Y, (float) (Math.toDegrees(Math.acos(adjacent/hypotenuse))));
    model.transform.translate(position.x, 0f, position.z);
    model.calculateTransforms();

仅供参考,adjacenthypotenuse用于查找屏幕Y中心与屏幕中心与触摸点之间的线之间角度的余弦。

我要对此代码执行的操作是将modelModelInstance)转换为坐标系的中心,将其围绕世界的Y旋转并将其转换回原来的位置。相反,model围绕世界的Y旋转,原始偏离中心。如何正确应用所需的转换?

0 个答案:

没有答案