1

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

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

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

任何帮助将不胜感激

4

1 回答 1

1

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

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);
于 2020-02-26T10:59:15.400 回答