libgdx将3D世界坐标转换为2D屏幕坐标

时间:2013-09-16 08:31:20

标签: matrix 3d libgdx

我想从3D对象的3D世界坐标中获取2D屏幕坐标。

假设一个3d对象有一个matrix4,定义了它的质心变换。我有一个名为camera.combined的matrix4与libgdx相机有关。

现在,我想在屏幕上绘制一个图像,其坐标将与质心坐标相同,但在2D屏幕世界中...

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

要获取模型的2D屏幕坐标(或任何3D位置),请在渲染循环中执行以下操作:-

Vector3 tmp = new Vector3();
model_instance.transform.getTranslation(tmp);
camera.project(tmp);
// 'tmp' now stores the screen coords, so you can use it as follows (for example):-
font.draw(batch2d, "My text", tmp.x, tmp.y);