libgdx如何在3D透视图中绘制文本?

时间:2019-10-24 10:53:57

标签: java libgdx

我想在guiCam(不受任何旋转或变换影响的第二台摄像机)中呈现固定文本以进行调试。

我认为正在渲染的文本无论从大到小都可以在这里看到,但是我似乎在libgdx官方文档中找不到如何绘制文本以及如何操作大小。

创建:

guiCam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
        guiCam.position.set(1f, 1f, 20f);
        guiCam.lookAt(0, 0, 0);
        guiCam.near = 1f;
        guiCam.far = 300f;
        guiCam.update();

batch = new SpriteBatch();
        batch.setProjectionMatrix(guiCam.combined);

        font = new BitmapFont();
        font.setColor(Color.RED);

渲染:

font.draw(batch, "debug line here", 200, 200);

有人可以向我解释libgdx默认字体是如何绘制的,或者是否可以在这里使用更好的字体显示固定文本?

我已经尝试过使用OrthoGraphic相机代替以前的相机,但是由于我的主要应用是3D,因此OrthoGraphic相机不起作用。

1 个答案:

答案 0 :(得分:1)

Found this for you on stackexchange.

lookx2给出的答案:

您可以直接使用另一个SpriteBatch,而无需设置投影矩阵来绘制HUD,

camera.update();
spriteBatch.setProjectionMatrix(camera.combined);
spriteBatch.begin();
aButton.draw(spriteBatch, 1F);
playerShip.draw(spriteBatch, 1F);
spriteBatch.end();

hudBatch.begin();
//Draw using hudBatch
hudBatch.end();

如果您想在屏幕上呈现文本,则可以通过绘制到HUD来实现。